#udon-general

59 messages ยท Page 41 of 1

prisma abyss
#

ah thanks

#

What is advised UdonSharp version?

#

0.18.8 has also bug

haughty depot
#

I made a button for post processing but it doesnt work its the same code as the mirror button i made but the mirror button works fine why is that

#

post processing is set up correctly too bc if i enable the cube that controls it manually in unity it works

dapper lion
#

@prisma abyss i always suggest 0.18.6

prisma abyss
#

ok

#

with last SDK3?

dapper lion
#

@prisma abyss ive not seen the latest sdk, but if you need an older version that ive been using, i can send

prisma abyss
#

i have many sdks stored, let me know which sdk is good

dapper lion
#

@haughty depot define "cube that controls it manually in unity"

haughty depot
#

i put the post processing volume on a cube

dapper lion
#

@prisma abyss 11.16.12.43 has been kind to me

prisma abyss
#

ok lemme see

haughty depot
#

if i check the box to enable object the bloom works

dapper lion
#

@haughty depot thats not right

haughty depot
#

wdym

dapper lion
#

a mesh filter should not have a pp component

haughty depot
#

huh

#

it does

#

wdym

dapper lion
#

priority also needs to be 1

haughty depot
#

ok

#

wdym by mesh filter

#

like remove it

dapper lion
#

also it cant have over abundents of components unless youre seperating layers (its weird but in game, itll treat it as another layer)

#

correct\

prisma abyss
#

must i delete VRCSDK map for rollback?

haughty depot
#

what about mesh render?

#

so remove both filter and render

dapper lion
#

@prisma abyss define "map" cus that sounds dangerous

prisma abyss
#

directory basically ๐Ÿ™‚

dapper lion
#

@haughty depot just remake the whole pp component in a game object

#

@prisma abyss oh yea correct

prisma abyss
#

11.30 seems also work

jagged crag
#

Im new to udon and I think its a bit hard to understand how it works, how would I make fog density in the Lighting tab controllable through code? And is there a way to see the players distance away from a certain point in the map? Is stuff like this managable to do in udon as a beginner?

dapper lion
#

@jagged crag im not even sure how to do so, but if i can remember, theres a graph node that can alter lighting settings, but i cannot remember. it may be written in a doc somewhere. sorry if this doesnt clear too much

haughty depot
#

ignoring the button why doesnt it work in game?

jagged crag
dapper lion
#

@haughty depot does it work in unity? assuming so, cthe reference camera must be set, and the main ref cam needs to be indeterminated. correct?

#

@jagged crag define "see the distance from the player to another point in the map"

dapper lion
#

@haughty depot can you prove that this is the ref cam?

jagged crag
haughty depot
#

how do i do that

haughty depot
#

u mean like the trigger

#

i just double checked te camera is the triger

#

should i also set the camera layer to pp

dapper lion
#

@haughty depot open up the scene descriptor and find where it says "reference camera" and put the main camera there

#

as it needs that to know what filter to over lay in game

haughty depot
#

ok

dapper lion
#

@jagged crag what about udon sharp? i still wouldnt be able to help, but theres some more active smart people in the udonsharp community that would most likely know ways to help

jagged crag
dapper lion
#

@jagged crag its like C#, but for vrchat udon, you can find their discord and stuff, but if youve never heard of it, might be a bit hard for you

#

@jagged crag have youve watched any vowgan tutorials on udon graph?

jagged crag
#

aah, yeah im not entirely sure, I do (did) know a bit of C# but I kind of also want to try to code with the graph and not with text, so i dont really know which one i want to use

#

no I havent, would you reccomend me doing that=

dapper lion
#

yes, hes like the main tutorial man (imo) for udon learning

jagged crag
#

aha

dapper lion
#

you can join his discord and ask him questions

jagged crag
#

okay, thank you for the help!

hoary echo
#

Hmm, ok, playing around with some ClosestPoint nodes, but they seem to be crashing on run. Am I missing something obvious?
This code takes the player position and gets the distance between it and the cloest point on a collider, then when it's within 150m, it sets a volume slider from 0 to 100 as you get closer. (Yes, there is a reason why I'm doing it this way and not just using a native audiosource, unless someone can tell me how to make a box-shaped audio source)

bitter orbit
#

Is it possible to have a system that works like Udon arms, but on a avatar? I have characters with wings and it would be really nice to be able to puppet them directly with IRL arms instead of awkwardly using a bunch of gesture animations for specific poses.

cunning mist
#

Constraints, though that's an avatar question

dapper lion
#

@bitter orbit i believe so with locamotion, but id double check 3.0 avatar

hoary echo
#

Testing different things, the only error that pops up when I run in Editor is:

An exception occurred during EXTERN to 'VRCSDKBaseVRCPlayerApi.__GetTrackingData__VRCSDKBaseVRCPlayerApiTrackingDataType__VRCSDKBaseVRCPlayerApiTrackingData'.
Parameter Addresses: 0x00000006, 0x00000007, 0x00000005

Object reference not set to an instance of an object

But I have to assume that's because there is no localplayer for it to reference in the editor, right?

mighty fjord
#

Correct

scarlet lake
#

So, I just finished installing the vrchat udon sdk. What do I do next?

dapper lion
#

@scarlet lake add world into scene, then add the vrcworld prefab, then open the control panel, log in, then build and publish

scarlet lake
#

I mean for the udon part

#

so, I noticed two new folders and a new section at the top where file, edit and all that is called Cinemachine

dapper lion
#

@scarlet lake oh, never touched cinemachine. but its fairly basic coding and such

scarlet lake
#

Ok

#

I'm just going to upload the vrchat udon example scene to see if I have everything working correctly

dapper lion
#

um ok, ig

haughty depot
#

How do i make it so that an avatar pedestal can only be used by me and my friend

quartz meadow
#

have a script that can enable the pedestal (disabled by default), and it enables it locally if your name matches one form a whitelist

haughty depot
#

Oof

#

Idk how to script that

#

How do i disable it by default

quartz meadow
#

on script start, disable the object

haughty depot
#

If disabled people can still see the avatar but they just cant use it right

#

And all this can be done in udon graph right?

quartz meadow
#

they shouldn't see it, and yes, though I myself use u#

haughty depot
#

I have u# too

#

Oof im new to coding tho

quartz meadow
#

start simple, look at some u# prefabs and see how they work

haughty depot
#

The only thing ive made is an audio visualizer in my udon world

quartz meadow
#

takes some practice but its not that bad

haughty depot
#

Ok

chilly crater
#

It's still not possible to set the text of a textmeshpro in udon yet is it?

#

Nevermind, got it with a textasset

hallow sable
#

could someone tell me how to setup cards respawning to a location? like object sync.respawn? Can't seem to figure out how

#

it's a prefab of playing cards, can't seem to get it to work

cunning mist
#

If it's a synced object, the simplest way to do this is to iterate through them all in an array using a For node, setting the position of each one to 0, -1000, 0. Since they're now magically below VRChat's default respawn object height, VRChat will handle the actual respawning itself and you're home free ๐Ÿ‘

hallow sable
#

hmm

#

is there a way to just select the parent object and do that?

#

it's 102 cards so just don't want to have to all of them selected

haughty depot
#

For the videoplayer how do i make it not owner only

fiery yoke
haughty depot
#

?

fiery yoke
#

In other words: Thats hard.

#

The easiest way

#

is to just make whoever enters a url the owner of the video player

haughty depot
#

so the prefab av pro version can i just drag and drop into world and it works?

#

but in that case it would be owner only

haughty depot
fiery yoke
#

There is a node called Networking.SetOwner

haughty depot
#

ok but where do i put it

#

there is all this

fiery yoke
#

Yeah

#

as I said

#

Its not trivial

haughty depot
#

eh ill just use the prefab version then but then only the instance owner can choose the video?

fiery yoke
#

Yeah. There are other prefabs from other people that allow that

#

but all I know use UdonSharp

haughty depot
#

where is the prefabs

#

nvm

chilly aspen
#

I have a gameObject with a VRC Pickup (Script) component on it that has Pickupable = True. I need to set it to false during runtime. When I call:
GAME_OBJECT.GetComponent<VRC_Pickup>().pickupable = false;
It breaks my Udon Script. Is there a way to turn off picking up the object?

hallow sable
#

is the userlist prefab something that is public for udon?

hoary ocean
#

for desktop, is there any way to lock the mouse, like it does when you open your settings?

dapper lion
#

@hoary ocean like pressing tab?

hoary ocean
#

Sortof

#

I mean, I want to be able to try to find some weird way of capturing the mouse

#

I want to know if there is a way to emulate it

dapper lion
#

hold down the tab button

hoary ocean
#

it doesn't capture the mouse

#

unfortunately

dapper lion
#

then thats all i can think of

hoary ocean
#

cursor lockstates are blocked from udon. hmm

#

I'll figure it out. might have to opt for a physical menu, then use a raycast to draw a cursor on it

haughty depot
#

How to make an avatar stand that only i can use

scarlet lake
haughty depot
#

or does that work if i leave it as private

scarlet lake
#

Join the nazbol gang to find out

chilly aspen
unborn hornet
#

Yea nah we good.

unborn hornet
cunning mist
#

@haughty depot If your avatar is set to private than you're already the only one that can use it, but there's a few different ways you can go about it. If you're okay with the stand being in the world for everyone but only you being able to use it, than you're fine. If you want to hide it if the person doesn't have your username, than that's a different option.

chilly aspen
#

For the second option, add this in Start() on the UdonBehaviour attached to the avatar stand.
if (Networking.LocalPlayer.displayName != "Player Name")
{ gameObject.SetActive(false); }

cunning mist
#

I'm assuming they're using graph, so likely it would be the Start node going into a Branch that checks String Equality between the custom name and the Networking.Localplayer node with a drag out to Get Displayname.
Man graphs are hard to verbalize.

fiery yoke
#

Lmao this

#

Graphs are a visual tool. Using words is basically ineffective, or at least sub-optimal.

unborn hornet
#

I usually replace the . with a -> when I type

#

and prefix properties with get/set

cunning mist
#

The issue comes when you have more that a direct line haha

unborn hornet
#

Yea, kinda have to speak as to the implication that the person at least knows the basics of navigating the graph's UI. That's just a lesson on it's own otherwise.

crystal osprey
#

have a question when you make a switch for a game object like a video screen to turn it off and on but instead of it being a local control ..how do you make it world controlled

dapper lion
#

you mean global? or like a time delay event?

