#udon-general

59 messages ยท Page 30 of 1

upbeat rose
upbeat rose
scarlet lake
inner tundra
#

Having trouble with my scrolling text scrolling when a player is looking at it and pressing w or s, I tried disabling everything related to it (navigation set to "None", Direction is set to "Bottom To Top). Any hints on that? I've got it working with cursor/controller using the VRC Ui Shape script.

#

@scarlet lake There's a box collider component in one of the objects in your chair, usually a child object of the chair model itself. You can resize that to give the outline a different shape, or make a duplicate of your chair, make it a mesh collider wiithout a render and child that instead. It looks like your object tree is placed physically offset from the chair model itself. There should be a sit point where the avatar ends up sitting as well, mind screenshotting your inspector window on that object?

#

Pretty sure "Seat" in this example is the object that decides where the player will sit (x, y, z), but I'm not familiar with the udon version of the chair (SDK 3) so it might be calculating where you land on it when you sit or something.

scarlet lake
#

@inner tundra My seat didn't had collisions, that was the problem. Thank you so much.

steel nova
#

@cunning mist this is what happens when AVPro loads, otherwise works fine if data exists already

#

tried updating/reimporting sdk

steel nova
#

what version of the SDK are you using?

#

i used the exact code you provided and it wasn't working with the stream

rotund lion
#

Trying to make a system where any prop in the map can be put in a "recycle bin" and delete the prop, any tips or ideas would be VERY appreciated as I'm still trying to figure out udon. I kinda slapped it together with the little knowledge I remember from tutorials. ๐Ÿ˜…

rough beacon
#

never mind

severe tree
#

@rotund lion you wouldn't want to just disable the gameobject, there's a function I believe off of UnityObject called destroy where you can pass in the game object that would actually destroy it instead of just disabling it.

rotund lion
#

Thanks!

inner tundra
#

To automatically highlight your sprite in the Assets/Project view, click on the main texture preview in the inspector view under your particle effects game object:

dark blade
#

If you make a script for unity do you still have to have the udon for it to read the script

rough beacon
#

ok. let see if anyone got brain power on this. i want to make a button. when click on. it send URL to a video player pro. that video player will start playing the URL. can you help me. not looking for array system. just 1 button that hold URL for input to video. will do array if that happen to be way to make this. don't leave me in the dark on how to build this. can someone help me on that?

fiery yoke
#

Make a public variable of type VRCUrl. Make a public variable of type BaseVideoPlayer. Use the node PlayURL and input both variables. Tada.

rough beacon
#

1 more. where is this node PlayURL at?

fiery yoke
#

BaseVideoPlayer probably

#

not sure

rough beacon
#

ok. thank you

#

BaseVideoPlayer probably
@fiery yoke Your now my god ๐Ÿ™‚ thank you!

hoary echo
#

And I'm back, couple more udon/optimization questions, read through some documentation and guides but didn't find anything to address this. I have 2 issues I need to resolve in my world, in different areas. In area 1 performance tanks as soon as a 2nd person joins, but doesn't degrade further as more people join. In area 2, the instance master performance tanks to single digit FPS, everyone else is 100% ok.

I know I've read some info on optimizing issues like this, but I can't find them now (of course). Any tips would be 10/10!

I should mention as well that everything runs smooth as butter while solo, and all of my udon scripts are run on interact/collision enter, nothing is running on update or any other ongoing method.

grizzled trout
#

might be the wrong channel but , i was trying to learn how to set up telaporters and i cant seem to find anything for begenners on udon , everthing seemse to be for someone who kinda knows what they are doing, and i relly dont want to have to make a sdk 2 porject just top do what i am trying to

hoary echo
#

@grizzled trout I've got teleporters working, once I get home I can take SS of my graphs and other setups

grizzled trout
#

@hoary echo COOL thanks so much!

#

i might need more then just ss but i am gretfull for whatever help i can get

stable bridge
#

Hello, I don't seem to have U# script as an option in the create menu. Can anyone help?

fiery yoke
#

Are you sure you have UdonSharp installed then? UdonSharp is a third-party compiler created by community member Merlin. You can download it on their GitHub page

stable bridge
#

Ah, I definitely havent installed UdonSharp. I thought it came with the new vrchat SDK

#

thank you

fiery yoke
#

No its not by VRChat so it does not come with the SDK.

#

However I think there is plans to make it easier to get and manage curated
community packages in the future.

stable bridge
#

That also explains why QVPens was throwing errors about missing UdonSharp references when I tried to add themt o my world

grizzled trout
#

where do i get UdonSharp ?

fiery yoke
#

GIYF

grizzled trout
#

ok

rough beacon
#

UdonSharp always break my server. i try not use that

fiery yoke
#

UdonSharp is a compiler that runs in Unity and compiles C# code into Udon Assembly Code when possible. It has nothing to do with the VRChat Client or whatever you mean with "your server"

hoary echo
#

@grizzled trout I'm still learning Udon as well, so I can pretty much guarantee someone else will have a better way to do this, but...
Simple on interact teleport:

#

Gameobject for the collision based one needs to be set to the PlayerLocal

grizzled trout
#

@hoary echo i will try my best to recreate what you are showing me . thanks

tawdry surge
#

I don't think rank detection would matter.

fiery yoke
#

Its a meme

tawdry surge
#

I was just aiming for say, not having big nameplates blocking some of your screen.

#

So the world makes you disable it.

fiery yoke
#

Making a rank-detector is kind of a joke, because some people put a lot of worth in it

#

Not sure if you could actually detect if someone has nameplates off or not with that system. I might investigate that more when I got time.

#

Or someone else does

tawdry surge
#

Yeah, I haven't messed with udon enough yet to have something to use that for right now anyway.

hoary echo
#

Could anyone give me a hand in fixing up a script so it syncs between all players? It's a simple door open/close script using Animator Set Bool

#

I've looked at the examples included with Udon, but I'm not really sure how to apply those to this

fiery yoke
#

For doors that work with player collisions you actually have most of the syncing part taken care of by the player positions being synced. Simply count how many players have entered (+1) and exited (-1). Door is open when > 0 and closed when == 0

hoary echo
#

Good to know, these ones right now are on interact

fiery yoke
#

Assuming it toggles the door then it gets tricky when you want them to also be in sync with late joiners.

hoary echo
#

I thought about that, but, I think I'm willing to cut my losses on that, so long as it syncs with players in the instance at the time I'll be happy

fiery yoke
#

Well "tricky" is relative.

#

For doors you can simply use a synced boolean. Then when someone interacts you send a network message to the current owner of the door udonbehaviour that will toggle the boolean. The doors state is then dependant on that boolean. But you have to check it in OnDeserialization.

#

The other simpler alternative is just sending a network event to all that will then locally toggle the door. But again that will get out of sync quickly.

hoary echo
#

Good to know, that gives me some things to look at. Thanks!
One other question, I'm having some performance issues, but only online when multiple people are in the world, any idea on where to even start to diagnose that?

dark blade
#

Wait so if i get udonsharp i should be fine then with the pen errors

fiery yoke
#

Well the creator should have bundled it in a way that you dont require UdonSharp, but as long as its just complaining about you not having it installed possibly yes.

#

If there are other errors not related to UdonSharp itself then no.

hoary echo
#

Ok, I'm making progress, door open/close is sync'd and seems to be working well, but right now only the owner seems to be able to interact

fiery yoke
#

You have to send a network event to the owner as I said before.

hoary echo
#

Also, I think I found my performance issue... Back in the early days of building this map (Circa a month ago), I literally checked 'sync' on literally everything

fiery yoke
#

You basically have to ask the owner to open/close the door for you

hoary echo
#

Since I'm not using a custom event, just the built-in Interact, I threw in just 'Interact' in the eventName field

fiery yoke
#

A custom event is just like Interact. Except its called by you and not by doing something.

hoary echo
#

Ah, good to know

fiery yoke
#

Replace the Interact with a custom event and name it something like "ToggleDoor". Then after the Interact you put a SendCustomNetworkEvent node and set the Target to Owner and the event to "ToggleDoor"

hoary echo
#

Fantastic, thank you so much

fiery yoke
#

You could also do something fancy like an owner check before that so you dont have to send a custom network event if youre the owner, but maybe VRChat is intelligent enough to do that internally. Maybe not tho who knows

hoary echo
#

Almost got it, just a bit of tweaking left. I'm noticing it takes about 2 seconds to sync, is that about typical?

#

Ah, I see, when owner uses the door, it's quicker, maybe half a second to a second, but if the non-owner uses it, it takes longer

fiery yoke
#

Yeah it has to go from them, to the owner, then from the owner, back to them.

#

So its 2 trips vs 1

hoary echo
#

Makes sense

#

But, it works, that's all I care about, haha. Thanks!

#

Oh, easy, I just set it to set owner on interact, now it's basically instant for everyone

upbeat rose
fiery yoke
#

No. In UdonSharp they get converted to if-else

#

The performance improvement in normal C# is usually very dependant on the situation theyre used in. However in Udon they might actually help a lot, because externs are quite expensive in themselves. Just a gut feeling tho, no idea if they would actually help.

cunning mist
#

I mean, you can by all means use them, I sure do. It's like ForEach becoming a For loop. Fine on our side.

rough beacon
#

how you custom size with a button click. like let say i got button that make screen size smaller, or bigger

#

etc

#

don't need to by global or anything like that

distant abyss
#

Does anyone know how to have movies in a world?

#

@rough beacon I would just make a toggle that turns on a bigger screen and turns off the current screen

#

but there's probably better ways

rough beacon
#

i want use same screen. i know there a way to edit size. i don't want make 2 or more screen

upbeat rose
#

btw for those people who work with Udon a lot do you guys plan all the systems out before hand on paper or just start writing code to get a basic thing working and then build on top of that?

rough beacon
#

btw for those people who work with Udon a lot do you guys plan all the systems out before hand on paper or just start writing code to get a basic thing working and then build on top of that?
@upbeat rose i do have a world i am working on you can go look. it give you some idea how build stuff ๐Ÿ™‚ it still in lab if that ok with you

upbeat rose
#

Sure @rough beacon how would I find that? I could friend + call you on discord and the join you if thats cool

scarlet lake
#

So if I put in the effort in world making and such

rough beacon
#

i just pm you world.

scarlet lake
#

Could I potentially make an entire zombies map

upbeat rose
#

Cool @rough beacon :D

rough beacon
#

your welcome ๐Ÿ™‚

ivory panther
#

ETA for animation sync implementation through udon?

#

Or did i miss it being implemented?

edgy ingot
#

don't tick the community labs

#

that's it

#

what's the way to send a networked event so it affects everyone, and how do I get display names in U#?
oh and how to set parameter on an animator

grizzled trout
#

can someone help me? i am trying to make a telaporter in the sdk 3 world build and somone sent me this but i cant find nodes i need

#

it almost feels like i am missing a add on or somthing

rough beacon
#

i can help you. 1min

#

you need trigger set up. drag your udon into the button box or toggle box. make sure you set send custom event. link your obj to tp too.

edgy ingot
#

@grizzled trout the 4 categories are "Transform" "GameObject" "Networking"<-not exact but there's like 1 option and "VRCPlayerAPI"

rough beacon
#

this is other way. i think you need to make sure you set up almost same way

grizzled trout
#

that gave me a headache to try and understand and tiger. but i think i got it

rough beacon
#

your welcome. ya. my grammar and spelling is not great.

grizzled trout
#

i think i need to just learn from scratch

rough beacon
#

ya. it hard to learn udon. but you will get it. just keep trying...

grizzled trout
#

thanks

grizzled trout
#

i just had a huge face plam, i had things kinda backwords

rough beacon
#

lol. done that before ๐Ÿ™‚

grizzled trout
#

so i remade this but nothing happens when i activat the button. i kinda think i know why but idk

#

why cant things be easyer? "if button gets pressed send player that pressed to x,y,z," thats all i want

hoary echo
#

Did you assign the teleport target to the Object variable?

grizzled trout
#

i thought i did but i am pretty new and the only vids i could find seemeed to teach alot of things that are not needed for what i am trying to do

hoary echo
grizzled trout
#

wait if you have that be the target how do you activat it?

#

sorry i am kinda dumb

hoary echo
#

The target is just where you teleport to

#

The OnInteract is what makes the object interactable

grizzled trout
#

OOh i think i get it

hoary echo
#

Make sure you set the variable public

grizzled trout
hoary echo
#

Huh

#

No idea, haha, I haven't seen that before

grizzled trout
#

maybe you could dm me a vary simple porject world ? normaly i would not sugest that, but i dont relly know what else i can sagest

grizzled trout
#

i dont know how i fixed it but i did

#

@hoary echo i fixed it, i think i used the wrong object or somthing befor

untold roost
#

does any one know sdk3 udonsyncplayer? I had the player working but then i did some tweaks and now it wont work, i tried changing the screen from whit to black, i had sound but then no video, so i tried changing it back to whit but wasnt sure how. i evntually found the video what screen that is supposed to be there i think but now it wont play at anything sound or video and i don't know how to fix it. I tried completely replacing it but its is being a butt is there anyway to rest it or anything?

dark tiger
#

@grizzled trout, use a GameObject variable instead of Object

grizzled trout
#

thats how i fixed it

dark tiger
#

why cant things be easyer? "if button gets pressed send player that pressed to x,y,z," thats all i want
And if you have the xyz coordinates you can also write them in, instead of using an object as a reference

#

It will default the rotation though. For that, you should better use an object as you were doing, or convert the angles to quaternion

grizzled trout
#

OOh cool thanks !

hidden jewel
#

Hiii! Just started playing a few min ago. How can I customize my avatar?

#

Would appreciate it lmao

grizzled trout
exotic leaf
#

okay so i have a "quick" question... i have a udon script that i tryed shortening because it seems reasonable to assume that it would work... but it doesnt...
ill explain more what the script is meant to do:

there are 2 balls... you pick up one or the other and they will move at a set distance apart at all times...
all the script does is set the transform with the offset to the other ball... there is the oposite also happening so if you go the the other all a multiplyer invers your actions to that it works in reveres... both balls act the same reguardles of what you pick up and how you move it...

theres the issue.
The following code works... it does exactly what i want it to

#

the main diffrence being that instead of having the other 5 nodes at the nottom im just using the exact same nodes going to the exact same place

#

am i missing something or am i just stupid? XD

#

(note: yes the onmousedrag isnt on the bottom one can only have one in the grpah so i currently have it at the working one i do move it over when testing the not working one)

stone sigil
#

how to use track player list with user id ?

exotic leaf
#

After ALOT of testing with signs to display number i found removing these to lines allows the second half of the script to wrok adding them back in brakes the script there is no way around it other thanmy much larger script

mighty fjord
#

Oh, if you want to make it a bit smaller you could replace those GameObject variables with Transform variables instead, and the "This" node isnt necessary I believe, as Game Object Get Transform should default to itself. Just some stuff to help you clean it up a bit. uwu

dark tiger
#

And instead of multiplying by -1 and adding, you could simply subtract the two vectors

#

the main diffrence being that instead of having the other 5 nodes at the nottom im just using the exact same nodes going to the exact same place
@exotic leaf It probably is a bug. Just leave them separately, as you were doing before

#

The compiled code isn't much different from the other

#

So it should be pretty the same in performance, and it's clearer to look at

#

Where does the Inv variable come from?

gloomy sluice
#

I'm using this to teleport the player. I was wondering if it's possible to change the wording from use to something else?

cunning mist
#

@gloomy sluice That would be on the Udon Behaviour itself, not in the script. In order to change that, select the object that has your graph on it and go to the inspector. Right click on the tab at the top that says Inspector and select Debug. If you go to your Udon Behaviour component, you'll find an option Interact Text, and you can change it there.

gloomy sluice
#

Ohhhh okay!

#

Tyvm!

cunning mist
#

๐Ÿ‘

scarlet lake
#

How do I turn these buttons into real buttons? I can't interact with them and the tutorials I saw out there don't work

hoary echo
#

@scarlet lake Add a box collider trigger to them, once you do that it should work normally with any old interact udon script

fiery yoke
#

If you actually want the blue raycaster UI Buttons you need to add the VRC Ui shape script to the Canvas object.

hoary echo
#

^ Listen to him, all my solutions are janky and ghetto at the moment

scarlet lake
#

I'm noticing that the buttons work in play mode, but not within VR chat

fiery yoke
#

Thats because Unity doesnt need special handling for the Canvas Raycaster to work.

#

VRChat does. Since youre not clicking on the screen. There is a lot going on to make it work, but you only need to add the VRC Ui Shape script to the Canvas.

scarlet lake
#

Thank you very much, I think I never received a solution so fast on this server. You deserve a medal, sir!

#

That moment when I realize that I will never use a cube as a button in my life again

hoary echo
#

RIP Cube Button - ??? - 2020

exotic leaf
#

@mighty fjord @dark tiger
Thank you both for the advice and help ๐Ÿ™‚

mighty fjord
#

Aye, no problem. Just happened to drop by at just the right time.

frank lily
#

i have this item here that i'm trying to make pickupable, and have collision with the world, but i cant seem to figure out how to make it not fall through the floors or anything in general

#

there are colliders beneath and behind it, i was thinking it might be because i have that collider set to trigger, so i added another mesh collider and it still went through the ground

#

only solution i could find online was someone suggesting to add an objectsync to it but those dont exist anymore

floral dove
#

@frank lily - turn off "Is Trigger" on that box collider

frank lily
#

would i still be able to pick it up?

floral dove
#

yes, you will be able to pick it up without IsTrigger on

frank lily
#

oh i was under the impression that we needed that for some reason

floral dove
#

understandable- there's a lot of gotcha's with Unity's collision system

frank lily
#

so this box collider can instead be a mesh collider then right?

floral dove
#

sure

frank lily
#

switching it to a mesh collider it starts falling through the ground again ;-;

#

i tried with convex checked too and still

peak brook
#

If you want the collider to interact with the world, use a simple collider like a box collider, not a mesh collider

#

The performance cost of a mesh collider is astronomical compared to a simple collider

#

Preferably, pickups should be a box collider that is not set to trigger

frank lily
#

guess i'm just gonna have to have this object float then XD

#

cus the box is sideways

peak brook
#

Try separating the mesh from the actual collider and pickup

#

If you use an empty gameobject for the actual pickup, and then have the mesh as a child object, you can rotate the mesh however you'd like

#

It's usually fine to keep them together, but there is always weird meshes like yours that aren't at 90 degree angles that can cause all sorts of weirdness

frank lily
#

aye that worked i think!

#

just gotta see if the pickup still works, it should though since it's on the gameobject too

sharp basin
#

probably commonly asked, but why does the url bar fore the vid player show thru objects in the unity preview?

grizzled trout
#

can somone help me with this ?NullReferenceException
UnityStandardAssets.CrossPlatformInput.MobileControlRig.EnableControlRig (System.Boolean enabled) (at Assets/Standard Assets/CrossPlatformInput/Scripts/MobileControlRig.cs:89)
UnityStandardAssets.CrossPlatformInput.MobileControlRig.CheckEnableControlRig () (at Assets/Standard Assets/CrossPlatformInput/Scripts/MobileControlRig.cs:80)
UnityStandardAssets.CrossPlatformInput.MobileControlRig.OnActiveBuildTargetChanged (UnityEditor.BuildTarget previousTarget, UnityEditor.BuildTarget newTarget) (at Assets/Standard Assets/CrossPlatformInput/Scripts/MobileControlRig.cs:98)
UnityEditor.Build.BuildPipelineInterfaces.OnActiveBuildTargetChanged (UnityEditor.BuildTarget previousPlatform, UnityEditor.BuildTarget newPlatform) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:412)
UnityEditor.Build.BuildPipelineInterfaces:OnActiveBuildTargetChanged(BuildTarget, BuildTarget) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:416)