crystal osprey
#

global

dapper lion
#

if you have udonsharp, theres a premade global script you could use

crystal osprey
#

so if i tur it on everyone sees it on

#

i just have the graph isnt udon sharp something you have to add

dapper lion
#

yea

#

im pretty sure the graph for global (since its a network thing) is offully huge and hard to make in graph imo

crystal osprey
#

frankly i am not a programmer so anything i would make would be huge and buggy

#

so then how do i go about finding the udon sharp and the global script

dapper lion
#

yea, i suggest udonsharp for beginners or people that arent into coding, since it comes prepackaged with stuff sdk2 would automatically have on hand

#

lemme send you my copy of u#

haughty depot
cunning mist
#

Glad to help ๐Ÿ‘

grim moon
#

Is there a tin foil avatar in VRChat?

atomic sinew
#

Is there a way to check if you're world creator and if so, give them an icon above their head?

hallow sable
#

is there a way to really optimize udon worlds with occlusion? I heard there was better ways

#

D:

long fiber
#

How to prevent object blocking avatars but still with colliders for picking and standing on the floor?

vague mantle
#

would anyone know how to do like a touch slider or physical button?

paper plinth
#

discord search > google

#

there's loads of stuff here

vague mantle
#

yeah, im brand new to udon, so not sure where to even start or what to do with that

#

paste what to what?

paper plinth
#

it means to add an udon behavior component to the object, click new program, copy the code example, and paste it into the udon graph window that comes up, I believe, but I didn't watch it

#

you might want to do the videos on the website first. They're quite old but they'll tell you at least how to use a node graph for an interface

#

I spent about a week grinding transform and I can do a lot of stuff now, it's worth just getting a handle on the basics

hoary echo
#

Is there any seamless portal asset on the unity store that is known to work with SDK3? I've given up on trying to find something for free, haha

fiery yoke
#

Seemless Portals are one of the hardest things to do probably.

hoary echo
#

Yeah, I've been looking into it, thinking that maybe I could build one myself. Lol, nope. I found a VRC Prefab for one that supposedly worked with SDK2, but that's all

fiery yoke
#

I made one before and it used a lot of rendering tricks and jank

#

Also teleporting didnt really work

#

VR makes it even more complicated

warm goblet
#

Hey isnt there a way to enable "legacy locamotion" or whatever in SDK3?

#

like with stutter step

vague mantle
#

anyone know what this means? "[<color=#FF00FF>UdonSharp</color>] Assets/Physical Interaction/Scripts/PlayerHeightDetector.cs(6,0): System.Exception: User type PlayerHeightDetector could not be found"

#

or what this means? "[<color=#FF00FF>UdonSharp</color>] Assets/Physical Interaction/Scripts/Buttons/PIButton.cs(6,0): System.Exception: User type PIButton could not be found"

warm goblet
#

We have a world that has been public since 2019, we uploaded a new version and the "last updated" date isnt changing on the world page, nor is it under recently updated

dapper lion
#

was the sdk updated?

warm goblet
#

as of today, yes

#

we moved the world from SDK2 to SDK3

#

and it was the newest SDK3 as of today

dapper lion
#

whats the console saying?

warm goblet
#

when, when we upload?

dapper lion
#

yes, or whenyou press play if the error console gets cleared by that

#

theres a certain error that usually makes it so it looks like it uploaded, but doesnt acc update the existing world, you miht be having that issue

warm goblet
#

oh it did update for sure

#

no errors or warnings

dapper lion
#

interesting, mustve been updated when there was a hiccup, or its just a problem from transitioning from sdk2 to 3

warm goblet
#

its a full rebuild of the map with the same blueprint ID.

#

we're trying to upload again maybe it'll work this time ยฏ_(ใƒ„)_/ยฏ

dapper lion
#

hopefully

warm goblet
#

nope, last updated 2019

dapper lion
#

any errors this?

warm goblet
#

nope

dapper lion
#

hmmm. my only assumption i could think of is that if you change the existing world that was first uploaded as sdk2, and then reupload it under the same name in sdk3, it wont show that it was updated

warm goblet
#

its bizarre. literally updates the world though. Thats a bug if thats how it works

dapper lion
#

yea, bug time

tall vault
#

@warm goblet Yeah if you search for PlayerApi > UseLegacyLocomotion there's a node for it

native estuary
#

Or actually huh

#

Yeah no that's weird

warm goblet
#

I can even edit the title of another world and that changes the update date immediately

#

but if I do that for this world it doesnt.

#

definitely a bug.

native estuary
#

Yeah I see the new world upload you did but the last updated didn't change

hollow juniper
#

How do i stop the player from raycast hitting ui? have text infront of a button but the ui keeps blocking it tried shutting everything off but the player still hits it

hardy fog
#

I set the height of the text box to 0

hollow juniper
#

Lemi try that

proven hatch
#

Anyone know how to set buttons to react globally? I have been looking everywhere for a tutorial or documentation on setting basic toggle buttons to global instead of local and can not find it... Please VRChat Udon community.. You are my only hope ๐Ÿ˜ซ

hollow juniper
#

@hardy fog โค๏ธ thanks it worked

void ridge
proven hatch
#

@void ridge thanks! I'll see if I can get that working.

quartz meadow
#

How can I get a texture2d from a texture? I cant find anything that works within udon/u#

sonic acorn
native estuary
#

Restart your unity project/install cinemachine from the package manager

#

First should be enough but sometimes not

sonic acorn
#

@gaunt musk i am currently on that version

gaunt musk
#

Wait sorry I just realized its different

sonic acorn
#

@native estuary ill try

gaunt musk
#

do you know what script Cinemachine is from? Is that something you added yourself?

sonic acorn
#

no

native estuary
#

Cinemachine is a default dependency for the sdk

#

Sometimes it doesn't get imported properly automatically requiring a restart/manual import

gaunt musk
#

oh wow, you really know your stuff @native estuary

native estuary
#

Restart worked?

sonic acorn
#

re-launching now

#

@native estuary that worked. thank you

native estuary
#

Nice

gaunt musk
#

does anyone know hoe to get the "Build & Test" button to work properly? All it does it launch VR Chat normally

native estuary
#

You need to point the client path in the sdk settings to be directly to the VRChat.exe

gaunt musk
#

I'm pretty sure that's what I have. But when it launches vrc it takes me to my "home" world instead of what I'm trying to test

native estuary
#

Oh I misread your question

#

If you aren't sure show a picture of it

gaunt musk
#

Thanks so much! I'll try that toolkit out

native estuary
#

Yeah no that solution was to the problem I misread you asking ๐Ÿ˜…

#

Your problem is something else

gaunt musk
#

oh okay, just making sure lol

#

@native estuary thank you thank you thank you thank you

#

turns out i messed up when I created the descriptor and it wasn't serving as a spawn point

#

I only found that out using the debugger

#

you're a legend

native estuary
#

Yeah if you make it manually by default it won't have a spawn point

gaunt musk
#

isn't there supposed to be one in a folder somewhere? I could only find it in the SDK2 not 3

native estuary
#

Yeah the VRCWorld prefab should be there

gaunt musk
#

probably just another case of me glossing over it too quickly tbh

#

but ty again! can't wait to finally get started on this project

native estuary
#

No worries

fiery glen
#

Does anyone know how to set vrc_pickup pickupable true or false via U# script?

I used the following code and it doesn't work, the error is 'VRCSDK3ComponentsVRCPickup.__GetComponet__T'.

public GameObject item;
item.GetComponent<VRC_Pickup>().pickupable = true;

fiery yoke
fiery glen
#

@fiery yoke Then how do I set the pickupable attribute in VRC_Pickup?

fiery yoke
#

Exactly like you did before, but use what I wrote instead of GetComponent<VRC_Pickup>()

fiery glen
fiery yoke
#

**(VRC_Pickup)**GetComponent(typeof(VRC_Pickup)) you forgot something...

fiery glen
fiery yoke
#

No. In front of the GetComponent

fiery glen
#

not working...

fiery yoke
#

No thats a warning, or a hint

#

It works. But it tells you to do the other thing, which you cant use, because it doesnt work.

fiery glen
#

But my editor can't compile it

fiery yoke
#

Yes you need to enclose it in extra brackets

#
(InOutBoundBox.(VRC_Pickup)GetComponent(typeof(VRC_Pickup))).pickupable = true;

or

VRC_Pickup pickup = InOutBoundBox.(VRC_Pickup)GetComponent(typeof(VRC_Pickup));
pickup.pickupable = true;
fiery glen
#

my editor can't compile it

fiery yoke
#

Hmm not sure whats going on there

scarlet lake
#

Check through all the code to make sure nothing is incorrect. The slightest of typo can affect something on the whole other side of the program

serene moat
#

The syntax is wrong as the error indicates, it's supposed to be VRC_Pickup pickup = (VRC_Pickup)InOutBoundBox.GetComponent(typeof(VRC_Pickup));

fiery glen
#

@serene moat That's right, thank you.

#

@fiery yoke Thank you also for the sample code!

analog breach
#

Are there any chessboard prefabs for sdk3 ?

cold raft
long fiber
#

Is it possible to have a collider on pickable object that does not interact with avatar anyhow?

#

I need a pickable object with gravitation that does not glitch when you pick it up

#

Probably the issue is related to its size as you can easily put it under your feet

cold raft
#

ah then you go flying off yeeet

long fiber
#

Yep

cold raft
#

afaik, and honestly i am not a expert on this topic, but i think pickups dont interact with your model, but if the pickup is part of a larger complex object other part of the object can interact with your model. so i think it depents on what level in the tree you put the pickup

long fiber
#

It's on the root

#

Object's root

#

together with rigidbody and collider

#

Oh, I should try single big collider instead of multiple detailed colliders

outer shoal
#

Hi is there a way to write a file using udon?

flint urchin
#

no it's not

dense halo
#

Are there any prefabs out there for touch controlled buttons? The kind that move when pressed? I assume it's just a collider that moves when collided with, but i thought I should ask.

outer shoal
#

ok so it's impossible to save any data in VRChat? I heard you cannot use any external database either.

cold raft
dense halo
#

Do you know which specifically Jarno? Or should I just search through them.

cold raft
#

just try a few, i havent tried each and every keypad myzelf ๐Ÿ˜„

dense halo
#

Okay I'll have a browse

pure canyon
#

I have a problem with my world it has a black screen for 1 min and then send me back to my home world?

earnest field
pure canyon
#

U funny

earnest field
#

why am i funny? tell me

pure canyon
#

I aint gonna delete shit

#

Imma lose everything

earnest field
#

are u on quest 2?

pure canyon
#

no pc

earnest field
#

i deleted it 2 times and just logged in again-

#

oh

#

then idk

#

sorre

pure canyon
#

im making a world

earnest field
#

thats confusing why ur screen turns black for a min

#

hm

#

oof

#

i hav no idea what u can do

pure canyon
#

np

earnest field
#

sorre

pure canyon
#

np np

dapper lion
#

@pure canyon what console say, and is it flashy black or black=black

pure canyon
#

No when i try to upload it right and test the world it turns black and send me back home

dapper lion
#

any oversized reflection probes? what shaders present? you using a stable sdk?

pure canyon
#

1 nope 2 Poyomi 3 vrchat sdk 3 for worlds

viscid reef
#

check for duplicate pipeline managers

pure canyon
#

wdym 2 scripts?

#

or 2 dubs in uploaded worlds

viscid reef
#

in your scene

native estuary
pure canyon
#

OHHHH bet

native estuary
#

Show a picture of it if you aren't sure

pure canyon
#

jup jup just trying something rn

void ridge
#

Is there a 'get' function for getting the privacy mode of a world instance?

unborn hornet
#

If (instance.type != WorldType.Public) unlockBackRoom(); ๐Ÿ˜‰

void ridge
#

Huh?

#

Is that a thing you're telling me, or are you making commentary?

unborn hornet
#

Is a joke.

void ridge
#

OK, hah, I figured, sorry.

unborn hornet
#

Np

void ridge
#

Yes, opening areas is one use case. I'd use it to open global controls like play/stop music and atmosphere.

unborn hornet
#

๐Ÿค”

void ridge
#

Don't want people in public instances to have that (because: trolling), but I think it's valuable to have global controls as often as possible.

unborn hornet
#

Ayyyy globally controlled mirrors in non-public world.

#

||(My touch controls would be perfect for that)||

#

๐Ÿ˜‡

#

Vaugely related, has dan given any kind of teaser/info about what the networking update might entail yet?

#

If no, any plans to?

hollow zealot
#

i have an elevator thing that is just moving GameObject.position.y over time, is there a way i should be descending it to stop the player bouncing ?

long fiber
#

The proper way is to store entering time and position and update position to calculated by time passed from entering

frosty moat
#

so i am not sure if its a bug or smth but whener i try to do a VRC node with udon i will not have some commands and i re imported SDK3 and didnt seem to fix it instead of having this

#

i got this , im kinda not familiar with udon so idk im just stupid and not able to see it or idk

hoary echo
unborn hornet
hoary echo
#

It's not perfect, but as far as I'm aware, there is absolutely no way to have a player be perfectly sync'd with a moving object, even stations have some jitter on moving objects

unborn hornet
#

Things like 'SDKBaseVRC' was a namespace for the type. For the list, it appears to have been updated to not show that part of the type's name.

hoary echo
#

I played around with having the player be teleported every frame to their exact location on the elevator, and my god it only made it worse

#

There's a reason why 99.9% of elevators in VRC are just teleports, haha

hollow zealot
#

interesting! ill play around with it and may just end up having a fake elevator without a window

unborn hornet
#

You might be able to get away with setting player velocity to the same speed and direction as the elevator movement...

#

Havent tried myself, just an idea.

frosty moat
unborn hornet
#

No. It's an udon sdk thing that is hardcoded (afaik) that cant be changed.

#

๐ŸŒˆ just vrchat things ๐ŸŒˆ

frosty moat
#

hmm , so thers no way of getting it to this project?

unborn hornet
#

Getting the prefixes back you mean?

frosty moat
#

yeah

unborn hornet
#

Not that I am aware of without downgrading to an older version.

#

Kinda just have to memorize how to find the different types that are available.

frosty moat
#