#

i sweitch to andoried and get that mesage

#

i am using the sdk 3 world if that helps

#

i letrealy have no idea what this means

grizzled trout
#

...

oak trail
#

Your kinda asking during the dead hours.

#

I'm not exactly sure what that means either, so i can't help unfortunately...

grizzled trout
#

Oof i see, thanks for the responce atlest

daring copper
#

any idea why my scroll bar on my ui is scrolling on hover

#

and not on click

grizzled trout
#

sounds like a bug with your controler

#

drift i belive it is called

dense halo
#

Simple question, how to I network the transform of an object in sdk3?

grizzled trout
#

@dense halo this might help you out

dense halo
#

They didn't go over it but I assume it's just adding an udon behaviour and ticking "sync position", so thanks!

grizzled trout
#

Ok hope you get it figerd out, good luck

steel nova
#

how does syncing work with AVPro player?

bronze light
#

I have a trigger collider the width/length as a room and the height is very short and it exists at the base of the room so that when a player collides with it, the map knows which room it is in

#

But when items are dropped on the ground they are inside the collider so cant be picked up

#

Is there a better solution?

fiery yoke
#

@grizzled trout Seems like you have Unity Standard Assets installed. First of all they are not whitelisted in SDK3 anymore, so unless youre using them for Editor stuff theyre useless. Second of all they are not quite up-to-date so there is some problems with some of the scripts. Just delete the CrossPlatform stuff.

#

@steel nova Syncing is the same for both players, since its all done in Udon. The functional difference between the players is hidden away behind abstraction.

#

@bronze light In VRChat all colliders block the raycast for pickups and ui, except when they are on the MIrrorReflection layer. Not always the best solution, but worth a try.

#

And yes I just woke up, so there you go all your questions answered :P

scarlet lake
#

how can i make my avatar?

grizzled trout
#

@fiery yoke somone told me i needed the standered asets for the QvPen but i will try what you segested

scarlet lake
#

@fiery yoke How can i make my own avatar?

fiery yoke
flint urchin
#

@grizzled trout QvPen with Standard Assets is for SDK2. Udon (SDK3) does not support Standard Assets, nor the QvPen that was made for SDK2

hoary echo
#

I've got a SDK3 world I'm trying to upload that keeps trying to upload to the ID of a deleted world instead of a new world. I'll go through the upload steps and complete successfully (the upload page shows me the content update screen, instead of the upload new world screen.), but then from the Upload Successful screen takes me to the 'manage' page which tells me that world ID does not exist.

Unity shows a MongoDb E11000 id_dup error.

Somewhere the project is still associated to this deleted world ID, and I can't figure out how to de-associate it. Any suggestions?

The background on this is I originally had one big map as my testbed for learning Unity and Udon, but I decided to split it into 2 for ease of management (and they ended up being 2 very different zones). After deleting the world online and splitting my world locally, one half uploaded fine, the other is pooched as above.

grand temple
#

it's on the same object as the VRC scene descriptor, click "detach" on the pipeline manager

hoary echo
#

I will try that as soon as I get back to my main PC. THANK YOU!

grizzled trout
#

@fiery yoke i did as you said and it worked . @flint urchin i know, i learnd that during instaling but do to the mix up and it not causing problems till now i i dint remove it till now

pallid roost
#

Has anyone got a working set of playing cards? I got a deck of them, added the VRC Pickup component to them, but when I load the world to test they just aren't there?

cunning mist
#

Did you put a collider on them? If not, they will likely fall infinitely through the floor.

pallid roost
#

I have not. I had assumed the rigidbody would have one built in but that would make more sense. ๐Ÿ˜…

#

@cunning mist Also i recognize you from your youtube vids, thanks for them all!

cunning mist
#

No worries, glad they can help! I tried making a set of playing cards a while back, but found they will likely be easier to sync when the next networking update comes out, so they're presently on hold.

untold roost
#

i am new to this world building and I ran into a issue last night that has me stumped, i am building in sdk3 and this shows up when i try to update the world, would any one know what i may of done and/or how to fix it? NullReferenceException: Object reference not set to an instance of an object
VRCSDK2.RuntimeWorldCreation.Start () (at Assets/VRCSDK/Dependencies/VRChat/Scripts/RuntimeWorldCreation.cs:82)

#

i tried to do a google search and found this, "you may have a duplicate of your scene descriptor somewhere, either full or partial. check to see if you have a duplicate of the pipeline manager script." i don't know what any of that means though

#

i ran into this when i tried to do the video player and a c# for a fan if that helps, i couldnt get the video player to work but i did get the fan but since gettng into this error i deleted those to see if they might be what caused it.
i just tried to detach the blueprint ID from the pipeline manager (script) but same issue still

rough beacon
#

you need to remove SDK2. it is not support to SDK3

scarlet lake
#

How do make players jump ?this is my first time using udon graph and I tried copying one YouTuber but I am not sure if I am missing anything or it is outdated

unborn hornet
#

@scarlet lake
The important nodes for jumping shown in the image.
U# equivalent (what I use): Networking.LocalPlayer.SetJumpImpulse(jumpImpulse);

Alternatively if you add the VRC World prefab (VRC Chat Examples -> Prefabs -> VRC World), that will include a graph with the walk/run/jump speeds out of the box.

scarlet lake
#

Thank you

bronze light
#

Is there a way to restrict player voice audio to a specific area (box or collider shape)? VRC_PlayerAudioOverride just changes the AOE so they can still be heard by players outside the area. I want spectators in a game I'm building to be able to talk to themselves only but be near other players

broken bear
#

the open beta has improved audio controls, check it out

hardy citrus
#

Hi, how do I toggle colliders of another object with Udon after pressing a button?

fresh elbow
#

I was watching a tutorial on Udon, and the video stated there were two types of creating triggers. Udon Sharp and the node graph. Is there a fundmental difference between the two when setting up triggers?

#

like do I lose anything by using it one way over the other?

cunning mist
#

@fresh elbow The node graph is the base system that VRChat provides, while UdonSharp is an add-on made by MerlinVR that allows you to essentially just script in C#.

fresh elbow
#

I see, so basically really isnt a difference, just preference?

#

ironically, it was your tutorial vowgan, so im glad I came full circle

#

lol

cunning mist
#

Yeah, I might be the only person making tutorials at the moment haha
But yeah, you can do the same things with both, it just depends on what you're more comfortable with. I 100% prefer using UdonSharp so that I can type out the code I'm working with, but working with Node Graphs is easier for some people to understand and is less intimidating than learning a programming language that you're unfamiliar with.

fresh elbow
#

Yeah, then I might stick with graphs because coding isnt my background. Thank you ๐Ÿ™‡โ€โ™‚๏ธ

scarlet lake
#

@native estuary wdym

native estuary
scarlet lake
#

thanks

rough beacon
#

@cunning mist you be making video on how make your video global so other can see it?

#

i follow your video and didn't know it was only local at the time. so i cant update my world tell it done.

cunning mist
#

Correct. Networking will be coming soon.

rough beacon
#

there 1 other thing i need to be look at. This have a bug in it. this was build to play URL. problem is. you click on first video. it play correct video. after if you click on next video, it want to play video before hand. how do i fix that?

#

now thinking about. that local will be good if i build how to play game system ๐Ÿ™‚ keeping as backup and rename it later.

prime stream
#

Sorry for the nooby question but I just started and I wanted to tried to do OnTriggerEnter to change the color of an object but it didn't work but if i replaced it with an Interact it seems to work fine

fiery yoke
#

What did you try it with? Yourself? Like did you try to run into it?

prime stream
#

Yes i did. Is it the wrong one for avatar collison? I saw something about OnAvatarHit but it was a dead fourm.

fiery yoke
#

For Players use OnPlayerTriggerEnter

prime stream
#

OH I c i mixed them up when reading the documentation

#

Thanks ill give it a try

wispy belfry
#

Is there a way to invoke a onclick on a button script in udon yet?

fiery yoke
#

Button.Select() then
Button.OnSubmit()
Not sure if the select step is necessary.

wispy belfry
#

I read the Select will do an onclick in the unity 2019 and above. thanks i will try it out!

bronze light
#

Is there a way to allow picking up items through a collider?

cunning mist
#

Do you mean a trigger collider? If so, all colliders in Unity, trigger or otherwise, block the hand's ability to pickup or interact with things that are within those colliders UNLESS the collider in the way is on the MirrorReflection layer.

bronze light
#

Yes trigger collider

#

I have a trigger collider the size of a room so I can detect when objects enter the room but if the object falls on the ground nobody can pick it up

cunning mist
#

That would be your situation than. You'll need the collider that fills the room to be on the MirrorReflection layer. A weird situation in this is that MirrorReflection does not collide with the Pickup layer, so any objects you want to have both pickup-able AND detected by the collider will instead have to be on the Walkthrough layer, as it can collide with MirrorReflection but still allows the player to pass through them.

bronze light
#

What if I had a collider under the object in the Pickup layer and THAT collider is in the MirrorReflection layer?

#

Or does the parent layer override everything in children

cunning mist
#

You can set layers manually for each object, but if you change the layer of something with children than it will ask if you'd like to change them all.

bronze light
#

Awesome that MirrorReflection thing works!

#

Ta!

cunning mist
#

Glad to help!

prime stream
#

Is udon graph the preferred way of doing things? Iโ€™m used to c# but was running into some trouble with udon sharp

fiery yoke
#

What you prefer is up to you :P
The graph is officially supported and developed by VRChat.

unborn hornet
#

Is there a docs that describes in-depth how udon object network instantiation, sync and ownership actually works? I can't seem to find any and I'm having difficulty wrapping my head around the topic.

#

I'm trying to spawn persistent objects that are owned by specific players.

vale current
#

Is there a way to enable the normal texture on the player camera ?

steel nova
steel nova
#

also, does anyone have example graphs for local/global video player sync?

teal lodge
#