โœจ i hate unity(:โœจ

unborn hornet
#

Well, it's an udon specific thing.

#

They did it so that people could see the actual types within the list.

#

Cause some of those prefixes were too long.

#

For example the video player prefixes.

#

Made it difficult to see which one was being selected.

frosty moat
#

w8 so you say they may still be able to work with but its just not in the right place ? bc the lighting and mirrors works just fine its the teleportation that doesnt seem to appear

unborn hornet
#

Teleportation is under the PlayerAPI type shown in your pic.

#

PlayerAPI -> TeleportTo

frosty moat
#

oof well it doesnt show the menu for some reason .. basicly im typing teleport to and it doesnt sspawn

#

umm nevermind ... i dont know what was going on but now its spawned lel .. anywho thank you smm !

unborn hornet
#

๐Ÿค” something to consider is that under the settings menu in the top right of the udon panel, you may have "Search on Selected Node" active. That does an implicit limitation of the search for other nodes that are only related to the current one that is focused/selected.

#

If you toggle that off, the search should be consistent no matter what.

outer topaz
#

Helo!, so I am trying to make my first vr chat world, should I use SDK3 with udon or SDK2 and learn how to make one of those worlds first?

unborn hornet
#

Depends on your world's needs.

frosty moat
#

well SDK2 is kinda more simple to use in my opinion but in the end of the day is the same codes and thers lots of youtube tutorials on how to use both of them , i think this is kinda umm maybe personal decision with what you want to work with . i suggest maybe looking threw some tutorials to see what looks easier for you and easy to follow

unborn hornet
#

Sdk3 is for worlds that need or want custom logic (like complex games or interactive gimmicks).
Sdk2 is more drag-n-drop with only being able to connect components through a limited set of events.

#

Sdk3 is still considered alpha and is under active development, so if you make an sdk3 world, expect to need updates regularly for the newest stuff. Sdk2 is more or less considered stable, but a lot less development effort being put into it (except things like security fixes or bug patches).

#

That being said, sdk3 (udon) has a very dedicated community for helping people adapt to the ecosystem since the udon docs are minimal at this point. Lot of cool things can be made with it and having cool new complex gimmicks in your world (whether existing or made by you) can help make your world more interesting.

#

(The above being my strong opinion on the topic)

outer topaz
#

Bassically i just want to make a simple world with a few avatars and mabye a fire place, a mirror, possible some weather, a mirror, and some interactive beds

unborn hornet
#

If you know you arent good with programming logic (which udon is heavily influenced by), then I'd suggest starting off with sdk2.

#

Then gradually explore sdk three on your own, and when you get more comfortable you can adapt your world to the new ecosystem.

outer topaz
#

alright, ill probably do that. i think the main think i would love to do would to design some sort of apartment world or mabye a cabin

unborn hornet
#

Udon is the future for VRC, so it's good to get a handle on it's concepts at some point.

outer topaz
#

Thanks so much, i will look through more into the tutorials and start off with SDK2 and then go into 3 since im not that great at programing

unborn hornet
void ridge
#

As someone who's done a lot of learning brand new things, I support the idea of starting with a limited scope, and SDK2 does sound like a good way to limit scope. That can get you comfortable in Unity, at least.

#

I'd encourage giving SDK3 a try as soon as you feel comfortable in Unity. You might surprise yourself with how much you can figure out of Udon.

floral dove
floral dove
#

thanks for reporting the Canny for this, @prisma abyss^

lost forge
#

what is udon?

void ridge
#

I feel like y'all ought to just program VRCBot to parse "what is udon" in this channel and send that reply ๐Ÿ˜„

floral dove
serene moat
void ridge
#

I was just doing that too hahaha. It's a little unfair because it cuts out "is" and returns sentences with "what" and "udon," which is a lot

#

Just about exactly once a week ๐Ÿ˜„

dapper lion
#

how old is udon?

honest badger
#

Hi folks, does the AV Pro video player support any SBS shaders? TCL987 doesn't seem to work on it when I tested.

honest badger
#

@floral dove Thanks. I'll check it out.

paper plinth
#

hey am I limited when it comes to particle emitters? I just want to make a burst effect when a cannon goes off. Any reason I shouldn't be able to do that?

floral dove
paper plinth
#

great stuff thanks

void ridge
#

Also, this? I don't know what distinguishes between a burst particle system and the standard one

#

I used ParticleSystem.Play for what I was doing

fallen chasm
#

ey, I'm going a little crazy trying to get an UdonSharp script to work -- wondering if anyone can help me out here...

using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;

public class FS_Settings : UdonSharpBehaviour
{
    public GameObject obj;
    public int numberOfObjects = 5;
    public float radius = 0;
    void Start()
    {
        for (int i = 0; i < numberOfObjects; i++)
        {
            float angle = i * Mathf.PI * 2 / numberOfObjects;
            float x = Mathf.Cos(angle) * radius;
            float z = Mathf.Sin(angle) * radius;
            Vector3 pos = transform.position + new Vector3(x, 0, z);
            float angleDegrees = -angle * Mathf.Rad2Deg;
            Quaternion rot = Quaternion.Euler(-90, angleDegrees, -90);
            UdonSharpBehaviour.Instantiate(obj, pos, rot);
        }
    }
}```

It's throwing this error on the line where I'm attempting to run Instantiate.
```System.Exception: Unknown type/field/parameter/method 'Instantiate'```

If I run this script as a MonoBehavior without the udon sharp stuff, it works fine -- of course, only in unity. I'm trying to get this to work for vrchat.

Hoping someone can help me out here -- Thanks in advance.
fiery yoke
fallen chasm
fiery yoke
#

Yeah it only takes a GameObject as a template

#

you then need to get the resulting gameobjects transform and set position and rotation after the fact

fallen chasm
#

ooof... might have bitten off more than I can chew with this one

#

but... hey, that solved the compiler issue

#

ok... I can move forward with cautious optimism

#

Thanks for the help @fiery yoke

fiery yoke
#

optimism? whats that? :^)

fallen chasm
#

heh

#

so... I suppose I've got another question

#

do these scripts not work in unity?

fiery yoke
#

They do... as long as they dont use any of VRChats stuff

#

since that stuff only runs/exists/works inside the client

fallen chasm
#

well, the whole thing is a "UdonSharpBehaviour" instead of a "Monobehaviour

#

Suppose the easiest way to test is to just do a build/test

fiery yoke
#

Ohh

#

I mean you put the resulting asset inside of an UdonBehaviour

#

which inherits from MonoBehaviour

fallen chasm
#

I'm not getting any compiler errors now, but at the same time, I don't see any of the clones in playback

fiery yoke
#

You should probably ask UdonSharp related stuff in Merlins discord

#

This is for general udon questions like "Is X possible in Udon?"

fallen chasm
#

and... to clarify something...


public class FS_Settings : MonoBehavior
{
    public GameObject obj;
    public int numberOfObjects = 5;
    public float radius = 0;
    void Start()
    {
        for (int i = 0; i < numberOfObjects; i++)
        {
            float angle = i * Mathf.PI * 2 / numberOfObjects;
            float x = Mathf.Cos(angle) * radius;
            float z = Mathf.Sin(angle) * radius;
            Vector3 pos = transform.position + new Vector3(x, 0, z);
            float angleDegrees = -angle * Mathf.Rad2Deg;
            Quaternion rot = Quaternion.Euler(-90, angleDegrees, -90);
            Instantiate(obj, pos, rot);
        }
    }
}```
#

that works in unity/playback

#

but monobehavior doesn't work in vrchat, so I'm trying to rework this in udonsharp

fiery tide
#

Is it possible to add rigidbody hitboxes parented to the player that dont interfere with the player or any objects the player equips but still make it possible for their objects to effect other player's hitboxes?

unborn hornet
#

Udon doesnt have direct access to the player'a transform, so it cannot parent something to it. You can use an Update method to constantly update positions of objects in the world based on position data from the player though.

limber jackal
#

Yeah in addition, on top of the regular vrchat layers you can add more of your own and adjust the physics matrix of the new layers as long as you don't change the required ones. Not sure how vrchat's layers correspond to players but there might be something you can do with that

#

Does OnDeserialization code execute in local testing mode with multiple clients? Trying to figure out if its not executing because of that or if there's an error i missed somewhere that's stopping execution

unborn hornet
#

Yes OnDeserialization exists for multi-local client test setups. I use it all the time.

limber jackal
#

do you know if it executes when you just run play in the editor as well? or do you have to actually be testing in vrchat for it to work?

tribal meadow
#

what is the equivelant to VRC_PlayerAudioOverride in SDK3?

limber jackal
#

its all exposed in VRCPlayer's udon interface like you can set the voice gain, distances, and all that

tribal meadow
#

but in a world, I want to have players enter an area, and others outside of that area not hear them, how do I add it to the box collider. It's not there

unborn hornet
limber jackal
#

so the box collider gameobject will have to have an udon script on it. and in the udon script you will want the event "OnPlayerTriggerEnter" or "OnPlayerTriggerStay" to get access to the players that enter

tribal meadow
#

I'm on the virge of going back to SDK2 on this project, serious lack of documentation

unborn hornet
#

That's udon alpha for ya.

#

Experimentation + community support is the flavor we have currently.

tribal meadow
#

It's too bad because it has potential, but every little thing is literally taking me hours

unborn hornet
#

I expect the docs to be more focused on once they stabalize things.

tribal meadow
#

I'm not a programmer

unborn hornet
#

Well udon is heavily influenced by programming concepts.

quartz meadow
#

udon is more or less just unity functions with a whitelist. Its far more capable than the previous system, but as such it also means it takes some more work to do things that were easier before. with time, I think we will see prefabs that will make it easier

dapper lion
#

there is a better audio player prefab that you can pick at and learn from

fiery yoke
#

Making easy-to-use interoperable generic prefabs/systems is generally pretty hard. Its usually better to make something tailored to your needs yourself then using something generic someone else made.

tribal meadow
#

I just want an area in the world where people can go yak and not bug everybody else

#

I'll re-visit this another night, much too tired tonight to have to figure it out :)

dapper lion
#

i believe there was a system somewhere for "soundproofing" but i have no idea where it went

unborn hornet
#

You could try using OnPlayerTriggerEnter/Exit combined with PlayerAPI -> SetVoiceGain to control whether or not the local player can hear someone.

#

Not sure if that's exactly what's needed, just some inferring about how udon player audio might work.

tribal meadow
#

okay thanks, that gives me a step in the right direction anyway

unborn hornet
#

For additional details, if you pull up the node search on the PlayerAPI type and look for SetVoice, there are a few other actions there as well

tribal meadow
#

ok I'll take a look

tribal meadow
#

I guess the easiest way to explain what I'm trying to do is have an 'invisible' box or an area, that if a player enters it, other players outside of that box or area, cannot hear them

fiery yoke
#

Yeah thats relatively simple to do, but requires a few "components" and understanding a little bit about local vs remote view

tribal meadow
#

I see some things in the player audio section, I assume I'll need to experiment with that a bit

scarlet lake
#

how do you fix the one eye glitch in your quest world for udon?

dapper lion
#

@scarlet lake make sure absolutly every shader is set to standard lite

scarlet lake
#

i set everything to toon lit

glossy hornet
#

is there any implementation of public static inside vr?

dense halo
#

where would I ask for help with errors when importing a 3.0 world sdk? currently it's erroring at line 854 of the unity event filter in the world validation about the button interaction and targetgetgraphic not being definitions.

I'm not sure how to fix this. I'm using the latest SDK and the latest version of UdonSharp.

scarlet lake
#

@dapper lion it still didn't fix it

#

@dense halo 3.0 world or UDON world?

#

they show just fine on avatars. why not the world?

viscid reef
dense halo
#

I thought 3.0 WAS udon?

tall vault
#

SDK3 for worlds is for Udon

#

Are you importing SDK3 into a project that previously used SDK2?

old karma
#

Soo I want udon to press a UI button similar to how we used to get animations to click UI buttons but for the life of me cant work it out. Anyone able to give some direction?

cunning mist
#

If you're just trying to have udon do the same thing as a button, it would be better to have the button send an event to an udon behaviour that does what you want it to, then you can just call that same event from your other udon behaviour that you're using.

hollow raven
#

I've managed to create an object spawner that drops pickup-able objects (thanks @cunning mist for that video tutorial!) but I'm noticing they're not synced across users. Has anyone found a workaround for this? I've done some vague reading about object pooling as a workaround, but have failed to find any in-depth info on using it. Any thoughts?

fiery yoke
#

Yeah object-pooling is the only way to work with that currently

#

The easiest ways to make object pools usually use Stacks or Lists which are both not accessible in Udon.
You can still make it, but its not that trivial.

hollow raven
#

So you mean I'd have to jump into udonsharp?

fiery yoke
#

No not necessarily. The graph and UdonSharp are for the most part feature-identical, so if you prefer the graph then you should still be able to do it.

cunning mist
#

Networked instantiation is unfortunate not available yet, but yeah if you can learn how ObjectPooling works than that's you're setup.

hollow raven
#

Okay thanks, and are there any solid examples y'all can recommend?

hollow raven
#

I guess my main question so far is how to define an array of objects to iterate over? Is there a "childrenOf" node? That would make it easy to transition from a GameObject that has all of my synced objects to a list I can iterate over

azure schooner
#

If I get banned I can't create another account? ๐Ÿ˜ข ๐Ÿ˜ข ๐Ÿฅบ I want to play with my friends ๐Ÿ˜ญ

#

I didn't mean to annoy anyone ๐Ÿ˜ข

old karma
#

Not trying to get a button to do the same as Udon just want to call the "Press ()" function with udon. Basically trying to avoid alot of work load of switching it all to udon. Have Ui panel button that will do things and rather than setting udon up to do the same thing from a different event trigger I thought why not just have udon press the button.@cunning mist
I guess I could have udon play a animation that press's the button but like to keep things simple.

vernal maple
#

Pretty sure this is the right path

#

The for loop would control which objects to iterate over, for now you'd hard code it to the exact number of objects minus one. The body would then run code based on the transform from the Get child node.

#

And then if you wanted U#, it's literally as simple as:

 public GameObject[] ObjectHoldingObjects;

foreach (Transform Child in ObjectHoldingObjects.transform)
{
  do stuff;
}```
stone yoke
#

stupid question, how would one go and create a mirror button with sdk3?
(i'm alittle unaware if i'm asking this in the right place)

void ridge
vernal maple
#

If you're going to have multiple mirrors however, make sure you assign them to something so you can turn off all other instances. Don't want players complaining about performance now. :P

floral dove
unborn hornet
#

๐Ÿค”

#

Is there any video(s) that walks through the example scene parts aside from the door video you did?

cold raft
#

not really

scarlet lake
#

@viscid reef so switch back to windows then back to andraid? yeah already did that to fix spawn points. then back to andraid to set it to standard lite

void ridge
unborn hornet
#

Hmmmmmmmmmmmmmm

#

So much to do, so little time damnit

floral dove
#

Yeah, it's just a readme for now. I will make a series of tutorials going through the ExampleUdonScene. I've been waiting until we release the networking update because the scene will change a bit and I don't want to make the tutorials twice.

unborn hornet
#

Yea that's fair. Does the team have any sort of idea when that networking update might be expected? (like rounding to the quarter year)

floral dove
#

I am hopeful that it will be this quarter!

unborn hornet
#

Nice. Have the devs echoed that feeling as well?

floral dove
#

...but I am a dev...

chilly crater
#

I want to enable/disable a particle system on a pickup. Can I enable/disable the component, or do I have to stick with play/stop commands for the particle system?

floral dove
#

ParticleSystems don't work like typical Unity Components - Play/Stop is what you want.

chilly crater
#

And set the particle system to not play on start. Thanks.

#

That was a simple fix. And the graph looks less cluttered too.

floral dove
#

nice!

unborn hornet
scarlet lake
floral dove
scarlet lake
floral dove
floral dove
# unborn hornet I meant "the rest of"

well, we all hope it will get out soon. It also seems reasonably likely - but it all depends on testing. We'll release it when it's ready. We're working on it every day, it touches A LOT of our codebase, including SDK2. So we have to test everything and look for regressions, make sure all existing content works seamlessly with the new system, etc. If I could tell you the exact day it would release, I would ๐Ÿ˜„

scarlet lake
#

Could I ask if this looks correct for a mirror toggle? I'm following a tutorial but I'm unsure if I've done this correctly eeek

unborn hornet
#

Well yea I get that. Was just curious about the teams confidence on the feel of how "soon" y'all are looking to get it in ready state.

floral dove
scarlet lake
#

I believe I have it right maybe? Coz it's supposed to be set inactive at first

floral dove
#

this channel is for help developing world with SDK3 and Udon. Take a look at #faq for ideas on where to ask for help

deep raptor
#

hi, i just up upgraded a very old udon project and I'm getting this with a simple SendCustomNetworkEvent to a referenced udonbehaviour. (U#) [Network Processing] RPC called PlayerManager:UdonSyncRunProgramAsRPC:All and 16 bytes [VRC_EventDispatcherRFC] SendRPC/AlwaysUnbuffered on PlayerManager blocked for ville672 (local master owner)

floral dove
#

the wiki is linked in pinned messages on this channel

deep raptor
#

alright thanks

fiery yoke
void ridge
#

Is there a Layer on which colliders on a UI canvas won't physically collide with players, but a player can still interact via laser pointer (without opening their menu)?

fiery yoke
#

Walkthrough I think

void ridge
#

hmm ๐Ÿค” setting the collider to "Is Trigger" also seems to work, but I don't like that

fiery yoke
#

Well then other things will not collide with it

#

if you set it to Walkthrough things like pickup will collide with it, but the player wont

void ridge
#

I want nothing at all to collide with it, except the UI laser

#

Is there a doc for all the layers somewhere? Didn't find it by searching

fiery yoke
#

The collision matrix is your doc

#

And if you dont want anything to collide then make it isTrigger

scarlet lake
quartz meadow
#

Anyone get the index right hand joystick click working in VrChat? I tried both "Fire2" and "Cancel" and neither work

dapper lion
#

@scarlet lake click play button before build&pub. and check compile errors

quartz meadow
#

using the left controller thumbstick as "Oculus_CrossPlatform_PrimaryThumbstick" works fine

steel nova
#

on interact, even though the bool is printing TRUE on update in debug.log, this network event is still sending. WHY ;_;

restive dust
#

Have you tried putting a Debug.Log before the branch to see if the bool's value is still true at that point?

hallow sable
#

what would be the best way for me to do syncing such as someone pushing a button and enabling a object for everyone?

grand temple
covert dagger
#

hi idk if this is related to udon, but i cant find the vrc_trigger component when i try adding it to a block.
ive reinstalled sdk3, and im using the latest version of unity (that it supports on the documentation site for SDK3)

if anyone can help me pls ping me!

mortal echo
robust dagger
#

hello

unborn hornet
#

0.5f being how far the trigger needs to travel to be considered a click.

livid beacon
#

Are there any properties or anything that can be set that can carry across world portals?

#

or potentially a way to see what the previous world a user visited for the purpose of assigning a different spawn point

oak trail
grand temple
rough beacon
#

can you build warp system base off of world you come?
for ex:
world A Warp A go to world B Warp A
World B Warp A go to World A Warp A
World B Warp B go to World C Warp B
i get feeling that world warp cant be set up like that but i going ask anyway...

oak trail
#

No, you can't do cross-world stuff like that.

rough beacon
#

too bad. be cool set up if you know what i mean ๐Ÿ™‚

livid beacon
#

So no Referer or anything

grand temple
#

You can have portals to other worlds but you can't control the instance that they go to. You also can't transfer any data between worlds

unborn hornet
rough beacon
#

maybe 1 day they come up away. but i am sure that will not happen ๐Ÿ™‚

#

What node was it where player Trigger when player touch within the block

#

Never mind. i found it looking at my old world

#

it is On Player Trigger Enter

mild fern
#

can someone tell me why the heck in my sdk3 world even after adding a vrc ui shape component and having my canvas in the default or player layer my users STILL cannot click buttons without opening there menu or at all???

cunning mist
#

When you change the canvas to Default, you also need to set all the children to Default as well. Move it off default and swap it back, selecting "Change Children" or whatever it's called.

mild fern
#

lol just watched your video bud

#

i've watched your video on it about a 100 million times

#

made sure all the children are the same as well

#

i've tried so many different layers

cunning mist
#

Try putting a random cube in your environment to make sure your updates are actually what you're loading into and you aren't stuck on the old version.

void ridge
#

It might also help to compare your UI setup to the big UI wall in the VRCSDK Example scene that comes with SDK3. I got my UI canvas working pretty much just by copy-pasting that and deleting the stuff I didn't need ๐Ÿ˜›

mild fern
#

i like your funny words magic man

#

thanks guys i'll give it a shot

#

if it doesn't work i'll mock it up to penut brain

void ridge
#

Just watch Vowgan's UI video, got some nice tips I'd missed before. Also, favorite moments: low-key burping mid-sentence, forgetting to do the graphs ๐Ÿ˜‚

#

Does anyone know about how expensive performance-wise are UI canvases, though? Does each add a draw call? They don't use a material, just a sprite, so I'd hope they'd be cheap. But the question is whether they're cheaper than a button with a mesh ๐Ÿค”

I should be asking this in #world-optimization , moving it there

mild fern
#

i'd have to take a guess and say they should def be cheaper than any mesh stuff

cunning mist
#

Hey it's not my newest video now is it

#

Ui is alright, though too much of it gets funky

#

Also don't use animators with UI. Then you're just asking for optimization issues.

void ridge
#

Why?

cunning mist
#

It likes to think that the UI needs to constantly update

paper plinth
#

Is there a get clock?

#

I would like to know the current time

cunning mist
#

System.DateTime.Now.Hour;

paper plinth
#

sweet

#

I did not type in Date LMAO

void ridge
#

Does that get the system clock time of the local user?

cunning mist
#

This grabs it locally off their machine, if you need to get a certain timezone than that's a bit different.

void ridge
#

Is that even possible? You'd need to know their time zone, or someone's time zone and time. Which sounds like privacy concerns

cunning mist
#

The script runs locally on their machine, so it just grabs their system's date information.

void ridge
#

Right, but if you wanted to have a global clock that displayed UTC time, for example. You can't do that without time zone info, right? Or just directly referring to UTC time

cunning mist
#

Right, you have a private DateTime variable and a TimeZoneInfo variable. Then in update you set your DateTime variable to be TimeZoneInfo.COnvertTimeFromUTC(DateTIme.Whatever, timezoneinfo variable)
Then just print your DateTime variable to a string and output that to whatever UI you're using or whatnot.

void ridge
#

Also yeah, looks like for the UTC clock example we just have a direct reference. Neat!

mild fern
#

i've gotten to the point now where if i see udon graph i'm like wait that's udon? but where is the code

paper plinth
#

but it only works on one orientation

#

it would be so much more elegant if I could make just this one clock face a prefab

#

that would then work if I rotated it

#

suggestions? idk how to use set rotation...

void ridge
#

Transform.Set localEulerAngles?

#

I don't know, but that's what I'd guess to start with

paper plinth
#

god damn it

#

thanks man

void ridge
#

Cool, now I can derail with my question

#

Is it possible to remove the skybox layer/all background from the reflection of the VRC Mirror Reflection script? Alternatively, is it possible to reflect the reflection cubemap?

#

I baked a cubemap with a box projection that's a passable cheap alternative to reflecting the whole environment in real time. I want that to be the background of a reflection of only players. I'm pretty sure that a mirror like this exists in Summer Solitude

paper plinth
#

use a shader?

void ridge
#

That's probably an answer. To do that I'd need to screw with the shader though, which is a whole different area I'd have to get into. I was hoping that the shader SDK3 provides made it possible already

paper plinth
#

it's a terrible answer, but that's the first place I'd look if I were going to do a camera trick like that because I'm more afraid of the weight of realtime reflections

void ridge
# paper plinth this is my clock

I'm putting two questions open out there now ๐Ÿ˜… but I was thinking more about this:
This is reading hour and minute every single frame, but really you only need it to read once every minute. Probably not any kind of performance issue unless somehow the scale of this was huge.

But that brings me to another question--is there an easy way to execute only when minute or second changes? I've run into this before, typically with counting seconds.

paper plinth
#

Execute when T=T+1 basically, T is the time in minutes, reset T first thing after the branch

#

alternatively make your minutes an integer, divide by 2, and set a bit high if the remainder isn't 0

#

Then time your event off the transition of that bit/boolean

paper plinth
#

isn't there a teleporter somewhere in the sdk?

unborn hornet
#

PlayerAPI TeleportTo?

paper plinth
#

I used that and made a fancy little activator that pulsates

#

There's a really nice prefab that works with sdk2
Though now that I think about it, it might have been in a kit

scarlet lake
#

Are there any wikis or videos on how to sync animations with every user?

covert warren
#

Is there any way to sync a script with real world time?

void ridge
open ermine
#

any assets that allow for direct thumbnail upload in 3.0 similar to how pumpkin would work in 2.0 with the camera overlay

balmy bison
#

Does anyone have a good example or prefab of synced UI sliders?

summer folio
#

wasn't there a few on the default udon exemple scene?

balmy bison
#

just checked that out, it's master only. I'm struggling making one that anyone can change

fiery yoke
#

Yeah that is indeed tricky

balmy bison
#

it feels like something I've seen in worlds before but I can't actually recall if that ever existed haha

steel nova
#

SetBool and SetInt are both causing udon exception; is there anything that i can try to fix? script works fine up until this point EDIT program was bugged, remade it identically and it worked ๐Ÿคทโ€โ™‚๏ธ

hardy fog
dense halo
#

Is there a way to debug a world once it's in VRC? Rather than running from the editor?

smoky vale
#

How do people make objects that function like buttons? Like it has the outline and HUD of a pickupable item in game, but triggers an event. Is there a component for this?

dapper lion
#

do udon behavior and add a toggle script if you have any

smoky vale
#

Ah, okay so it is through udon. Thanks

fallen chasm
#

I wonder... if asking will save me a few hours of headache.

I've got five prefab variants with toggleable stuff that are all affected by the animator on the parent object. I made sure my scene and the respective prefabs all have an animator with the same controller. This results in a lot of yellow entries for one or the other in my timeline, but I want to assume that, if the keyframes find their target, they'll work...

All that said... my prefabs don't animate when I toggle the params in vrchat. Top level stuff works fine though.

Am I missing something, or is it just not possible for nested prefabs to animate, even if they share the controller that the parent uses?

#

the ironic thing is that the trigger that toggles the param is inside of the prefab...

unborn hornet
# balmy bison Does anyone have a good example or prefab of synced UI sliders?
strange charm
#

how do I do a dynamically sized array in udon (like a list)?

tall vault
#

You can't, you would have to allocate a new array and copy the elements from the old array over to the new one

hallow sable
#

What would be the best way to setup a lock with udon? like a locked room that syncs with new players/current

outer shoal
#

Hi, is there a dictionary type in udon?

tall vault
#

Nope

#

Just arrays

outer shoal
#

ok thx

dense halo
#

Is there a quick prefab or script for toggling an something if a player is inside of a collider? I can see that you'd do a "on trigger" collision, based upon something on the player.

I want to use it for 1, heavy culling, and 2 counting the number of players in a certain room.

cedar cairn
#

Is it possible to end the instance after certain amount of time? Like send all the ppl to home

dapper lion
#

@cedar cairn that sounds a bit malicious

#

@dense halo archanon has been working on collider toggles. ive never used them but may help you understand how to mold your set up

cedar cairn
#

Is there is a countdown and it is expected i don't see it as malicious ๐Ÿค”

dense halo
#

Thanks Lit.

dapper lion
#

@cedar cairn i mean, you could set up a thing where you have a home portal and after a set timer delay, have it teleport to players locations

cedar cairn
#

Oh yeah that's an option, maybe teleport all to one small room with only the home portal.

dapper lion
#

but why exactly do you want this for your world?

cedar cairn
#

Hard to explain without revealing too much

paper plinth
#

that's a good skill to have in any case, programming that mechanic

#

you need a game timer

fiery yoke
#

@cedar cairn Force closing an instance is probably a no-no, but sending everyone to a room with only the home portal should be fine for a gamemode or some relevant story/gameplay element.

paper plinth
#

in the sense that you want there to be a way to say "Time's up!" and respawn everyone to their team's zone or whatever

#

spawn them into a hollow tube with the world portal at the bottom and let gravity take its course

#

sorry if a lot of my solutions involve spawning people into hollow tubes I just saw it in a game once and I need to use it

cedar cairn
#

idk if dropping people to a portal works because they need to walk towards it to work. But i just do that empty dark room with one portal, should be enough and not being in a risk of getting banned

paper plinth
#

and tbh I love the idea of the whole world dissolving and you look around and all you see is black and then you look down and all you see is your death and you say "not again..."

#

I didn't know they had to walk toward it tho

cedar cairn
#

The thing is that my idea isn't a game, it is gonna be an.. experience?

paper plinth
#

dude there's loads of fun stuff you can do just with the physics vrchat gives you
so branching out is A+ thinking

#

don't forget you can change the player mods on the fly

#

I saw one guy who scaled the player three ways

#

really fun world

cedar cairn
#

Im just pretty bad with udon, i wonder if i can setup a timer with sdk2, so it would start when the instance is created and would be synced with late joiners

paper plinth
#

I wouldn't know how to make the timer in sdk2

#

It's really great at what it does

vernal maple
#

Super quick question

#

Does VRCPlayerApi.GetPlayerById(blah).displayName return null if the player leaves? I'm assuming yes, but VRC be weird sometimes.

#

Actually now that I think about it, GetPlayerById would return null by default I imagine for an empty player slot.

fiery yoke
#

Not necessarily. The playerapi is not immediately nulled if someone leaves. Since there is no documentation on it, the exact behaviour is unknown to me.

gilded citrus
#

Anyone had an issue where you can't open the Udon Graph?

#

I click the button and it doesn't do anything

#

I've tried reinstalling Unity and the VRCSDK

dapper lion
#

make a udon graph script in the assets folder, and tell it to open itself in graph

cunning mist
#

You can only reasonably open a graph from the asset itself, the "Open" button ususally just links you to the last graph you had open.

gilded citrus
#

ok thanks

#

So I've got an SDK3/Udon world that works fine in both VR and Desktop when I do Build & Test. I am able to successfully upload it to the VRC Servers, but when I try to join from VRChat's client I get the download bar, then Initializing World, then it boots me back home. Any ideas what could be causing that?

native estuary
gilded citrus
#

Ding Dong! I'm DumB!

#

I didn't set a spawn in the Scene Descriptor, apparently

#

but it's weird that I was able to spawn in without it in Build & Test Mode

native estuary
#

Yeah that is weird ๐Ÿค”

#

Do test again if it works now in build and publish

gilded citrus
#

yeah, gotta fix the spawn orientation first so I'm not facing a wall lol

native estuary
#

Did you use the VRCWorld prefab or made the scene descriptor on your own?

gilded citrus
#

VRCWorld prefab

native estuary
#

Huh that should have it set automatically

gilded citrus
#

so 1 is this Toolkit something you made?

native estuary
#

Yeah

gilded citrus
#

It was very useful (assuming this works lol) thanks a bunch!

native estuary
#

I am still very curious how the spawn point got unset though

paper plinth
#

I find in unity that if you delete something with something like that set and you hit undo it shows up unset
But that's a prefab lol shouldn't get unset that way right?

native estuary
#

Yeah ๐Ÿค” I'm gonna test around see if I can cause it being unset myself to find out what's causing it

gilded citrus
#

I also used a tutorial that had me make the scene descriptor first, then I found out about the prefab so that could have screwed with it too

native estuary
#

That could have cause it if you removed only the scene descriptor and not the pipeline manager with it

#

Which would cause a problem in build & publish and not in build & test

gilded citrus
#

IT WORKS

#

Thank you so much, 1!

native estuary
#

No worries

gilded citrus
#

Hey 1, if you're really interested in what broke I made a package of my whole build pre-fix that I could upload somewhere if you wanted to download it and poke around.

hollow raven
#

I'm trying to add a different number for 3 different kinds of events, things are a little complicated (I got the base of this from the VRChat Udon example world) is there a way I can wire things up to add different integers for each type of event? (2 for redbox, 5 for redslope, 1 for redplank)

supple root
#

Does anybody know what would be a good note to make a simple 15 seconds delay for things happening, for example a Game object disappearing after [Value] of seconds after spawning.

jolly musk
#

uhh... animation maybe?

#

forgive me, i know absolutely nothing about scripting or stuff like that ๐Ÿ˜ž

supple root
#

I dont know much about animation, but i will try. Thanks

floral dove
floral dove
# supple root Does anybody know what would be a good note to make a simple 15 seconds delay fo...

there's a timer example in the UdonExampleScene which does this, though it repeats. The basic idea is:

  1. Create a bool variable to track whether you're counting down or not - we'll call it isWaiting, default to false.
  2. Set isWaiting to true when you want to start counting down, and save Time.time into a variable - we'll call it 'startTime'
  3. Save your desired interval into a variable - we'll call it waitTime (a float set to '15' in this case)
  4. On Update, check if Time.time - startTime > waitTime. If that's true (use a Branch), then fire your event and set isWaiting to false.
supple root
#

@floral dove Thank you soo much

balmy bison
strange charm
dire dew
#

what do i do when the game keeps lagging and having errors forcing me to leave games

dapper lion
#

@dire dew change internet connection, also this is udon queries

dire dew
#

oh sowwy ;-;

strange charm
#

OnPlayerTriggerEnter is called when a player's capsule enters a Trigger Collider
according to the vrchat's docs
do players other than the local player have a capsule collider?

cunning mist
#

Technically no.
They have a sphere collider at their base.
๐Ÿ™‚

#

But yes, remote players will fire it locally as well as long as their collider still triggers it.

strange charm
#

but they won't fire it if someone else in the world hits that trigger

#

unless i sync something

cunning mist
#

They will, those sphere colliders exist on their local versions of their body for you. Meaning if say "OnPlayerTriggerEnter -> Set Gravity to 0.1f"
Anyone that goes into that zone will make everyone else have low gravity, because their copy on your side also has that collider, just a smol one.

steel nova
#

have a script that logs fine, but isnt actually updating GI

dapper lion
#

is global illumination set to real time?

steel nova
#

yeah worked before the script was implemented

#

ik its unchecked; my unity keeps unchecking it because i baked with bakery/enlighten combine

dapper lion
#

bakery doesnt like global illumination tho, i dont think udon can do it for bakery, but for unify like enlighten, it should

strange charm
steel nova
#

it does; i just showed a clip of it working

#

it just doesnt run in vrc bc of .UpdateGIMaterials for some reason

dapper lion
#

im on mobile sp the video is a bit cut off

#

ahh, so like a global emmisive illumination?

#

i believe you need to use a shader that supports real time gi

steel nova
#

like standard?

#

lol

viscid reef
#

i'm pretty sure he is

dapper lion
#

hmm, then something incorrect

#

im not sure what is wrong, but i also cant see about 10-15% of the right side of the video

#

whats the rest of graph look like?

cunning mist
#

If you want to say "only do the thing if it's the local player"
Start the event with "if(player != Networking.localPlayer) return;"

strange charm
#

no, i want to do the opposite

unborn hornet
#

Then make it == instead of !=

strange charm
#

where would you put that? OnPlayerTriggerEnter only fires locally if the argument is VRC.SDKBase.VRCPlayerApi player

#

i want it to fire on those colliders of other players in the world too, like the old difference between the localplayer and player layers

#

without having to sync an object attached to every player, if possible

unborn hornet
#

OnPlayerTriggerEnter runs on each client anytime another player's reference collider (the sphere mentioned previously) enters the target collider.

strange charm
#

that's what I thought

#

but that's not what's happening

unborn hornet
#

Got code or noodles to show? That'd help.

unborn hornet
#

Thats just the method signature. Are you doing anything else within that method?

strange charm
#

okay, i've got it - i was doing stuff to the player object that entered the collider
the collision was being seen by the other clients (other stuff was working inside the method), but seems like the player is off limits unless that player belongs to the client

#

so player A enters the collider, player B's client sees player A enter it and tries to teleport player A - not allowed - but player B's client can send a custom network event that tells player A to teleport

#

thanks for the help

unborn hornet
sleek grotto
#

That does not seem to be supported. A workaround would be to have the objects already in the world (hidden).

acoustic vale
#

Yeah i did think of doing something like that instead, just a resource pool somewhere. It's a bit annoying though as it will eat up world loading speed

#

e.g if I wanted to make minecraft and keep it sync at all times I'd need like 400 block multiplied by players to ensure everyone's surrounding are rendered if they all wonder off

supple root
#

So I have been trying make clones of a prefab destroy themselves after some kind of action that effect only themselves and from what i have seen the problem is that cloned objects will take information about destroying themselves from the original object not from their own interactions. For example if you just make a delay that object destroys itself after 10 seconds of interacting with another collider then after the original does it every single clone will automatically destroy itself. There should be a way to make clones take that information only form their own interactions ,but i still haven't found it.

#

It would basically function like bullets disappearing 10 seconds after being fired.

paper plinth
#

That's a long-life bullet

supple root
#

yea, i will probably change the time to 3-6 seconds in the future

paper plinth
#

Call Oliver Stone

ashen monolith
#

Hey guys, this is a super newb question and im sorry if its dumb but i honestly not sure. I have a world in sdk3, but i want to build a new one from scratch and then upload it to VRC to replace the old world completely. Would I just need to copy the blueprint id into the new project?

dapper lion
#

@ashen monolith yes sir

ashen monolith
#

Thanks a lot!

paper plinth
#

pretty sure today I'm going to try to animate a car driving around a block, but really simple, just a cube and four cylinders that have basic rotation, so I'll just keyframe that position and rotation and kinda just drive it around....
Anyone got the graph for that?

#

seems like really the easiest way to get cars driving around the background of a city

#

obviously without like..bones for a steering wheel and axles for the wheels to turn and such

quartz meadow
#

I mean if its all static animation I'd only do it as an animation and not involve udon other than starting and stopping it

hallow sable
#

what would be the best way to control a shader emission with spectrumdata? using udon graphs and not sure how to exactly

cunning mist
#

You'll either want a shader that directly supports that or use animations to blend between high and low emission

gilded citrus
cunning mist
#

Happy to help ๐Ÿ‘

hollow raven
#

Weirdly, that just results in my ui text going from 0 to blank lol. It should increment by the respective "cost"

#

Also strangely, whenever I build and test, my set variables all change to the same value :/

void ridge
# hollow raven

Known bug, fixed in the open beta. Work around this by using a "Const Int" node and just setting the value in that node. Same is true for floats, booleans

void ridge
# hollow raven

This is probably because 0 is the default, and as soon as your script tries to set the UI text, it's blanking it because something is wrong in your script. Clean up your graph and post a screenshot

hollow raven
#

Is it valid to have the three branch nodes just feed directly into the "setRedCost" node? I figured that was the same as saying, "each event should eventually trigger the setRedCost"

#

When I disconnect 2 of them and only feed one of them into the set redCost, the uiText works as expected

paper plinth
#

I don't think that's allowed
Perhaps use a block
Set a complete boolean at the end of your true statements instead
Next node down off the block use a branch that executes on the complete boolean, execute the rest of your instructions, and then turn off the complete boolean.

shut patrol
dawn plover
#

Hello! I have a script that used OnEnterTrigger attached to the head of the player and check if the object that goes inside is a trigger or not, and it's working great, but I noticed that if you have an avatar with a collider (for example for a VRC Station) the script get an error for a NullReferenceException in the "get Is Trigger", I've tried to check both if the collider and the IsTrigger gets a Null before executing the script, but apparently it still give me that error and break the script, and the collision layer of this object it already excludes collisions with the player layers. How can I prevent it from break?

empty isle
#

How do you do VRC_Panorama in SDK3/Udon?

dawn plover
empty isle
#

@dawn plover cant it be done in code?

dawn plover
#

I don't think so as far as I know, there's no possibility to get an image from the web, maybe you could do some sort of trick with the video player, but I don't think it will work

hollow raven
#

Good evening! Is there any reason my pickup shouldn't teleport to the origin when entering a trigger collider (as is expected from this graph?)

#

Instead when entering the trigger it just does....nothing lol

cunning mist
#

You actually don't need the "This" or "Get Transform" nodes, as leaving any "Instance" value empty automatically assumes the object that the script is on. You may need to tell the Pickup to drop first though, otherwise it's still being pulled to the hand of the person carrying it.

scarlet lake
#

So, I just started using udon and I have no idea where to begin with it

dapper lion
#

@scarlet lake make toggle script

scarlet lake
#

A what

hollow raven
dapper lion
#

a graph script for toggling objects for practice

scarlet lake
cunning mist
#

Probably will work!

scarlet lake
#

I'm just going to go mess with stuff

#

See you tomorrow

cunning mist
#

Also Vrcxoculus check out my youtubes
Hope they help :)

scarlet lake
#

Hey

#

Hey your that guy that made the rocket thing

#

I thought I recognized your pfp

hollow raven
cunning mist
#

Is the pickup on the same object as the graph?

#

Also, I recommend using CyanEmu to test stuff in editor.
And yeah! That's me.

hollow raven
red rose
#

Not getting a lot of feedback on other channels for this question. So I want to take a thrown object and push a player back when they collide. Iโ€™m trying to get the rigid body component of the player in the onPlayerCollisionEnter function?

unborn hornet
#

The player objects are protected and cannot be directly accessed. There is a limited API surface with which to act upon a player: PlayerAPI)

sharp briar
stable nebula
#

Hello, I have a bit of a headache right now trying to solve this... and need help... please.
The idea is to toggle between 2 animation states for a big door. the Bool is setup, and I have a script that works perfect... BUT only for local... and i need this to work to sync for players, and sync with new players joining the world.

I used a version of Jetdogs Graph prefab to do this, bit a Frankenstein monster sort of creation. it looks like it should work, but nothing happens. the button doesn't even toggle the animation to play at all. :c help please.

#

The original Jetdog graph worked for Objects, not animations, so I thought it would still work the same if I swap stuff out to animation instead :c

cunning mist
#

When someone clicks the door, you'll want to send a CustomNetworkEvent to all, named like "Toggle Door" or something. In that event, have a simple "Animation.Set Bool = UnaryNegation of Animation.Get Bool" to just swap it around. This will toggle it correctly for any players presently in the world.
To manage for late-joiners, you'll need a couple more events.
In the event "OnPlayerJoined" do a simple check to see if the user is the master with "Networking.IsMaster -> Branch". If so, have them use "Animation.Get Bool" to know the current state of the animation for them, a person who has gotten all the synced information up until now. If that bool is true (checked in a branch), send a CustomNetworkEvent to All that just sets the bool to be True, and the opposite for false. Setting the bool to what it already is in the case of anyone who isn't new wont change anything for them when it comes to the door, but will accurately update the animator for the person who just joined in.

#

@stable nebula

floral dove
stable nebula
cunning mist
red rose
#

I see @floral dove . So you canโ€™t add a force vector to the rigid body. You can get the vector for velocity, add a vector to the current velocity, then set that vector as the new velocity.

cunning mist
#

^ Correct

red rose
#

Nice. I canโ€™t wait to get home and try it out. I appreciate the feedback :).

cunning mist
#

If you want something to watch through on it, I used this setup in order to do a basic flight system, essentially just propelling you in the direction you clicked with a pickup.
https://youtu.be/fiS-iMY1m5A

Want to fly in your VRChat world? Here's a basic way to get started! It will let you fly around your environment as you'd like while also having a speed limit, unless you want to learn what it's like to transcend reality itself. Not a bad idea.

00:00 - Intro
00:16 - Setting Up the Prefab
03:00 - Graph Scripting
07:00 - Infinite Acceleration
08:...

โ–ถ Play video
red rose
#

Oh shoot. I watched a couple of your videos @cunning mist . Those videos are amazing and it got me into making VRChat worlds recently.

scarlet lake
#

@cunning mist Would you have any idea how to make the player able to swing from a rope?

#

I'm trying to recreate the web swinging from spider lair udon, and I think i have an idea on how to do the shooting the web, but the swinging is the part I'm having trouble with

cunning mist
#

You should look into how BlueAsis and them did the hookjunkers world. I haven't played around with it.

scarlet lake
#

But that is grappling, im talking about like pendulum physics

#

Would you know anyone you knows about that kind of stuff?

fiery yoke
#

You can do that really easily with Unitys Physics Joints

#

However the custom locomotion is the harder part

#

like no matter what you use, it will have some sort of problem.

scarlet lake
#

With what?

#

custom loco what know?

fiery yoke
#

How do you move the player?

scarlet lake
#

I'm sorry I know nothing about making vrchat worlds so I'm kinda shooting blind hoping I get something that works

#

I know a tiny bit about making avatars but nothing more than how to publish one

fiery yoke
#

Ohh well in that case making something like being able to swing around might be a little hard

scarlet lake
#

If your able to check out spider lair udon, you will know what my end goal is

#

its pc only, and that's why I'm doing this

#

to try to do it on quest

#

For now I just want to be able to shoot webs, swing from them, and have the momentum be continued onto the player and be able to build up with every swing that doesn't hit stuff

#

then I will do the building up tension that can launch the player

#

pulling on the webs while swinging making you get pulled a little more in that direction

dawn plover
# dawn plover Hello! I have a script that used OnEnterTrigger attached to the head of the play...

Sorry to ask again, but someone know how to solve this? I'm trying for hours but I can't find a solution other than changing all the collision layers of the world, and honestly I don't really wanna do that lol
I've tried everything I could, and apparently I can't do anything to prevent it from breaking the script, I just need to filter out the collisions of the VRC Stations in the avatar, but no matter how I'm trying it always give me a NullReferenceException

floral dove
dawn plover
#

I can try to see if it happens with that too, but I need a collision on the head instead of the whole body, the scripts is for preventing people looking through walls by going inside them with the head

#

Oh, OnPlayerEnterTrigger doesn't have a collision output, so I can't really test it, I need to know if the collider is a trigger or not

fiery yoke
#

Remember that for remote players this will not really work since their collision is just a sphere at feet level.
As long as youre only testing that locally it should be fine however.

dawn plover
#

Oh, I'm stupid, I didn't understand what you were meaning, well, if I use OnPlayerEnterTrigger I have to put the script on all the walls I have on the world, that's why I thought that having a collision on the head have more sense, so it's just one script and one objects that does all

fiery yoke
#

And you would be correct

#

There is as always many ways to achieve the same goal

#

but the simplest one would probably be to make your own collider that you always set to the TrackingData position of the head

dawn plover
# fiery yoke Remember that for remote players this will not really work since their collision...

Well, yes, but the problem for me it's not the remote players, it's for the local, because if their head goes inside the collider they have on the avatar (not the player capsule, I'm talking about sitting stations and things like that), the script will try to execute but it will return an error, breaking completely the script, and so they can look through walls again, and I don't want this to happen

fiery yoke
#

There is no good way to do this I think, because VRChat does not offer fine enough control over the player and all its relevant components

dawn plover
#

That's what I guessed, and I guess I need to change all the layers in my world in the end ๐Ÿ˜ฉ it's just a bit frustrating, I just need that error to not break the script

floral dove
dawn plover
#

No, that's not what I meant, I'm not talking about players colliding with each other, I'm talking about collisions of VRC Station on the avatar, if a player have a seat on their avatar and accidentaly put their head inside the collider it will break the script, I have already a "Null checker", and it's working on players, but the sitting station are not returning null, I can see the name of the object and what type of collider is but when I try to access isTrigger it will return NullReferenceException, even if I've tried to null check even the isTrigger

floral dove
#

hm - if you're checking that the collider is null before you reference it, it certainly should not be throwing a NullReferenceException. Can you show the full error you get here?

dawn plover
#

Sure, give me a sec

floral dove
#

Hm, I think you found a bug, at least in the way that this is compiled. Your graph looks right, but it's possible that it's trying to get the collider before it's actually checked if the collider is null. You could try this, it's just a guess but it's the only one I've got right now:

  1. Set a Collider Variable (let's call it 'maybeCollider') as the first node that triggers after the OnTriggerEnter.
  2. Use separate 'maybeCollider' getters to do your Branch checks.
dawn plover
#

I've already tried that solution because I was thinking it was because I was taking the collider directly from the OnTriggerEnter node, but it does the same thing with the same error, at least, I've set the variable after null checking the collider, so I'll try again like you said ๐Ÿ˜›

floral dove
#

ok. thanks for providing the log, and good luck to you. Let me know if that helps - either way, I'll file this as a bug and track it internally. If you file a canny for it, then I'll update that canny as we make progress. Cheers!

dawn plover
#

Oh, thank you so much, I'll open a Canny then! ๐Ÿ˜„

floral dove
#

great! you don't need to provide a ton of info as I've copied your description, image and log into our internal system. Just the basics so you can track the progress.

noble hatch
#

what is udon

scarlet lake
#

A custom coding language devoloped by vrchat to make more complex worlds

dawn plover
stable nebula
#

Hello! me again... The solution @cunning mist provided worked... but only one time. and there was a few second delay before it actually toggled the Animation.
After the first toggle, now the button does nothing, even clicking it one time and waiting more then 5 minutes.
I'm Pretty sure I copied everything Vowgen suggested I should use, but I might have messed up somewhere... :c

Some additional info if it would help:
The Animator:

  • Has 1 Bool Parameter, called Open that is Checked Off by Default.
  • Entry Animation is the "Idle" state, that moves onto Opening, then to Closing be default.
  • Transition condition: Open = True, which moves to "Opening" state
  • Transition condition: Open = False, which moves to "Closing" state
  • True to open, False to Close.
  • Both Transitions has the Exit time set to 0 and turned off.
cunning mist
#

The delay is expected because that's how long it takes to bounce off the server, though the branch for Get isMaster needs to lead into another branch where you check the Bool's state, then call your event depending on that.

#

The isMaster branch only should lead out of it if it's true, then go to into the bool branch

stable nebula
#

Wait, i'm confused, How would I check the bool state?
Also, will the sequence be like this:

cunning mist
#

Animator.Get Bool, plug that into the branch check.

stable nebula
#

Except with (String = Open) instead of Int.

cunning mist
#

Ye

stable nebula
#

Now the door doesn't open at all

cunning mist
#

Welp
GL :thumbup:

stable nebula
#

:|

void ridge
# stable nebula :|

I haven't really looked at or thought about what you're doing very much ๐Ÿ™ƒ but I did notice this part of your graph, which is gonna be affected by an annoying bug that's easy to miss, where the configured values of those bools unexpectedly change

#

Could that be the cause of whatever issue you're having? If so, plug in some Bool.Const nodes and just configure the values that way. If you don't know whether that could be the cause, then do that anyway and see if that fixes it ๐Ÿคทโ€โ™€๏ธ

stable nebula
#

Alrighty, I'll give it a shot, thanks

void ridge
#

Disclaimer, I don't actually know if the issue I'm thinking of is general enough to affect Animator.SetBool nodes. I only know it affects other nodes that set variables. Momo would probably know if this kind of thing is within the ambit of that issue.

#

Or maybe not ๐Ÿค” if it turns out that changes things, say so! Might be good to add to that canny report

stable nebula
#

I'm loading up a test right now, will let you know.

#

Well it opened the door once, but now it's back to not cycling the animation to close again after it's open... :c

#

i'm probably going to just scrap this whole freaking idea for a badass tomb door entrance way... and find another solution or something... >:c
I've been trying to fix this door for the past week or so... q.q and have a MASSIVE headache over the whole thing...

ancient spindle
#

hey guys, i got a question. i'm trying to setup vowgan's door animator, i have it working, but it seems the initial toggle starts the animation opened, closes partially, then opens fully. every toggle after that plays the animation fine. i'm wondering what i'm doing wrong.

#

hecc, seems past replies have door problems too. >->

red rose
#

Figure I add this question because I can't even get feedback from Udon itself. So just trying to setVelocity in OnPlayerCollisionEnter(VRCPlayerApi player) but nothing happens is there something I'm not getting?

floral dove
#

FYI @stable nebula @void ridge the SetVariable bug doesn't affect animators, only variables from the variables window

vestal nova
#

Very dumb question but I can't find any docs on it:

How do you make the static "floating" type pickup objects in udon? My rigidbody is neither gravity nor kinematics effected.

Do you just do something like set throw velocity min to a huge number? or 0? Maybe set boost scale to 0?

native temple
#

Hello, I'm pretty new to World Building and I am building a chill world for fun. When building the world, I used an avatar about 6 ft tall (same one I use in game) for scale along with probuilder/progrids which uses measurements on the side of the default blocks. For some reason when I went to build and test the world, everything was pretty small and I kept getting stuck on the roof. Is this a known issue with building and testing? Don't think it'll be too hard to scale everything up though if I need to. Also I am using SDK3, which is why I'm posting here instesad of the other world channels which I think are for SDK2.

cunning mist
#

The player capsule collider no matter the size is always two meters tall exactly. If you have a ceiling that is also two meters tall, you're going to run into a lot of issues with players bumping against the ceiling and being unable to move. I recommend on average having the ceiling be at least three meters up to give plenty of clearance.

#

--
Brick, just enable Kinematic on the rigidbody you're using. That should give you the exact effect you're looking for.

chilly aspen
#

Hey, I had a quick question. I have a variable I need to set to true when a player picks up an object, and false when they drop it. Is there a method out there that calls when the player picks up and drops the object?

#

I know Interact() is one of them, but that is for the index trigger.

paper plinth
#

Wow
Animation doesn't even need programming if all you want is to loop it
Good tip whoever said that

nocturne remnant
#

Hello, i've got a movement question, i'm using vive controllers and when i want to move i have to press the trackpad down. When i have only one controller running i don't have to press it down but i then only have to rest my finger on the trackpad button in order to move. when i have both controllers on, and when this last way is active so i don't have to press the button down, the movement controls are then on my right vr controller and not the left one, when i have to press the trackpad down, the controls are on the left controller. I want to know how i can use the option to rest my finger to move without pressing the trackpad down on the left controller, I once managed to do this by accident. Maybe somebody here can explain to me what i should do to have it that way? thanks!

hallow sable
#

so using a udon graph, is get local player and get display name the way to trigger something locally for someone?

#

like if I got someones display name and used it to unlock a door for them

unborn hornet
# noble hatch what is udon
proven musk
#

Hi, gonna be new to learning Udon. Was wondering, I know there are a good number of worlds with a drawing tablet asset that can be used. Does anyone know where I can get said asset/prefab, and will it work okay with Udon?

dapper lion
#

@proven musk ive acc been in the process of creating a udon tablet, as there were none availible

proven musk
#

Ahh I see. When that becomes available I would love to know!

dapper lion
#

you need collider activated scripts, render textures and a bunch of fun stuff

#

@proven musk sure, you can see the progress of it in #udon-showoff

proven musk
#

Awesome thanks!

tribal meadow
#

I'm wondering if there are any example scripts out there how to implement some of the new Sound control modules... What I want to do is have an invisible box that when a player is within that box, will be louder. I've made a graph, and attached it to the object, but it doesn't do anything... I am pretty sure I'm not doing it right.

void ridge
#

arrow outputs

native estuary
#

You didn't drag out the arrow to actually trigger it?

tribal meadow
#

OH! ok so it should be this?

void ridge
fiery yoke
#

lol close

wispy crypt
#

pog

#

you guys are not helping him '

tribal meadow
#

ok thanks I'll take a look

void ridge
tribal meadow
#

I don't really understand the difference between the lines between the arrows and the lines between the circles if that makes any sense :D

void ridge
#

Right, the "Intput and Flow" video explains that

tribal meadow
#

ok

void ridge
#

tl;dr
Arrows: execute these things in this order
Circles: while executing, use this information

tribal meadow
#

ahh ok, so what if I want two things to happen at the same time, is there a way to have the arrows go in a Y to go to two events?

#

example, spawn this object, and make the button change colour

fiery yoke
#

Two things never happen at the same time inside of a computer. A computer always processes instructions one by one.
(Except for multithreading, but dont worry about that)

void ridge
#

However

#

Think about things as executed inside the space of a "frame." You can have A, B, C, D happen in that order, but if they all happen in the space of a frame, then from a user perspective, they're happening at the same time.

tribal meadow
#

right

void ridge
#

Your Event.OnPlayerTriggerEnter node occurs on some given frame, and all your programming that follows it happens on that frame.

tribal meadow
#

OK, so basically if I wanted another thing to happen I would be continuing the 'arrow' path along to the next item

void ridge
#

exactly ||or use a Block node, but those scare me and I don't want to talk about them||

unborn hornet
#

||They are blockblack magic, I avoid them||

tribal meadow
#

ok that's what I thought, I've been experimenting with a few things but often the first item will work, and the second item nothing happens, I'll have to play with that a little more

steel nova
#

if a gameobject is disabled with an udon behavior on it, will the behavior still run?

supple root
#

I think not, you would have to enable it in another way, like another active Gameobject

vernal maple
#

Quickie Udon question. Is it possible to send a network event to a specific player by VRCPlayerAPI Index?

#

(I know the player's index for example, just need to send them a confirmation.)

ionic crest
#

Does anyone know where I can find a guide to set up a UI for a VRC World? I'm trying to make a UI that just turns off and on a mirror but I cant seem to get it to be correctly interactable.

#

It works just fine if I apply it to an actual object.

#

I just don't know how to properly set up the canvas

floral dove
ionic crest
#

ignore the button name i was angry

floral dove
fiery yoke
vernal maple
#

That should work, since the owner of the object should have resolved after the 3 second timer. Time to give that a test. <3

#

So just to clarify, when you send a network event to "Owner", that's the objects owner, not the actual master of the room, correct?

#

(Because I've been using that entirely wrong this whole time, but amusingly the only time I've ever used it is on an object that never passed ownership.)

fiery yoke
vernal maple
#

Fanstastic

#

That is going to save me from so many method calls and network events to all players.