I have trouble with SDK3 VRC_Pickup. At the start of the game, or after picking an object, sometimes the collider is lost and cannot be picked. There is no information in the debugging log(RShift+`+3) so I have no solutions.
Unity Version: 2018.4.20f1
SDK3 Version: 2020.09.25

trail steeple
#

@scarlet lake Hey, how did you manage to make that music visualizer on your new map?

upbeat rose
#

When I use Skybox Panoramic, no matter the image I use, I get this line across my world. Why is that?

cunning sigil
#

tried installing the sdk3 for a new world i want to make and the control panel isnt appearing and im getting these errors and i dont know why. Ive tried reinstalling it 3 times and it still isnt workin

native estuary
#

What unity version are you on?

cunning sigil
#

2018.4.20f1

native estuary
#

Hmm that shouldn't really happen then unless it's a project created in 2017 but here is steps to fix:

cunning sigil
#

that doesnt even appear for me

native estuary
#

Number 3 in the picture?

cunning sigil
#

ah i found it

native estuary
#

Everything should recompile after changing it and start working afterwards unless there's other issues

harsh magnet
#

Anyone know if UdonSyncPlayer is/will be supported on the Quest/2?

#

I know VRC_VideoSyncPlayer/Stream isn't and likely never will

fiery yoke
#

It technically is supported. But the Quest cant run YoutubeDL so it will only accept links that point directly to a media file. Also Im not too sure on this, but I think the Quest can only handle specific codecs or formats or whatever. Someone in here did some research on that I think.

harsh magnet
#

interesting... so if I had a link to an .m3u8 stream of .mp4 it might play it?

#

We talking SDK2 and Udon, or only Udon?

copper ocean
#

Anyone know what layer Canvases are on mirror reflections?

granite crest
#

They are normally on the UI layer but you should swap them to default @copper ocean

trail steeple
#

Does anyone know where I can put my hands on a music visualizer in udon?

trail steeple
#

Or something that can react to music beeing played in VRC

pure sail
#

Is there a simple way to animate and object in word? I have the animation all done in unity, but how is it trigged with udon?

tulip flax
#

is there any way to link a world object to mimic the players arm movement? (trying to make a mecha) vrcTupper dumb question probably

fiery yoke
#

@tulip flax Take a look at PlayerApi.GetBonePosition / Rotation

tulip flax
#

@fiery yoke thanks โค๏ธ

fiery yoke
#

Glad to help ^^

ripe crystal
#

Hi, is this the place to ask about UdonSharp?

#

BTW, I think I have problems to update my sync variables inside Update event, any tip?

ripe crystal
#

and other quest there is any way to play youtube video inside VRChat?

tulip flax
#

idk about udon sharp, but you can use video players to play videos inside of vrc, can either make one or use a prefab

untold roost
#

Does any ony know how to make the unity video player public? so any one in the room can use it? the video player is master only and i don't know how to change that. i'm using the stock video player that comes with sdk3.

scarlet lake
#

I'm trying to use a button prefab from this prefab pack called 'Physical Interaction' - it works in desktop but not in VR. I've tried literally pushing it with my hand since there's no interaction thing, but i get nothing

#

is the prefab just broken?

#

buttons don't work in the sample scene lmoa

#

reimported, mite work now

#

ye me dum must have broken it somehow, works now

fresh elbow
#

has anyone made a udon prefab for a synced video player?

tulip flax
#

i have an udon sharp video player prefab that works perfectly

#

@fiery yoke sorry to bother, but the only thing i cant manage its to get the object to follow/track the hand in order to copy it

hoary echo
#

I've seen a lot of udon boardgames and the like in a few different worlds. Are there prefabs that are available for those floating around?

fiery yoke
#

@tulip flax I dont quite get what your problem is

tulip flax
#

nvm !

#

what i meant to say is that i was trying to get the hand position/rotation so then i could have an object in the world (two robotic arms) mimic the movement of the players arms vrcTupper but idk if thats possible

floral dove
#

@fresh elbow - the UnityExampleScene has a synced video player in it

unborn hornet
#

Is it possible to get an array of all players in the room upon joining?

valid basin
#

Are there Youtube players for Udon yet?

floral dove
#

@unborn hornet - sure! Check the pin in the channel about how to use GetPlayers.

#

@valid basin - yes, the SDK now comes with an example scene with a working synced video player that can load videos from many sources.

gloomy sluice
#

I put a VRC pickup script on everything, and it works great, but as soon as I let go of it, it flies off into space. Does anyone know how to adjust that?

floral dove
gloomy sluice
#

that's what I thought

#

they end up just floating and spinning in the air

fresh elbow
#

oh awesome, ill check it out, thank you ๐Ÿ™‡โ€โ™‚๏ธ

gloomy sluice
#

this is how I have it set

unborn hornet
#

What's the physics result you are trying to achieve?

floral dove
#

@gloomy sluice your velocities are at the default 1, have you tried lowering them?

gloomy sluice
#

yea, and they still spun into the universe

#

I put on gravity, and that fixed it, tho

#

I was just hoping they'd stay in the air

#

like I did previously with the other SDK

floral dove
#

ok - that's not what shows in your picture. If you don't want them to spin, you can set their Angular Drag much higher. Same with Drag if you don't want them to move around in space.

unborn hornet
#

I usually set my throw velocity values to 0 and drag values to 100 for it to hover like the qvpens do.

fiery yoke
#

Usually you can just set Rigidbodies to be Kinematic, which means that it wont be moved by the physics system.

grave jungle
#

When would my world be out of labs?

gloomy sluice
#

Okay! Thank you so much everyone!

#

That makes a lot of sense.

ivory depot
#

i have the udon version that you download from the vrchat website, im trying to make a world. But i noticed that there are udon scripts and some stuff that arent showing up for me

pure sail
#

I had two issues with udon I believe. The first is how to start an animation on a object when the map is loaded. For example an orb travelling in a pattern around the area. I can get the animation to work in unity, but it does not trigger in vrchat. The other is around windzones which also do not seem to work in game.

alpine scaffold
#

I'm so confused im new to vrchat nd im on my laptop nd for more than a hour I have been having troubles getting vrchat to b able to recognize my voice does anyone know how to fix this?

stable bridge
#

does anyone know why my avatar is standing on top of my vrc_station, when i interact with it to sit?

valid basin
#

@floral dove thanks for answering the video player question

#

i made this for a earlier SDK3 version but it no longer seems to work, anyone that can tell me how i can get it working again?

light fjord
#

does anyone know if its possible to have custom UI in vrchat?

#

for maps

fiery yoke
#

Define "Custom UI"

light fjord
#

so i want custom buttons for lets say a Game master

#

to do specific things

#

not related to other players

fiery yoke
#

The question is where do you want that UI

light fjord
#

beside the actual vrchat menu. if possible

#

like adding a extra button to expand it

#

if possible

fiery yoke
#

Theoretically it is possible. But since VRChat does not give us callbacks for when the quick menu was opened or when it was closed there isnt an easy way to do that.

light fjord
#

uuh. oright. might be out of the question then imao ๐Ÿ˜„

#

i rather not do anything against their TOS

fiery yoke
#

I dont quite see how that would be against the TOS as long as you dont block the menu....which I just realised is actually possible...

light fjord
#

oof i am just gonna take a simpler route honestly.

spark bramble
#

does anyone know where can i find the mur cat avatar

cunning mist
#

Not even udon can do that for you bud

fiery yoke
#

Well you could make an avatar pedestal that randomly cycles through avatars and the Shader AI someone wrote for Image Recognition... :^) kek

#

But yeah this is not the right channel to ask that.

gloomy sluice
#

I'm feeling a little dumb, but for some reason, I can't seem to jump? The impulse is set to 3. Am I doing something wrong?

unborn hornet
#

Whats the functional differences between the udon player and the avpro player?

flint urchin
#

The latter allows for live stream videos, while the first don't

untold roost
#

question, I am trying to make a room that keeps count of when someone does a jump, would any one know how to make a counter in udon that can keep count of when someone jumps? my thought process is a plate in the floor that people stand on in separate areas and when they jump up the counter counts one each time but i can't find anything on how to make a counter.

unborn hornet
#

Is there a benefit to using udon player over avpro for certain things?

cunning mist
#

The AVPro player is in my opinion better than the Unity one as you get a lot more control over audio and the likes, and I find it easier to set up.

#

Both are controlled through Udon.

serene moat
#

avpro is a lot more buggy and weird to work with imo so to each their own I guess

#

also I'm not sure how you have more control over the avpro audio considering you either have 1 or two channels, you can't change the spatialization curve on audio sources, and you can't apply audio filters to those sources. The Unity one has better control pretty much all around

unborn hornet
#

The spacial curve is controlled via the audio source component in my tv prefab I made, so I know that isnt a problem. Mainly Im wondering if it is even worth adding the extra logic to my prefab to also support the udon player, as it only uses the avpro at the moment.

serene moat
#

are you sure it works and that you're not just using stereo audio sources which have a similar effect?

#

because it sure didn't work for me

#

avpro only works reliably on Windows 8/10 afaik

unborn hornet
#

Hmm are you talking about the left right panning or the volume curve?

serene moat
#

I'm talking about the spatialization curve.

#

which is different from both of those curves

#

Also not sure if it has been improved but the avpro player desyncs audio on long videos which gets quite obnoxious

fiery yoke
#

AVPro

#

Ive been mostly using the Unity one because it runs in-editor so its a lot easier to test stuff with. And so far that worked quite well so I prefer that one as well. But if you need streaming then yeah...avpro

serene moat
#

the only pro as far as I am concerned with the avpro player is that it supports streams, and even that has issues since YouTubeDL gives it the wrong format on some streams or it doesn't support formats that it needs to.

#

You also lose the auto aspect ratio scaling

#

go toss this in your av pro player https://www.youtube.com/watch?v=ENcnYh79dUY

ไฟบใฏๆณฅๆฃ’ใงใ‚ใ‚‹ใ€‚
ๅพ€ๅคๆฅไปŠใ€ๅคšๆง˜ใชๆณฅๆฃ’ใŒๅฑ…ใ‚‹ใŒใ€ไฟบใฏๅฅด็ญ‰ใจใฏๅฐ‘ใ—้•ใ†ใ€‚
้‡‘ใ‚’็›—ใ‚€่จณใงใฏ็„กใ„ใ€‚้ชจ่‘ฃๅ“ๅฎ็Ÿณใใฎไป–ไพกๅ€คใ‚ใ‚‹็พŽ่ก“ใฎ้กžใซใ‚‚ใ€ใจใ‚“ใจ่ˆˆๅ‘ณใŒ็„กใ„ใ€‚
ไฟบใฏใ€้Ÿณใ‚’็›—ใ‚€ๆณฅๆฃ’ใงใ‚ใ‚‹ใ€‚

ๆ€ๆƒณ็Šฏใจใ„ใ†ใƒ†ใƒผใƒžใฏใ€ใ‚ธใƒงใƒผใ‚ธใƒปใ‚ชใƒผใ‚ฆใ‚งใƒซใฎๅฐ่ชฌใ€Œ1984ใ€ใ‹ใ‚‰ใฎ็›—็”จใงใ‚ใ‚‹ใ€‚ใใ—ใฆ็›—็”จใงใ‚ใ‚‹ใจๅ…ฌ่จ€ใ—ใŸใ“ใฎ็žฌ้–“ใ€็›—็”จใฏใ‚ชใƒžใƒผใ‚ธใƒฅใซๅงฟใ‚’ๅค‰ใˆใ‚‹ใ€‚็›—็”จใจใ‚ชใƒžใƒผใ‚ธใƒฅใฎๅขƒ็•Œ็ทšใฏๆ›–ๆ˜งใซๅœจใ‚‹ใ‚ˆใ†ใงใ€ๅฎŸใฏไฝ•ๅ‡ฆใซใ‚‚ๅญ˜ๅœจใ—ใชใ„ใ€‚้€†ใ‚‚ใพใŸ็„ถใ‚Šใงใ‚ใ‚‹ใ€‚ใ‚ชใƒžใƒผใ‚ธใƒฅใฏๅ…จใฆ็›—็”จใซใชใ‚Šๅพ—ใ‚‹ๅฑใ†ใ•ใ‚’ๆŒใคใ€‚
ใ“ใฎๆฅฝๆ›ฒใฎ่ฉฉใฏๅฐพๅดŽๆ”พๅ“‰ใฎไฟณๅฅใจใ€ใใฎๆ™ฉๅนดใ‚’ใ‚ชใƒžใƒผใ‚ธใƒฅใ—ใฆใ„ใ‚‹ใ€‚
ใใ‚Œใฏใ€ใใฃใจ็›—็”จใจใ‚‚่จ€ใˆใ‚‹ใ€‚
...

โ–ถ Play video
#

luckily with the texture stuff being exposed you can fix that part now if you wish

untold roost
#

i'm using avpro video player and i cannot get the volume, url, or play buttons to work at all. i cant select them in vrc or anthing, i have rebuilt them and the backend mulriple times now, any help would be awesome.

unborn hornet
#

Is the Canvas element on the UI layer?

valid basin
#

anyone have a link to a tutorial or prefab of a trigger based teleporter?

#

i have tried all sorts of things for hours but cant get it working

#

none of the examples ive found so far seem to be working

flint urchin
#

Which examples have you looked at then?

unborn hornet
#

For worlds2 or worlds3?

flint urchin
#

I've posted a example, and that works as expected

valid basin
#

ive found several threads on the forum about it that i tried following, dont have them handy

flint urchin
#

@unborn hornet every gameObject is on default layer when created. IF you add UI shape, it will move to UI

valid basin
flint urchin
#

Then you haven't added a Target transform in the Inspector

valid basin
#

it's not doing anything, if target would be empty atleast it would teleport to default itself i think

#

getting nothing at all

flint urchin
#

Checked your log?

valid basin
#

do you mean Unity console or is there another log i can look at ?

flint urchin
#

!outputlog

fleet brambleBOT
#

You can find your output log at C:\Users\%Username%\AppData\LocalLow\VRChat\vrchat named output_log.txt

flint urchin
#

that one

#

You also need the launch options for SDK3

valid basin
#

i'll give it another go, thanks for the replies

#

will use the Steam launch option even if i start VRC through unity build and test button ?

flint urchin
#

Don't remember if the one in the SDK have it or not

valid basin
#

alright

#

I have a log opened but i'm not quite sure if i am seeing debug info, seems like there's not much there at all

#

so if i can not start up from Unity with --enable-udon-debug-logging how can i enter my local world through stream?

flint urchin
#

Local you can't

#

But the log should have some info anyway even without it

#

You just don't get the stacktrace

valid basin
#

didnt see any errors or anything like it

#

im trying to trigger the script with interaction now to see if it works

#

waiting for the build

#

it does work when triggered by interaction, that's interesting

flint urchin
#

Well, yeah, you got to interact with it for it to trigger

valid basin
#

well, i started with a Udon script i made in april that was working perfectly with a box collider (hope i say that right)

#

basically, walk into it, and it teleports you

flint urchin
#

Then that's a OnPlayerTriggerEnter

valid basin
#

that script somehow broke, i tried several examples to fix it, and havent had a single teleport until just now when interacting

#

tried that too, no dice. But will try again to make sure

flint urchin
#

and make sure Trigger is checked

valid basin
#

got it to work now, thanks for assistance

untold roost
#

Im sorry im not sure what you mean by canvas element on the ui layer

unborn hornet
#

In the top right of your screenshot, the game object is listed as being on the UI layer. That prevents the interactions from happening (due to the player's pointer raycast ignoring that layer, I think...).

Switch it to Default (most commonly used) or another layer (if needed). That should allow the pointer to hit the canvas properly.

untold roost
#

that worked thank you so much, i have been trying to figure out what i did thank you

flint urchin
#

If itโ€™s on the UI layer, you just got to open your quick menu

untold roost
#

oohhh ok thank you

unborn hornet
#

Is there a way to prevent a user from picking up an object with custom criteria?

unborn hornet
#

Tangentially, is there a way to assign permanent ownership of an pickup-able object instance, so like, another player couldn't pick it up even when it's dropped?

stark adder
valid basin
#

Does anyone know of an example or tutorial for a button that resets pickup-able objects to their original position (or an empty game object that marks their original transform?)

#

I have a library where posters can be picked up, and would like to make a button that resets all of them. In SDK2 this was how i did that

#

https://docs.vrchat.com/docs/sendrpc also this says "SendRPC only appears if the "Advanced Mode" checkbox is checked." but i can't find anything anywhere about advanced mode, how does it work?

valid basin
#

can also not find any nodes called SendRPC in Udon block editor

flint urchin
#

Please donโ€™t look at SDK2 stuff to work with Udon.

In Udon you got to set the transform position.

Now, the best solution at the moment, to avoid weird behavior, is to set the object position below the respawn heigh. Then you donโ€™t get the weird lerp behavior on remote clients.

valid basin
#

set the object position below the respawn heigh
sorry but i think i am too novice to have context in which to understand this

#

any chance you could give me a push in the right direction with a little pseudocode perhaps?

#

it's a interactable button so it starts with the Interact trigger. To start simple with the script i've created 1 GameObject variable for the object that will be transported, and 1 GameObject variable for the empty game object with the reset location and rotation

#

But i am absolutely drawing blanks on how to make the teleporting happen other than with SendRPC, which seems to be recommended in Udon/SDK3 documentation but not explained how to actually apply

#

I got an idea based on your transporter example @flint urchin am i going the right direction with this ?

flint urchin
#

Yes

#

But just be aware that youโ€™ll end up with weird โ€œfloatingโ€ towards the target location with objects that are synced.

valid basin
#

could you elaborate that?

#

as in the object visibly traveling from where it was to it's reset position?

flint urchin
#

@valid basin For remote clients, it doesn't instantly get put into place. It sort of float towards the location.

valid basin
#

understood, thanks

#

and did you say there is a way to remedy this?

flint urchin
#

Yeah, set the position below respawn height, then it will move into position without this weird effect.

unborn hornet
#

When creating instances of an object, how does udon know which objects to position sync across the clients?

fiery yoke
#

It currently does not. You cannot instantiate networked objects. They will currently just be local.

clever phoenix
#

well so i put on the avatar of the big titan and well im sorta stuck in a world cnat chnage worlds or avatar(i play vr and altho i can barely acces the menu i get the bug where i cant select things and it only scrolls)

#

ive tried fixing it on pc but doesnt work either

#

wait this wasnt the right place for my question i think lmao

#

my bad

valid basin
lament scarab
#

Is there a way to get a component on a parent? My googling suggests that the following should work, but they don't:

    private BaseVRCVideoPlayer videoPlayer;

    void Start()
    {
        videoPlayer = (BaseVRCVideoPlayer)GetComponentInParent(typeof(BaseVRCVideoPlayer));
        videoPlayer = (BaseVRCVideoPlayer)this.transform.parent.gameObject.GetComponent(typeof(BaseVRCVideoPlayer));
    }
fiery yoke
#

Thats because the Base type is just an abstract base type. You would need to tell it which type to look for exactly which is either the Unity or AVPro Player. You can look for both and should find at least one.

lament scarab
#

Ah ok!

lament scarab
#

so videoPlayer = (VRCAVProVideoPlayer)GetComponentInParent(typeof(VRCAVProVideoPlayer)); should work?

floral dove
#

@valid basin - the example video player that comes in the UdonExampleScene will autoplay. Only direct links will work in the editor, for any other links (YouTube, etc), you must use Build & Test or Build & Publish.

twilit breach
#

Hey Momo do you know if its planned to have Udon behaviors that don't assign net IDs?

floral dove
#

hm - I don't think so, could you tell me more about what you're trying to do @twilit breach?

fiery yoke
#

Currently every UdonBehaviour in existence will need the Network Manager to assign a NetID to them when loading into a world. Imagine having a few hundred UdonBehaviours that are just there to store some information about an object (basically some sort of Descriptor) or some Behaviour that is only ever supposed to run locally like some local Mirror Toggle or something. Now assigning NetIDs to all of those behaviours is unessecary and will waste a huge amount of resources and maybe even lead to some major issues.

twilit breach
#

^ This is a good explanation. As for my case atm all of my udon behaviors are just local for what amounts to a single player RPG. But since assigning net ID is built into udon behaviors and I have a very densely coded world, anytime someone joins to play single player side by side the host gets a big network lag due to sharing several hundred net IDs

floral dove
#

Thanks @fiery yoke & @twilit breach - I'll discuss with the team.

twilit breach
#

Thank you Momo ๐Ÿ˜„

floral dove
#

FYI the new networking system should decrease the network overhead by allowing you to better control when data is serialized - though I believe it will still happen on join for all networked behaviours. I'll follow-up on that Canny.

twilit breach
#

I'm excited for the new networking system, any performance increase is always amazing. Thanks for the constant great work

fiery yoke
#

Ohh yeah that might be an issue as well then at some point. Its great if you can control when data is serialized, but if that means that it has to send ALL of the data to new joiners, then its not gonna help a lot...
But Ill guess we'll see when its out in beta

floral dove
#

me, too @twilit breach! So many example / tutorial ideas that I've held on until we have our new networking system since some fundamental things will change for the better.

stark adder
#

Unsigned long is not supported by UdonSync ? :/

fiery yoke
#

a few of the more exotic literals arent functioning. I think unsigned long is one of them. Also SByte and Int16 aka short iirc

stark adder
#

Soo regular long should work ?

fiery yoke
#

Not entirely sure

stark adder
#

ok I really hope it does..

willow dove
#

Is it possible to unlock the clipping plane of VRCCamera?

#

In game

fiery yoke
#

Nope. You can just set the default using the Reference Camera and even then its clamped to some values.

willow dove
#

Yea I think I tried that

#

thx

gloomy sluice
#

Can I create a flashlight using a pickup object, and then adding a light to it?

fiery yoke
#

Why couldnt you?

gloomy sluice
#

I dunno? I was thinking about making a light, but I wasn't sure how to go about it, but that was my thought?

fiery yoke
#

The light youre looking for is called Spotlight. It needs to be a Realtime light for it to work, which are relatively expensive. You can put a light on any GameObject though, including Pickups.

gloomy sluice
#

that's what I thought

#

thank you

inner tundra
#

How do you set interaction text on interactible objects with Udon?

hushed gazelle
#

There's a node in pickups.

fiery yoke
#

I dont think they are talking about pickups. Currently the interaction text is still hidden in the Debug Inspector I think.

floral dove
#

@inner tundra - check the pins in this channel, fifth one down.

severe tree
#

@unborn hornet I don't know if you've figured it out yet or not but for the object that can only be picked up by one person, you can use an event to trigger the isPickupable section on the PickupComponent and have it off by default, and then whenever someone does the thing to make it theirs just run the event that makes it pickupable again on the local player only. Something along the lines of Event -> branch isLocalPlayer -> VRCPickup -> isPickupable -> true

unborn hornet
#

So OnPickup is ran even if pickupable is false?

#

I got a workaround which involves caching the last known transform when it's not picked up, and if an invalid player picks it up, it forces the VRC_Pickup.Drop() call and restores the transform to the cached value. This seems to work and doesnt cause the script to halt. Slight jank occasionally but that doesnt bother me.

grave jungle
#

When will my world be out of community labs?

fiery yoke
#

When its worthy to be, according to the almighty algorithm :P

grave jungle
#

Is it less likely to be seen in spookality if it's in labs?

pallid roost
#

@cunning mist I see what you mean about the cards, I got it working locally with a reset and everything. People can move them around fine in multiplayer but as soon as they start moving them the reset wont work. It looks like the reset movs everything back to the reset pos but then they sync straight back to where they where a second before. I assume it's not pushing the position update to all the clients properly?

#

(sorry about the ping, hope you dont mind)

#

Is there a way to script the position update to push the new location to all the clients?

cunning mist
#

No worries! What do you have in place for a "reset?" Does it only fail for cards that are being held, or does it stop working for any cards that have ever been picked up?

pallid roost
#

Any that have been picked up (by someone other than myself) it seems. it works fine if im in by myself and throw them everywhere but with others there it will appear to reset them all for a fraction of a second when I click the reset and they all fly back to their old position.

#

I can send you the reset udonSharp snippet if that helps

#

But it just sets the transform position of all cards in the array back to the reset pos

#

Although they sat around for a while and then I clicked it and they seem to have synced back to the reset after clicking it a few times again so maybe it depends on how recently someone has updated their location? ๐Ÿค”

unborn hornet
#

So I switched to the pooling method since the network sync for instanced object isn't supported ||even in a hacky way vrcSad||. it's working and now to slap that code onto what I was actually making it for. Proof of concept in #udon-showoff

inner tundra
#

Thanks @floral dove !

floral dove
#

@grave jungle every entry into Spookality will be properly reviewed, not to worry!

grave jungle
#

Oki ^^

scarlet lake
#

@nimble sonnet

valid basin
#

does anyone know of any shuffleable deck prefabs for Udon ?

gloomy sluice
#

For some reason, you can't jump in my world. I have it set to five, but nothing happens. Why is this?

floral dove
#

@gloomy sluice any errors in the log? Sounds like maybe the VRC World Settings script isn't running.

gloomy sluice
#

not that I see

#

yea, no errors

#

everything works fine in my world, spawning, and everything. But nada on the jump

#

those are my settings

light fjord
#

does anyone know a good way to get two variables from a object that is spawned in?

#

using udonsharp

floral dove
#

@light fjord - I believe you can GetComponent<UdonBehaviour> and then get the program variables from there. But if you're talking about Instantiating objects, just an FYI - that's a placeholder and will change / be deprecated in the future, I don't recommend you use it.

fiery yoke
#

You cant use the generic version of GetComponent on VRC Components because they need special handling. You have to use (UdonBehaviour)GetComponent(typeof(UdonBehaviour))

light fjord
#

already tried that. but it for some reason prevents my from getting a component

flint urchin
#

Suggest you visit the UdonSharp discord then. You won't really get much support here for it

light fjord
#

prob.

scarlet lake
#

Is it normal to only have 2 options

floral dove
#

@scarlet lake - check your console, you may have errors. Not normal.

scarlet lake
#

I have multiple errors

#

57

jovial vector
#

How do people make quest theater worlds? I want to make one but with lbp films

floral dove
#

@jovial vector check out the Video Player in the Udon Example Scene. Also https://docs.vrchat.com/docs/video-players

light fjord
#

so does someone know how to make a Text field interactable under a canvas?

fiery yoke
#

You cant make a Text field interactable. Maybe you mean Input Field?
Put a VRC Ui Shape Component on the Canvas object and make sure its on the Default layer.

light fjord
#

no a text field.

fiery yoke
#

A Text field displays Text. It doesnt do anything.

light fjord
#

also i somehow got that to work buttt.. it requires the menu to be open lol

fiery yoke
#

Yeah because its on the wrong layer

light fjord
#

its on the UI layer

fiery yoke
#

if you want to be able to Click on the Text, then thats a button

#

Yeah UI layers behaves like that. Put it on the default layer.

light fjord
#

ikr

#

yep works now

floral dove
#

@light fjord - FYI the UdonExampleScene has a variety of interactive UI examples that you might find informative (including a Text field)

scarlet lake
#

how do people get emission to glow in worlds in sdk3

fiery yoke
#

Its called the Post Processing Stack and is plugin that was developed by Unity. Google is your friend if you want to know more

unborn hornet
#

does udon support syncing float[] or double[]? I'm trying to determine if an error in my script is derived from U# or Udon so I know if/where to file a bug.

fiery yoke
#

I dont think it supports syncing arrays yet. Also be careful with how much data you sync. Its pretty limited.

unborn hornet
#

Yea. I've already ran into that Buffer error that a few others have brought up on the canny when syncing too long of a string.

hollow juniper
#

Does anyone know a way around not being able to use
Shader.SetGlobalTexture
with udon T-T

also plox add Shader.SetGlobalTexture to udon โค๏ธ

#

think i may have it ๐Ÿค”

#

turning into more scripting question then udon but anyone know how to feed a render texture to PostProcessEffectSettings

#

๐Ÿค” may have it, just hope that vrchat allows use of PostProcessEffectSettings

flint urchin
#

SetGlobalTexture will most likely never be exposed. Since it changes the value for ALL shaders.

hollow juniper
#

managed to use udon to input it directly where needed, just need to work out what vrchat is deleting or changing now thats stopping my render texture from working

stark adder
#

I know there has been mention about
Udon-powered voice control!
Cinemachine
What are these two ? Will we be able to control users Voice volume on runtime ? Will we be able to mute someone using Udon ?

fiery yoke
#

Voice control lets you adjust each players audio sources curves. So yes and yes. Cinemachine is a plugin for advanced Camera Controls, to create cinematics and alike.

stark adder
#

Nice, Nice and NICE!! I've been needing the first two for past month!

valid basin
#

What is the easiest way to randomize the Z position transform of several game objects, without using the same value twice? (basically shuffling a stack)

#

I don't really know how to search Udon documentation for common expressions, it makes it extremely hard to do very simple stuff like this

light fjord
#

@valid basin the easy way would be to have a collection of pre determined values. and just take one each time. or pretty setup a rule that says every random value has X * Z or something. like 5 * 20 for example that way its gonna be harder to hit the same number.

#

you could also use time as a factor.

#

etc.

#

theres a ton of ways to stop it from using the same value

scarlet lake
#

is there a way to SendCustomEvent with a parameter?

#

i have a mirror system with a method EnableMirror which takes an int - it will enable the mirror in the mirrors array with that index

#

so ideally i'd like to be able to press a button to call EnableMirror(1) for example, to turn on Mirrors[1]

#

(and avoid calling EnableMirror3DHigh, for example)

flint urchin
#

If youโ€™re using UI buttons to toggle it, you can use a disabled slider. Update the value that corresponds to that index for each button.

Set slider value = index
Send custom event = toggleMirror
Behaviour = read slider value and use that for index

lament scarab
#

Creating UIs in unity is a serious pain, I can't even get text to show on a canvas

#

Apparently if I set the width and height to 100 and then scale to .01 we good though...

fiery yoke
#

Understanding Unitys Vanilla UI is really not easy no. But at some point you just learn to accept that some things are just weird and move on xD

lament scarab
#

I've been a frontend dev who has supported ie7 and email clients, I thought my misery was in the past

fiery yoke
#

I mean Text is always a major pain in the ass. Formatting in general is just annoying af. And then imagine doing that inside of a GameEngine without CSS

burnt jackal
#

I'm trying to make a mirror turn on when you stand in front of it. There is a collider you enter, and it triggers, then turns off when you leave. The system works fine, but how do I make it local?

fiery yoke
#

Branch -> PlayerApi.Get isLocal -> True?

burnt jackal
fiery yoke
#

Thats not gonna do anything. There is a node called "Branch" which is basically an IF-case

burnt jackal
#

Just tested it, and it works. Thanks a ton!

scarlet lake
#

Does the pedestal prefab show a picture of the avatar like in 2.0

scarlet lake
#

How do I use haptic events/ where can I find the documentation on this?

#

There's some physical push buttons in my world and I'd like them to trigger a haptic event when pushed but I google it and can't find documentation (udonsharp)

lament scarab
#

Oof I just found out there is no try/catch :/ Is there at least a way to log an actual exception instead of just telling me the behaviour shut down?

unborn hornet
#

If you have the debug log flag set in the launch.bat, when you open up the debug log hold TAB and move the cursor to the Expand text and click. That'll allow you to view the details of the failure. Protip: Also click the Scroll text to turn off the autoscrolling while looking at the trace of an error.

#

Granted, sometimes the error isn't as descriptive as I'd like... but it's better than nothing.

bronze light
#

My unity is crashing sometimes when I hit Play and sometimes when I Build and Test. If it happens when I Build and Test the SDK menu stops showing all of the options and all of my UdonSharp scripts break. Then I have to re-import the SDK and re-do all of my public vars which is a pain. Is there a workaround/fix?

#

Unity 2018.4.20f1 --- sdk 2020.05.06.12.14

scarlet lake
#

how to trigger haptics/ find documentation on triggering haptics in udonsharp, onegai ๐Ÿ™

fiery yoke
#

@lament scarab @unborn hornet You can use Debug.LogError to log your own error messages.

valid basin
#

How to randomize the ordering of an array with gameobjects using Udon codeblocks?

valid basin
#

Anyone?

#

This shouldn't be so hard to do but for days of googling i havent found any examples or answers

#

var arrayShuffled = arrayUnshuffled.OrderBy(x => rnd.Next()).ToArray();
this but in code blocks

fiery yoke
#

That piece of code uses LINQ which is not and probably wont be in Udon for a while. Shuffling an array is not that easy as it were with lists.

valid basin
#

ah i see

#

can you make any suggestions how to do this @fiery yoke ?

fiery yoke
valid basin
#

I've directly copy/pasted the elements that make a pickupable item as far as i understand, but the items still can't be picked up. Any suggestions?

scarlet lake
flint urchin
#

You need to override the method for it to show

scarlet lake
#

oh, i see

#

i have to get all the stuff before the method name to match first

#

thanks Phaxe

distant abyss
#

I keep getting this in my console:
Assets\UdonSharp\Scripts\UdonSharpBehaviour.cs(120,62): error CS0234: The type or namespace name 'Video' does not exist in the namespace 'VRC.SDK3.Components' (are you missing an assembly reference?)
Anybody know a fix?

#

idk if my udon is outdated or something

fiery yoke
#

Yes probably, update the SDK

distant abyss
#

wokred ty!

twilit breach
#

is there a way to tell which controller (left or right hand in VR) interacted with an interact event?

fiery yoke
#

Dont think so

twilit breach
#

I've never thought of it but are we aloud to add the VR support normal unity devs use? I'm completely unaware of what they are but isn't there like a steamVR package or something that gives you access to player controller locations?

#

I'm not being specific enough I'm sure, but it would be the thing devs normally use to parent objects to controllers locations or something to the same effect

fiery yoke
#

There is a few VR SDKs, but none of the scripts would function obviously, and thats generally not intended or supported by VRC in any means...
The best you can do is to get the controller inputs directly, make a camera override system, make your own locomotion/controller system and basically put everything over the already existing VRChat stuff. But I would say that its way easier to make your project fit VRChat, not make VRChat fit your project :P

burnt jackal
#

My map has objects that collide with other objects, but I don't want players to collide with some objects. You used to be able to this with a "special layer" component to let players walk though something, but still collide with stuff in the world.

Is there a way to do this in Udon?

fiery yoke
#

You just set the object to be on a specific layer. The one youre looking for is called "Walkthrough" probably

burnt jackal
#

Oh, I didn't know you could do this. Does the SDK2 have this layer?

fiery yoke
#

Im not sure but I think its even an in-built Unity layer. So yes.

burnt jackal
#

Oh, sweet. Thanks. ๐Ÿ‘Œ

unborn hornet
#

@twilit breach You could try instead of using Interact, use OnPickup, determine the target hand, force drop the object and restore the object's position.

#

I'm not sure if that's possible with Udon Noodles, but I know it's doable in U# as it's a method I used for my exclusive ownable pickups.

unborn hornet
#

Hmm... in the graph, how does one assign a value to a variable directly? Having trouble finding it...

#

Nvm, figured it out by accident

unborn hornet
willow dove
#

Anyone knows how mobile station works?

#

I want player to be able to walk while on a station

#

I tried a few things but nothing appears to be working

tall cairn
#

Hello how do i update a private world i just uploaded?

fiery yoke
#

Just upload it again. As long as it still has the same id it will overwrite it.

willow dove
#

For some reason station and udon behaviour doesn't work together

tall cairn
#

@fiery yoke ok thank you โ˜บ๏ธ
I'm guessing it takes a bit to show the update in VRC?

hushed gazelle
#

Is there a tutorial somewhere on how to set up networked scorekeeping?

lunar mauve
#

@tall cairn you need to re enter the world for it to update

tall cairn
#

@lunar mauve oh I did that already but will try again

grand temple
#

@willow dove station set to mobile doesn't seem to do anything. What you're looking for is station set to standing

#

If you want the player to still be affected by the station like a vehicle you can walk around in while it's moving, you're going to be disappointed though. Standing mode just means you're technically in the station but you won't be affected by it at all

lunar mauve
#

Does anyone know how to do a speed toggle? I cant for the life of me figure it out

grand temple
#

on interact > set local player's runspeed

lunar mauve
#

Oh my god is it really

#

Thanks phase

willow dove
#

@grand temple I want the station to follow player's movement

#

Not sure if that is doable

grand temple
#

I'm confused what that even means

#

Do you just want an object to follow the player? Why does it need to be a station if you want the player walking around outside the station

willow dove
#

Because I intent to do something that allows the station to move the player

#

I can't just teleport because it can't rotate player on their x and z axis

#

I would need to rotate the station instead

grand temple
#

ah I see

willow dove
#

I'm not sure if that is doable or not

grand temple
#

you really can't mix and match, your only real option then is to make the player sit down fully and then get input to move the station. Effectively you'd be creating your own player controller from scratch. It will be janky and your legs won't walk, but that will allow you to achieve the effect you're looking for

willow dove
#

Yea I would think so

lunar mauve
#

Hey @grand temple still having trouble with the speed toggle. can you show me an example?

#

if its not too hard

grand temple
#

are you using udonsharp or udon graphs?

lunar mauve
#

graphs

grand temple
tall cairn
#

How do we find out what was reported on a private uploaded world?

I just created this world and I'm the only one who's been in the world ๐Ÿง

lunar mauve
#

All worlds have 1 report on them, its like testing the system or something?

tall cairn
#

ah ok thank you! @lunar mauve

bronze light
#

My unity crashes when I click build + test then the SDK stops working in that the menu is empty. If i reimport the SDK I have to re-add my udon scripts. Is there an alternative?

bronze light
#

It is very frustrating that it is a 50/50 chance my unity crashes and I have to spend 10 minutes re-adding my Udon scripts to 20 game objects and prefabs

left canopy
#

so, perhaps a log file is handy with a crash. i dont really have much experience with udon scripts and stuff but perhaps there is a error in one of the scripts making it crash. i code websites and i've seen chrome crash just because i forgot a ; or just plain written something wrong

#

like a picture copy pasting over and over again

#

till the chrome memory was full

bronze light
#

Okay so unity is crashing every time I click build + test

valid basin
#

i am working on a shufflable deck, in theory it should work but it doesn't in practice. I think because i may not have used the "networking" implementation which is used for example here https://ask.vrchat.com/t/deck-of-cards-networked-udonsharp/3050 though i am unsure what the logic behind this networking thing is

#

Is there anyone that could enlighten me on the subject?

bronze light
#

I installed the latest SDK3 and the version.txt is still showing an old date. Is that a bug?

valid basin
#

did you start a new project or update an old one ?

valid basin
#

@bronze light ?

fiery yoke
#

Dont worry the version.txt was broken for a while. Supposedly fixed in the beta version afaik

#

And also Networking is very very limited right now

#

I have made a full version of Poker, and it was very brittle networking wise

valid basin
#

@fiery yoke i narrowed down my problem: it seems like cards that i pick up are no longer are addressed by the script

#

do you have any idea why this might happen?

fiery yoke
#

No idea what youre doing so no

valid basin
#

i have an array with a bunch of game objects which are all individual cards that can be picked up (they make up a deck)
i made a reset/shuffle button that does 2 things: randomize the array and then sets the transform for each card to form a stack of cards again

#

The reset/shuffle button works, but once a card is picked up it is no longer affected by the script

fiery yoke
#

I would never have all pickups be active at the same time. I would just have the topmost card be pickupable. Since otherwise you might grab a card from the bottom or middle of the deck.

#

And again I have no idea what youre actually doing in your code so I dont know what could cause that. And I frankly dont have the time to help you through it right now :P

bronze light
#

@valid basin It is a project I created 1 month ago

#

I did upgrade the SDK version

valid basin
#

i sent you a screenshot of the code @fiery yoke

#

i have to say too that i'm not really sure what i'm doing most of the time, very new to Udon, so the code might not make sense in some places. Really just putting together bits of examples and seeing what sticks

valid basin
#

turns out the card objects not being kinematic was an issue

bronze light
#

Is there a Respawn function for VRCPickup udon sharp component?

willow dove
#

Anyone knows how to get a standing station working? No matter what I do I always appear seated

hoary echo
#

I'm playing around with for loops with a gameobject array. From what I can see, this should theoretically work, but it only runs on the first object in the array, then exits. Any suggestions?

#

(I've tried with and without the Get Upper/Lower Bounds)

hoary echo
#

Got it, needed to use Get Length and not upper bound

twilit horizon
#

if the localplayer.teleport() runs every frame on their player, how much traffics does send to the server?

my friend tested at my world, And seems there's lot of traffics(their voice quality degraded) but not sure actual data amount of that method...

raven peak
#

@twilit horizon I dont think there is any documentation out there about this. there has been a network update being worked on, we might get some documentation like this then. till then its a bad idea to teleport each frame.

#

what are you trying to do. ive used set velocity to move the player around in a world before.

twilit horizon
#

@jetdog8808 Making climbable walls using hand tracking position, I thought I need to update their position directly so that method handles more accurate.

#

Well, that was not good though. I think I need to calc velocity to do that but need to understand the mechanism of world geometrics..

raven peak
dire orchid
#

How would one make a pickupable card snap to a position if it is close when dropped?

distant abyss
#

Does anyone know how to add an animation to a chair so when you sit in it you sit in that animation?

limber jackal
#

Quick question. When I instantiate objects with udon, the object appears in the correct place for the master, but everyone else sees the object jumping between where it spawned for the master and where the object that was being copied was. Any idea on a good networking setup to prevent this from happening and sync the object location for everyone?

fiery yoke
#

Networked instantion is not implemented yet.

limber jackal
#

Alrighty thanks. yeah I was wondering because I couldn't figure out any setup for days that worked the way I wanted it to. I guess I'll figure out some object pooling system instead

glossy sky
#

Question! I have an empty object we'll call Object A that follows player locally and another game object, Object B, that on toggle follows Object A. That being said, if two players were to join and I wanted Object B to follow Object A of whomever toggles a button, how exactly do I go on about tackling this?

fiery yoke
#

Store the player id in a synced int then get the playerapi using VRCPlayerApi.GetPlayerById and use that as your player follow target.
Ohh wait you have another proxy object

glossy sky
#

Mhm. That's the part that throws everything a bit off.

fiery yoke
#

That doesnt make much sense then. If the object is local it is local. You should instead get the position from the player directly since the players position is already synced.

glossy sky
#

Hmm. True true. Alright, I'll give that an attempt. Thank you~!

fiery yoke
#

You can ofcourse still have a proxy object to follow

#

Basically the follow object has a "VRCPlayerApi" variable that you set to the synced one. It then just follows whichever player is set in that variable.

glossy sky
#

Hmm, I think I understand. I'll come back here later if I'm still having trouble. Thank you again~

scarlet lake
#

i have a mirror system that i want to turn off when the player leaves the area. I have a child gameobject that is the collider. I want to do something like I have in the screenshot. How do I go about doing this?

fiery yoke
#

For that to work you need to have the method OnPlayerCollisionExit (And Im pretty sure you want to use OnPlayerTriggerExit in fact) in an UdonBehaviour thats on the Object with the Collider. You can then forward the event with a normal method call.

scarlet lake
#

so i do need to put another udon script on the collider?

fiery yoke
#

Pretty sure. yes.

scarlet lake
#

beh

#

i'll put the collider on this thing directly then

#

ty

fiery yoke
#

I think I have seen that kind of syntax before tho, can you give me the .NET Documentation on it?

scarlet lake
#

idk

#

it's just an arrow function wew

fiery yoke
#

Yeah that is a proper expression body definition

#

But I meant the Collider.blabla = () part

#

What were you trying to do there? xD

scarlet lake
#

i'm not good with technical words

#

but i'm trying to assign a function to it

#

JS style maybe

fiery yoke
#

Yeah JavaScript and C# are often very different in how you define things :P

scarlet lake
#

i am a dum dw

#

i scramble my way through c#

native estuary
#

Can you use lambdas in udon sharp?

fiery yoke
#

Its not a lambda

#

Well

#

its the lambda operator

#

But Im actually not quite sure if Roslyn handles that so its already "solved" before UdonSharp even touches it or not.

serene moat
#

U# does have specific handling for expression bodied methods

#

It does not handle lambdas used to define anonymous functions though

polar scaffold
#

I don't know if this is necessarily an Udon question but... is there a way to create multiple objects in a room that lets the user interact with it as a web browser? Doesn't have to be shared content, local is fine. I know web panels were deprecated from vrchat, wondering if maybe that was to allow Udon to make something better.

hollow juniper
#

Can you force an avatar change before the one they join in gets a chance to start loading?
or will that always trigger first?

want to make people join as a optimised one to try and limit the lag spike when people join with hefty avatars in a club world

severe tree
#

It's not VRChat's intention to allow world makers to force certain avatars on players as per what Momo has said before, so no. I've heard there was a way you could do it in SDK2 but haven't heard of a way to do it with Udon yet.

fiery yoke
#

It is still the same as with SDK2 just with Udon functions instead. You can still force someone into an Avatar in your world.

severe tree
#

Huh, well, now I've heard.

fiery yoke
#

You essentially make someone use an Avatar Pedestal that has the avatar ID in it.

hollow juniper
#

i know you can swap someone, but more was asking about before the avatar they join in starts downloading

been issues when someone joins in with a large avatar it crashes out people.
Also if the bug still exists if they switch while that large avatar is still downloading it will swap back to it once done even if they change to a green.

will not be able to enter the world without interacting with a pedestal or by being allowed in anyway.
more asking if i can stop that initial lag spike that comes from large avatars.

so the goal is to have everyone spawn in as the same avatar
stop that glitch happening
reduce spawn lag

fiery yoke
#

I dont think that is realistically possible without some major pain and issues.

bronze light
#

I am getting this error in my vrchat logs when running my map Failed to call function [a lot of chars] of class NetworkManager Calling function [a lot of chars] with no parameters but the function requires 2. is it safe to ignore?

tall cairn
#

Is there a place to get basic scripts for Udon like... toggle on and off? Toggle audio on and off... basic stuff like that for people like me who do not know coding language.

hollow juniper
#

Text mesh pro not working with udon? Can't seem to link with it

granite crest
#

@bronze light Is your map still functioning? If so - probably safe to ignore.

dawn gull
#

I'm trying to call a public boolean from another Udon Behavior Script but it keeps returning null. I know for sure that it is true within the other script. Any idea how to do that?

My goal is to make a particular event happen with one object only while another object is actively being held and used.

#

There's the code I have so far

glossy sky
#

So not sure if it's just me doing something wrong or because I'm using to build/test with 2 clients but chairs appear to be broken?

Basically, if I sit down with the first test client, I'm able to sit down but with the second client, when I sit down on the chair, it pulls the first one back onto the chair and forces them to sit and be completely stuck. The same result even applies to the prefab chairs.

https://i.imgur.com/QSDDDQ5.png

#

^ You can see the second client stuck onto the chair.

EDIT: Tested with a friend and it works normally so I'm assuming it's because of me using the test/build with 2 clients and to the fact that it's using the "get local playerapi" but because it's basically multiples of me, it pulls my other client back to the chair.

hollow juniper
#

@dawn gull not looked into it but since you are having trouble guessing it's not to easy.
one idea would be send two events out one for true and one for false

dawn gull
#

I'll give it a shot

tall cairn
#

@hollow juniper thank you I will check that folder!

bronze light
#

@granite crest Yea

flint urchin
#

@glossy sky yeah, you wonโ€™t be able to test networked events with local clients, since local client are all your clients.

Youโ€™ll have to upload and login with two different accounts.
Use the โ€”profile=X (X is a number) launch option. https://docs.vrchat.com/docs/launch-options

glossy sky
#

Awesome, thank you for the note~

twilit horizon
#

what does Networking.LocalPlayer.CombatSetup() work?

#

Should I use that?

stark adder
#

When do we expect the Voice update to be released ?

flint urchin
#

When there is no bugs with it, which there is atm

cunning mist
#

I'd say it will be released some time between tomorrow and New Year's Eve.

stark adder
#

๐Ÿ˜„ Nice

bronze light
#

When there are 3 or more players in my world it gets unplayably laggy. When it is 2 or less players it is very smooth. Why is that?

#

Could it be too many synced vars or something?

granite crest
#

@bronze light how many vars are you syncing?

scarlet lake
#

how do i make OnPlayerTriggerExit local?

fiery yoke
#

if (player.isLocal) { }

scarlet lake
#

ty

#

so it triggers the event for every player

#

interesting

#

i never really thought about how this shit works

fiery yoke
#

Well the players colliders are automatically synced

#

so the events are not networked, but the cause is.

#

Networking involves a lot of thinking with cause and effect

scarlet lake
#

oh, this relates to another question i had

#

how do i sync pickups now?

#

seems there's no vrc sync component

fiery yoke
#

You put an UdonBehaviour on it, put in an Empty Graph and tick the "Synchronize Position" box

scarlet lake
#

beh

fiery yoke
#

indeed

#

Especially since Pickup sync and normal position sync works different afaik anyway. No idea why they dont put that option on the Pickup themselves...But its the same component for SDK2 and 3 I think, so it would probably lead to some problems...and instead of doing that, its probably easier to just do this weird unintuitive thing.

scarlet lake
#

how do i put a graph on it lol

#

i've only been using udonsharp

fiery yoke
#

There is an empty graph that comes with the SDK just called "Empty". There is a selection icon next to the program source field. Click on it, type Empty and double click it.

scarlet lake
#

cool, thanks ๐Ÿ‘

tall cairn
#

@hollow juniper I looked in that folder you mentioned but I only see prefabs and not sure if they have scripting assets on them. I was wondering if they already work as a button and then I link them to the other components to control. Edit: I think I found them? Not sure how to get them into my other scene though. I'll keep looking online

deep raptor
#

im trying to find out if a player has a pickup in hand but i get NullReferenceException on other clients except master. Even when cheking if it is null. I have a debug.log before this line and its showing the player. this code runs on master. player.GetPickupInHand(VRC_Pickup.PickupHand.Left)

distant abyss
#

Does anyone have a script to respawn items by any chance?

scarlet lake
#

Guys i cant see my friends in my offline list how can i solve this?

#

How do i log in with my steam account into VRChat site cuz it doesnt work for me ๐Ÿ˜ฆ

rotund willow
#

So I'm working on my video player and wanted to use realtime emission on it. It seems to be working in unity but doesn't ingame. I'm currently using AVPro. Is it the video player type or am I doing something wrong?

zenith river
#

woouw, that looks trippy, for a sec i thought the image was upside down

fiery yoke
#

You have a wooden roof?

zenith river
#

you dont?

fiery yoke
#

:D

rotund willow
#

XD

scarlet lake
#

how do i disable the gameobject that the udonbehaviour is attached to?

fiery yoke
#

gameObject.SetActive(false);

And for UdonSharp related questions you should probably ask in Merlins discord instead of here.

scarlet lake
#

owo

#

i was not aware

#

ty

bronze light
#

@granite crest 33

granite crest
#

I don't think that'd be enough to lag you with only 3 clients, but I'm not sure. Probably depends on a number of other factors as well. Do you really need to be syncing all of those variables?

bronze light
#

Yes. I have a phasmophobia like game with flashlights and other objects that need to be turned off and on, synced position, etc.

#

Oh yeah that's 33 in my scripts. I have prefabs so add another like... 14 to that number ๐Ÿ˜„

frank lily
#

how would i go about increasing the voice range of users in a world? i wanted to try and increase it because the voices in my world sound very small and low range, like 5 meters til i cant hear anyone. I was trying to look at some documentation that suggested there was a user voice falloff range in the vrc scene descriptor, but it is not there from what i see, and i also read about player audio override but i cant seem to find that either, i'm assuming those arent in udon now?

#

oh i'm seeing it now

#

hecc

#

of course i'd find it right when i ask lmao

#

ok not understanding now i'll ask how to set it up lmao

grand temple
#

The documentation about the scene descriptor was for sdk2. They just added that functionality to the open beta. If you wanted to just apply a voice change to everyone in the whole instance, you would first install the open beta sdk and then do onplayerjoined > setvoicedistancefar

frank lily
#

so then no way to do it in current udon that isnt beta?

#

because the thought of upgrading an sdk scares me as i've somehow fucked it up with the help of others 4 times in a row and ruined so much lol

grand temple
#

Sdk2 upgrades were a mess but with sdk3 you should be able to just dump it on top

frank lily
#

i'm looking at this right now, it should be for the current build and not the beta, so i should have it, but i'm not seeing an option for voice falloff near or voice falloff far

#

i have everything but those two and a few others

#

maybe my udon sdk is just a tiny bit too old?

#

though the webpage says it was updated 11 months ago and i got mine well after that

grand temple
#

If if mentions anything about voice ranges related to the scene descriptor or a component called audio override region, that documentation is for sdk2 period. The only way to change voice range in sdk3 (udon) is through the new functions just added in the open beta.

frank lily
#

well shit

#

i'll wait then

#

man fuck it i'll have to update anyway

grand temple
#

You're going to have to update your sdk anyway, whether it's open beta or live your installed sdk still needs to be up to date to use the new features

frank lily
#

docs are saying what to do for if i have what version of udon types, how do i check what version i have?

#

the file only says 2020.04.25 but i dont think that corresponds to the document's 2020.3.2 since there's no 0 in front of single digit numbers

#

oh i got it it's within the udon folder

grand temple
#

The sdk has a version.txt but it's not always accurate

frank lily
#

i'm well beyond 2020.3.2 if this is true then

#

i'm just gonna drag the fucker in

#
#

ok this doc only says that i can do it, not exactly how

#

like do i need an empty with a new graph or is this added onto the existing vrcworldsettings udon script?

#

and how would that work 0.o

grand temple
#

Yes, that is the correct udon documentation. You can add those nodes to any graph you want, but I would not recommend modifying the vrcworldsettings graph because it will be overwritten the next time you import an sdk

#

The way it works is that everybody is running this code separately on their own computers. As a result when you set the voice range of a player, that will affect only the people who ran that code. So if you do on start > set local player voice range, that won't do anything because voice range is not synced.

#

Instead you need to use onplayerjoined > set voice range. onplayerjoined will happen on every client whenever a player joins, so everybody will change everybody else's voice range

frank lily
#

alright so i'll need to make a new graph on any object right?

grand temple
#

Yes

frank lily
#

which of these do i start off of? or does it gotta be a new one in which case how the hell do i open a graph for one lol

#

cus hitting new program only lets me copy assembly code

grand temple
#

Make a new folder or something to contain your own custom graphs and then it's something like right click > vrchat > new udon graph

frank lily
#

i'm just now realizing i only got the updated sdk not the beta one

#

;-;

#

where do i find the beta? i'm not seeing on the vrc website

grand temple
frank lily
#

thanks lemme pop that in

grand temple
#

Also when you're ready to test ingame, you'll need to get the beta client through steam

frank lily
#

yeah this kills my plans i'm gonna have to wait for it to go live

grand temple
#

Should be no more than a week or two

frank lily
#

then i'll sit on my pretty ass

#

thanks for the help bud

bronze light
#

@granite crest Found the issue - I was calling SetOwner in Update

frank lily
#

new question, how can i set a pickup object up so that i can pick it up from a long range, but it doesnt drag over to my hand

#

in other words, i can pickup something from like 20 feet away but it'll stay 20 feet away, but i can still swing it around

frank lily
#

also on the same item, how can i make it have a vrc pickup that isnt able to pickup while sat down on the seat?

#

i'm currently testing methods so i may find out how to do it, if i do i'll say here

granite crest
#

Ah, okay. Glad its fixed.

bronze light
#

๐Ÿ‘

#

My friend's Build + Test is failing and they get this error:

2020.10.27 00:56:40 Error      -  XR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_NoLogPath: "Log path could not be located (112)"!



2020.10.27 00:56:40 Exception  -  UnauthorizedAccessException: Access to the path "C:\Program Files\Steam\steamapps\common\VRChat\VRChat_Data\VRCHIVE.ini" is denied.
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <00000000000000000000000000000000>:0)
System.IO.StreamWriter..ctor (System.String path, System.Boolean append, System.Text.Encoding encoding, System.Int32 bufferSize, System.Boolean checkHost) (at <00000000000000000000000000000000>:0)
System.IO.StreamWriter..ctor (System.String path, System.Boolean append) (at <00000000000000000000000000000000>:0)
Eyeshot360cam.ReadPanoConfig.ว…ว„ว„ว…ว…ว„ว…ว…ว„ว„ว…ว„ว„ว…ว„ว„ว…ว„ว…ว„ว„ว…ว„ว…ว…ว…ว…ว„ว…ว„ว„ว…ว„ว…ว„ว„ว„ว…ว„ว…ว„ว…ว„ว…ว„ว„ว… (System.String ว…ว„ว…ว…ว…ว„ว…ว…ว…ว„ว…ว…ว„ว…ว„ว„ว…ว„ว„ว…ว„ว…ว…ว„ว„ว…ว…ว…ว„ว„ว„ว„ว„ว…ว…ว„ว„ว…ว…ว„ว„ว…ว„ว…ว„ว„ว…, Eyeshot360cam.Eyeshot360cam ว…ว„ว„ว„ว„ว„ว„ว…ว…ว…ว…ว„ว„ว…ว…ว„ว„ว„ว…ว„ว„ว…ว…ว…ว„ว…ว…ว„ว…ว…ว„ว…ว…ว„ว…ว…ว„ว…ว…ว„ว…ว…ว„ว…ว„ว…ว„) (at <00000000000000000000000000000000>:0)
Eyeshot360cam.ReadPanoConfig.Start () (at <00000000000000000000000000000000>:0)



2020.10.27 00:56:40 Exception  -  NotImplementedException: The method or operation is not implemented.
System.IO.FileSystemWatcher..ctor (System.String path) (at <00000000000000000000000000000000>:0)
VRC.SDKInternal.SDKWatcher.Start () (at <00000000000000000000000000000000>:0)



2020.10.27 00:56:40 Error      -  InitVRSDK failed: failed to load 'OpenVR'!

Is there a reason why?

flint urchin
#

Tell them to uncheck Read only on their VRCHIVE.ini file

jaunty schooner
#

Has anyone implemented a basic combat system for Udon where you can hit someone with a weapon and they'll ragdoll before respawning? I'd rather not have to roll back to SDK2 for my world just to have it ready in time for Halloween.

prisma horizon
#

I am trying to upgrade a world from SDK2 to SDK3, however there are a lot of errors. Mostly involving references to VRCSDK2. Here is one of the errors:
Assets\VRCSDK\Dependencies\VRChat\Editor\Components\EventHandlerEditor.cs(12,34): error CS0234: The type or namespace name 'VRC_EventHandler' does not exist in the namespace 'VRCSDK2' (are you missing an assembly reference?)
I've looked through this chat and removed the pipeline manager from the VRC_World

keen imp
#

@floral dove you mentioned in #open-beta-discussion we could access TMP now but im still unable to do so on 2020.4.1

glossy sky
#

Anyone else having problem with this update? I can't even open up my udon graph anymore.

EDIT: Never mind, fixed it!

fiery yoke
#

@keen imp "the TMPro ticket was moved prematurely. I've moved it back now with a note. TMPro has been whitelisted for UI events as a stopgap" - Momo

Its not in the current release unfortunately. But soonโ„ข๏ธ

keen imp
#

;-;

floral dove
#

Sorry

keen imp
#

ETA?

#

This is quite a critical component which is needed

floral dove
#

It should be in the next release, likely a few weeks out

keen imp
#

Perfect

#

also the SDK update notifier is broken it always says there is a update no matter what also the SDK version tab is also broken in settings

#

it reads the wrong version

fiery yoke
#

Yeah that has been broken for a while. Together with the version.txt

keen imp
#

yup

#

I mean not that big of a deal until you actually run into a issue thats solved in a newer version

floral dove
#

version.txt is updated in this version

#

Updater is still incorrect though ๐Ÿ˜ข

fiery yoke
#

F

unborn hornet
#

F

#

Anyone else having an error pop up like this?: Assets\VRCSDK\Dependencies\VRChat\Scripts\Validation\WorldValidation\UnityEventFilter.cs(912,24): error CS0246: The type or namespace name 'Cinemachine' could not be found (are you missing a using directive or an assembly reference?)

fiery yoke
#

Restart Unity

#

it was a problem in the Beta

unborn hornet
#

Ah k

fiery yoke
#

And still is apperantly

sly pollen
#

ok so im working with udon and i see the checkbox for "sync animation" on the udon behavior is greyed out. Does this mean i cant use an animation to move a transform for everyone in the room at once, and if so is there a way that i can get around this limitation? All help is appreciated!

stark adder
#

Restart Unity
Someone should probably PIN this

sly pollen
#

Also in my above situation, I'm just making a light move back and forth along a straight path which makes me think I could probably get away with just lerp-ing the positions and syncing position through udon behavior but I feel like that's not the right way

severe tree
#

You can sync animations (relatively closely anyways) manually through UDON but the sync animation checkbox will do it automatically like the sync position when it's added. So you could definitely use an animation to move something and it sync, you just have to manually make it do so through the graph or program.

#

@sly pollen

stark adder
#

Do i use .SetVoiceGain(x) on LocalPlayer or can i use it on any player

fiery yoke
#

It is all local. So if you set your own voice...that wont do anything.

sly pollen
#

Tysm auxiar!

scarlet lake
#

i noticed in my world i cant jump but when i look at the vrcworld object it has jumpimpulse and it does not work. so i tried making one a udon graph and it still does not work. how can i have jump in my world.

finite drift
#

@scarlet lake do you have gravity somewhere? It could be pulling you down intensely

#

Also, I'm stuck on something, I hope anyone can help me further..
In sd2k you have these audio boosters for DJ booth, made with the VRC_PlayerAudioOverride component..
Is there any way I could achieve this with udon?

Sumary.. how can I boost a players microphone volume and range in Udon?

finite drift
#

I've seen this, but I use the udonsharp compiler so I prefer to write in code

cunning mist
#

Haven't tried it myself, but I can only assume it's "playerVariableName.SetVoiceGain(10)"

flint urchin
#

Just playerapi setvoicegain yeah

pulsar cove
#

Is it possible to call AVPro directly from Udon? I've noticed it creates a rather large buffer (up to 15s!) when left to auto play

finite drift
#

@cunning mist like this?

#

because that doesnt work :c

cunning mist
#

I haven't played around with it myself, sorry.

finite drift
#

hm :c

#

Is there any api I can read out to see what I can use?

cunning mist
#

If you type "set" after it, is there any autofill?
I'm also assuming you're on the newest sdk and U# 0.18.6

finite drift
#

ye I'm on the newest things, just double checked it for ya

#

uh, no I dont get any autofill

#

I'm using visual studio code tho

#

With the C# language color/filter

cunning mist
#

It may require a library I don't know about. You might want to try VS2019 instead so they can look through dependencies better.

finite drift
#

hm

#

It's weird that the node graphs show it as Set Voice Gain

#

But then the most obvious what you would do in code is not possible x)

#

@flint urchin you got any other idea?

flint urchin
#

Well, since this is very UdonSharp specific I recommend you join the UdonSharp discord and take it there.
Official channels aren't really meant to be used as support for third party tools ๐Ÿ™‚

finite drift
#

Oh sorry

edgy ingot
#

avatars 3 and i'm assuming udon are bonked in-game right now, so if something doesn't work in-game that should, just wait a couple days or wait for #announcements

hoary tide
#

I got a simple Voice falloff min and max based on avi trigger working. The main thing is you can't test it locally on your own from what I've tried. I had a friend help test after I uploaded.

flint urchin
hoary tide
#

Yep that makes sense wish I knew about this last night. I thought I was going crazy.

fast horizon
#

How do you access the audio modifications to player audio in the world now?

floral dove
#

@fast horizon check the Udon Example Scene, it's got an example.

hoary tide
#
fast horizon
#

Thanks, didn't know that, just needed to be pointed the right way

pulsar cove
#

AVPro takes a while to start playing with auto play and it's creating a long buffer. Does anyone know of a way of starting it quicker?

#

Or a way to somehow check the "low latency" checkbox in the AVPro component?

fast horizon
#

in the Ctor for VRCPlayerApi[] what is the integer?

#

Should that be something like ~40 so it gets every possible player?

unborn hornet
#

VRCPlayerApi.GetPlayers(new VRCPlayerApi[VRCPlayerApi.GetPlayerCount()]);?