#udon-general

59 messages · Page 52 of 1

flint urchin
#

You need to reference a behaviour (instance) if you want to set it to a specific behaviour.
Right now it's targeting itself (sending the event to itself and not the other one)

pallid remnant
#

make a seperate object that just has the purpose of being a behaviour instance?

#

or combine both the scripts into the same one

flint urchin
# pallid remnant how do you think i should go about doing that...

Make a new UdonBehaviour variable, drag it out into the graph and plug it into the instance field on SendCustomNetworkEvent.
Then on the object you have this behaviour on, go to the inspector and drag the object that has the resetdrinks into the the empty variable for the udonbehaviour

worldly tapir
#

do we have any kind of reroute nodes yet?

pallid remnant
#

OHWAIT

#

think i got it

rigid plume
#

Is there an Udon prefab for making gokart-like vehicles? Or would I need to roll my own?

flint urchin
worldly tapir
#

@rigid plume Look at Jetdog8808's post in #udon-showoff (17/3/2021)

flint urchin
#

yup

#

Ofc, this only works for one item

pallid remnant
#

ow

flint urchin
#

if you want more, you need to make a UdonBehaviour[] and loop over that

pallid remnant
#

im trying to turn off a bunch off objects at the same time

flint urchin
#

That's my example on toggle object (not networked)

#

But since you're doing this networked, I recommend you send a networked event to the same object, then loop over it locally

#

So you only send one event and not N events

worldly tapir
#

phaxe with reroute node I meant something like this

#

so you don't have that

pallid remnant
flint urchin
#

They do have a node for pathing though

#

Forgot the name of it, but it does allow you do something similar.

#
-> | -> path
   | -> path
   | -> path
worldly tapir
#

the block node?

#

I'm not sure whether it adds any load. the reroute nodes

  1. look nice and small
  2. work on any type (e.g. an int can be rerouted, not just the execution noodle)
  3. make it compile the exact same as if they didn't exist.

Think I'll just request it on Canny later

flint urchin
#

It doesn't add any load

#

It just adds the jumps in the usam

rigid plume
#

Not quite what I was looking for. I guess I'll implement my own vehicle then.

worldly tapir
#

Finally I've been able to sift the culprit of all my problems.
The code, as is, will just print the text, float, or int in the last log, everything is fine.
However, if the marked bool in the first branch is false, Test 2 and Test 3 will return NULL.
Is this known yet? Is it "supposed to be that way"? I can't find anything about that on Canny.

#

Any attempt of accessing any variable will result in null too, not just tostring. E.g. dividing an existing float will also return null, and so will e.g. returning the name of a gameobject

rigid plume
#

n00b question: Is there a way to give an object physics without making it a pickup?

tribal meadow
#

OK, here we go again :) I am trying to create a curtain which will open when a button is toggled on, and close the curtain when the button is toggled off. I've created a sequence in Unity's Animator, and have assigned an Animator Boolean 'IsOpen' to start the open animation and hold the curtains open while this boolean is set to true, and to close it and hold it closed when it's set to false. What node would I use to set this animator boolean in udon, so it can be set to a button in world? (hope that makes sense)

pallid remnant
# tribal meadow OK, here we go again :) I am trying to create a curtain which will open when a...

Part 2 of my video series for basic VRCHAT world building with the VRCSDK3 Udon kit. This series will be designed for beginners. I will try to cover every step from start to finish of each vrchat world creation tutorial. The goal of the videos is to allow users to follow and recreate the functions being demonstrated in a step by step manner when...

▶ Play video
#

this should help

tribal meadow
#

Oh thank you I';

#

I'll take a look

pallid remnant
#

what's going wrong in this piece of code? it's not doing anything

paper plinth
#

you are missing a reference in instance I think

#

you have to reference the udon behavior you're referring to

#

am I missing something? This says integer, not layermask?

tribal meadow
paper plinth
#

uhh

#

WHY

#

Someone pls help: What is this in graph?

pallid remnant
rigid plume
#

How do I get the arconsine of a float in Udon?

paper plinth
#

....and then the channel loaded

ember spade
#

I have a question.

#

Who made the wickerbeast called BadBeast?

#

Whos is the creator?

#

Who

dapper lion
#

@ember spade ask in avatars, we dk

ember spade
#

Ok.

tulip flax
#

is it possible to control and move a gameobject from a button station? as if it was a remote robot

unborn hornet
#

Yes

mighty fjord
#

What would be a good way to sync the rotation of an object and have it interpolate?

paper plinth
#

use an animation to rotate it and instead of syncing the position of the object sync the start of the animation maybe

mighty fjord
#

I want to manually sync the rotation of a player though

paper plinth
#

get the rotation of the object in the last frame and add it to the rotation of the player and teleport the player to that rotation?

#

that would only work if the player were in the center of the object tho

mighty fjord
#

Wait hold on I feel like I need to explain this more properly

#

I'd like to have objects at the 'feet' of every player capsule, and these objects should rotate when the player capsules do.

#

But due to what this is for, I can't actually just get the rotation of the players. Hence why I'd like to just sync the rotation instead

fading cipher
#

@mighty fjord why can’t you get a player’s rotation? Could you not just pool a set of objects and for each player when they join one is taken from the pool and their own client handles making the object follow them?

mighty fjord
#

Stations are the reason I can't get the player rotations

fading cipher
#

Ah, not yet worked with those 👀

mighty fjord
#

And besides, using the default object syncing means it'd try to sync more vectors than necessary

scarlet lake
#

Heyhey!
I'm trying to make a object stick to a surface when a person throws it towards the surface, but I can't figure it out.

The surface has a rigidbody set to .isKinematic = true, and a collider

The object has a rigidbody, box collider and a vrc pickup script.

Additionally OnCollisionEnter when it colliders with the surface, the object gets set to: .isKinematic = true, .useGravity = false, pickupScript.enable = false

Though it just bounces off and falls down.
I've confirmed that the OnCollisionEnter method gets called properly, and .isKinematic = true gets set via the log output.

Does anyone have a clue why that happens?

#

When I manually drag the object via the scene view onto the surface while the game runs inside the unity player then it freezes properly.

grand temple
#

kinematic and gravity are controlled by the udonbehaviour's sync position setting

#

if you switch to the udon network beta, the objectsync component manages that instead and you can call setkinematic on it

scarlet lake
#

Oh interesting, thank you

#

Now I just gotta ask stupidly, how can I switch to it?

#

Is that the open beta in steam?

grand temple
#

no, there are two parallel betas going on right now. The one I'm referring to has instructions pinned in #udon-networking

scarlet lake
#

Thanks!

normal swallow
#

Setting up some nodes, When using the "Transform Set Rotation" what goes in the W Field?
I read up the Unity Quaternion page but dint understood much of it o.o

grand temple
#

quaternions are not something you mess with by directly editing the individual values. It doesn't translate to degrees or anything that is easily understandable. Instead, you can work with a vector3 aka euler angles and convert it to quaternions

#

euler angles on the other hand are much easier to understand: x is pitch, y is yaw, z is roll, at least in the case of unity

scarlet lake
#

Hmm no dice

normal swallow
#

ah ok, euler eplanation does look easier to understand and use i suppose. Ill try to play with it on a different angle

scarlet lake
grand temple
# scarlet lake

you have to call the function on the objectsync itself, not just set the rigidbody properties

scarlet lake
#

o

#

Oh yeah should have read the doc better, thanks again

scarlet lake
#

Do anyone know how to make a slider for bloom and temperature or anyone have a prefab for that

mighty fjord
#

Actually, what's better for networking, manually syncing position and rotation or using the pre-defined sync that comes with the current Udon component?

dawn forge
#

For Udon# and Udon VM itself... I'm trying to make a debugging console and utilities that many components can share. By this case I'm wanting to use events, delegates and static methods, which doesn't seem to be supported. What is another approach?

grand temple
#

you'll have to have your scripts have a reference to the debug console script

#

and they can just send an event to that script with all the necessary parameters

pallid remnant
#

Is there a way to make a global toggle in udon that works just like a global toggle in sdk2?
All i know is that using a custom network event you can have an object toggle at the same time for all players,
but if there were to be people who joined after that event took place, it will just be set in the default state for them...

floral dove
worldly tapir
brittle skiff
#

any clue why this isn't working? i think the logic is right but i'm not used to visual scripting

#

it's supposed to toggle the seating on interact

worldly tapir
#

let me guess, usestation and set seated aren't working

brittle skiff
#

yeah exactly

worldly tapir
#

....i literally just posted a link to canny explaining this bug above your post xd.
To work around this, just make a new driver seat and get localplayer node for each the true and false branch

brittle skiff
#

oh sorry i should have checked...

#

thanks tho!

worldly tapir
#

all good, we're here to help ^^

tulip flax
#

also how could i make a transition betwen animations when picking up an object?

worldly tapir
#

how exactly do you mean? Do you want it to move between fixed poses/rotations/locations? Or do you want full independent control, like an RC car has?

#

@tulip flax

brittle skiff
#

it seems interact isn't working while seated :\

unborn hornet
#

If I understand your concept properly, you'd have to have a couple things.
First a way to detect if a button is HELD down/continually pressed.
Second you would need to have an update loop run that updates the position of the target gameObject's transform by a certain amount per frame (making use of the Time.deltaTime data likely). For this, it is most commonly done like pic related, where drone is the transform on the target game object, and multiplier is a custom value that you can set to make the target move faster or slower in a given period of time.

unborn hornet
#

You would also use deltaTime technique to apply any sort of rotation that you may want to have on the target.

#

Oh, forgot to specify in the pic, in between the update and Set position, you would want to probably have a branch node specifying whether or not to run the movement code depending on if the button is being pressed/held or not.

tulip flax
tulip flax
#

for the animation thing,i want it to go from idle to walking when the navagent moves, this is what i got so far but it dosnt seem like it works

#

the navagent moves but it just stays in the idle animation

unborn hornet
#

I'm shite with animations currently, so I won't be able to help you with that particular bit, sorry.

tulip flax
#

no worries, just asking

#

rc car is my main focus tbh,i have a station that has a camera wich is attached to the lil car,once i can make the control for it work within the world ill be like piloting a race drone or something

tulip flax
unborn hornet
#

You'd probably want to use an Input node such as Input -> GetKey

#

The key input parameter is a list of options, pick your desired key from there.

left copper
#

My vrchat chat isnt loading and i don't use steam because i have the app in my oculus quest 2.

worldly tapir
tulip flax
#

idk how ppl get it wrong xD its on the channel name

left copper
#

ANd sorry for using it wrong.

worldly tapir
unborn hornet
#

^ a solid idea

sage crypt
#

Hey is there anyone that can make vr chat models?

#

Like avatars?

worldly tapir
sage crypt
#

Sorry.

paper plinth
#

that has a way of falling apart in more complex implementations tho lol

#

there is a controller inputs prefab (search here for controller inputs) and it does all the handling for you, and you can make changes to that

scarlet lake
#

Can you force player to pick up an item with VRC_Pickup?

fiery yoke
#

not really

high apex
#

can I play oculus quest 2 without pc or laptop?

nova trout
#

yes, its fully standalone

somber hawk
#

When people join my world it seems like it takes quite awhile (at least locally) for hand gestures to start working, is there any known cause of this I could fix?

dapper lion
#

@somber hawk thats usually common if they are on desktop, is it becoming a vr thing or just desktop?

somber hawk
#

Not sure if it affects desktop or not

dapper lion
#

thats weird, id start a canny on it finally if it is effecting VR now cus its been a weird issue on desktop for a good few months now

#

you sure that their gestures arent disabled?

somber hawk
#

Yeah I'm fairly certain they aren't unless there could be some way they could be magically auto disabled when entering a world or something. I notice this almost every time I enter it and my gestures aren't usually disabled

#

My world also seems to take quite awhile to load up even though I don't think it's terribly complex, not sure if this could be related to it

dapper lion
#

could be a lot of reasons, if it is just your world, then it might be the world. but ik that for desktop, getsures dont work after a minute or 2

heady tusk
#

Someone a idea? I saw a Mirror that only reflects the avatar but you can basicly see trough it so everything that is behind it.

dapper lion
#

@heady tusk yes, that would be a camera mirror

#

the B club uses a ton of thos mirrors

native estuary
heady tusk
#

Thanks a lot guys 😄

dapper lion
#

O.o theres a shader now?

pallid remnant
#

guys one of my object toggles stopped working and it's drivin me mad

#

it uses the exact same script as other toggles and they work just fine

#

could it be that the collider i have the script on is inside of another trigger collider?

#

its super weird because it does work in CyanEmu but once i upload it the collider doesn't show up

worldly tapir
#

could you post the code that isn't working?

unborn hornet
#

?whatisudon

hidden martenBOT
#

VRChat Udon is a programming language built by the VRChat Development Team for use in VRChat worlds! It enables complex behaviors and logic in VRChat worlds. Read more about Udon in our documentation: https://docs.vrchat.com/docs/what-is-udon

hasty gazelle
#

Why cant I use expressions? I use mythumbstick to go into the expressions options but it wont work and I can't use emojis

#

I'm on quest btw

worldly tapir
#

Wow ArchiTechAnon, you predicted it xd

elder lake
#

Can someone lead me in the right direction to the "latest" pool table prefabs available? (not for beta)

tame ruin
elder lake
#

Thanks gamer

tame ruin
#

np homie =3

fiery bear
#

anybody know if its possible to have an udon world set a users avatar? like if they die in the gamemode im creating, it would switch them to a ghost avatar?

dapper lion
#

what you could do (this is what ive seen) is have an avatar button as a respawn button so when you respawn, it also swaps your avatar because its an avatar changer

fiery bear
#

Oh nice, that would work perfectly! thanks for the idea~

worldly tapir
#

so uhhh, decided to test my udon map in vr for once. can't enter the world tho, I'm missing the selection ray from my controller...? any ideas...? xd

#

non-vr works no problem

floral dove
worldly tapir
#

I... might have deleted that. woops.

#

oh wait nevermind, just didn't see it

#

nope, no selection ray to be found

#

found it, it's the blue dot down there...

eternal summit
#

any news on ComputeShader support in Udon?

floral dove
# worldly tapir *found it*, it's the blue dot down there...

If the UdonExampleScene is not working in your project, then something has gone very wrong. To further diagnose the issue, you can make a new project, import just the SDK3 package, and try to Build & Test the UdonExampleScene there. If that works, then the issue is something you've done in your project. If it doesn't work, then it's likely a VRChat installation / setup issue.

grand temple
#

maybe wrong unity version? You should be on 2018.4.20f1

worldly tapir
#

version is correct. I'm setting up the new project. If that doesn't work I'll quickly start VRChat regularly and check that it isn't my exe

grand temple
#

yeah, if you can't even get into the world in that way then it's probably not even related to unity at all

worldly tapir
#

I'll let steam check my files while assets import into unity

#

welp, maybe this is the reason

grand temple
#

if vrchat starts normally just fine, then it's possible that the SDK is simply pointing to the wrong installation of vrchat. You can change that in the sdk settings tab

pulsar iris
#

Random question that I probably will never use the answer to anyways, is it possible to use some kind of shader to make it appear as if people are on a different gravity than you? Bit of a random question, yeah, but I was thinking of how cool it'd be to make something like the Infinity Castle from Demon Slayer and I'm not sure if that'd be possible.

grand temple
#

technically possible but extremely complicated and jank

worldly tapir
#

i can't even start vrchat by normal means. seems some crashed task is hogging access to the headset, I'll restart my pc real quick

distant mulch
#

hey

#

my values wont' save.

worldly tapir
#

ok, everything works after the restart

#

i suspect vorpx, had a halted task even though i never started it

distant mulch
#

How do I make it so you can walk though a wall?

dapper lion
#

turn collider off in the inspector

distant mulch
#

Where? o.o

dapper lion
#

door is probs not big enough

distant mulch
#

to remove the collider?

dapper lion
#

it has none, but if there is a border above it with a collider, that might be causing the issue

mortal star
#

Does anyone know how to copy rotation and position of a VR camera? I have a script that moves a camera based on player's head position but for VR it also gets translated by another number which I don't know how to control

distant mulch
#

how do I do object sync?

#

I'm using SDK3..

grand temple
#

add an udonbehaviour and enable sync position. You can safely leave the udon source empty

distant mulch
#

oh.

#

that is easy.

misty berry
#

can i send variables over the network?

tall vault
#

Nope, you would have to use synced variables, or include the parameter as part of the event name

#

If your animation states are limited to a fixed set of values the second option would probably be the better path to take

distant mulch
#

How do you remove the master lock on the Udon Youtube player?

tall vault
#

Synchronize Position only applies to syncing the transform of the object, custom synced variables would use the [UdonSynced] attribute, e.g. [UdonSynced] int myVariable;

misty berry
#

just found UdonSynced online 🙂

#

awesome

#

cheers

humble veldt
#

why people can grab my avatar, but not me?

#

there's special world where we can do that- but i can't while my friend can-

#

i changed to multiple avatar and it still didn't worked -

#

@misty berry i don't know- ..how could i add it?-

#

im using rift s

#

maybe i should reinstall vrchat?

#

i did all the update -

#

@misty berry i had this problem for weeks now, most people can grab player in udon world who permit it, but i did see some people like me who couldn't

#

i tried it right now, my friend could grab me and other people around them

#

everyone could grab be, but i couldn't grab anyone

#

it has been like this for weeks now

misty berry
#

i dont think we are talking about the same thing 😛

humble veldt
#

ohh..

humble veldt
#

im going to rewrite my question to make it more clear ^^ :

#

Hi - i had a problem in vrchat since a month ago-
does someone here know Yemeet Quest 1.2 or VF Livestream? they're world where you can grab players around you, and they can grab you too

#

strangely, i can't grab people, but they can grab me, it seem like i wasn't alone in this situation from what i've seen
i don't know why- changing to my friend avatar which worked for them, didn't worked for me, reinstalling vrchat didn't worked, disabling space calibrator and OVR advanced settings didn't changed anything, clearing cache didn't helped either, my vrchat is currently on the last version "build 1063", i tried in desktop mod, full body too. i have Rift S-

why does it don't work? how can i grab people too in those world? why does it work for other player?

#

( just putting a hand on them and grabbing like you would with a normal object in game )

humble veldt
#

i managed to find a way to make it work,- i cleared everythings but not local avatar in advanced settings. restarting, Holding Triger on someone and waiting 3 seconds~

misty berry
#

does VRCInstantiate a world object make it that scale? hmm

tame ruin
blissful juniper
#

As I put myself in third person on vrchat without virtual reality or oculus

last briar
dull stream
#

Are you missing cinemachine?

dull stream
last briar
dull stream
#

yeah you don't want to mess with it

#

sdk3 installs it by itself

last briar
#

well, at the moment I rolled back to backup from before. But eventually I want to upgrade the SDK :/

#

I may try it at a later time again

native estuary
#

Did you try restarting unity? Usually enough to get rid of those errors

#

And otherwise making sure all your other extensions like udonsharp were up to date as well

last briar
distant mulch
#

hey, I'm trying to set up the pool table. This instruction is unclear. What does it want me to do?

#

okay. found what the creator was referencing, but it doesn't look the same...

floral dove
#

Your console may have some errors that would provide some context - perhaps you're missing UdonSharp?

distant mulch
#

Yea

#

You nailed it.

#

I forgot to install udonsharp. lol

somber hawk
#

Is there any way to speed up or have insight into how synced variables are when someone joins a world? It seems like sometime's it takes many seconds to sync, and because of this some of the "locking" I have on certain controls can be bypassed for a short period of time after you join since it doesn't have the latest state yet

paper plinth
#

have I got a networking update for you...

worldly tapir
#

I have yet to look at udon networking. Sounds complicated. But from what I hear the people working on it are doing a great job at improving it^^

violet spindle
#

I have finally found my avatar I wanted, but it’s PC only. Obviously I can still wear it on quest but I’m a robot. Are they ever going to make all avatars quest compatible one day??

unborn hornet
#

Avatars are user generated content.

gilded sandal
#

but you might be interested that they are adding a quest fallback function in the next patch

unborn hornet
#

Yea. So instead of robots, it's gonna be brushies. 🤣

violet spindle
#

Oops my bad lmao

#

yeah but I wish they made it the actual avatar 😂

unborn hornet
#

Quest go brrrrblack screen

shut patrol
#

Dear udon developers, is it foreseen that i can use not only a string, but also a variable as an EXTERN parameter in the assembler? And not only the address or variable identifier in PUSH, but a string as in EXTERN? For example like this:

.data_start
    debugLogConst: %SystemString, null
.data_end

.code_start
.export _start
_start:
    PUSH, "Hello world"
    EXTERN, debugLogConst
.code_end
chilly crater
#

Is it possible to check if a bone on a player exists?

#

I know you can parent to bones, but I would like to be able to do a fallback list. Does eyebones exit? Yes: Parent censorbar to eyes. No: parent it to head. Head don't exist? blur the whole player.

grand temple
#

yes, if it returns 0,0,0 then it doesn't exist on that avatar

chilly crater
#

Thank you.

fiery yoke
#

Unless its actually at 0,0,0 but thats quite a degenerate case lol

chilly crater
#

I nudge the world up enough and have 0Y as the respawn plane.

fiery yoke
#

Yeah even if you didnt I would argue that the heat death of the universe is more likely to happen than that

chilly crater
#

Waiting for someone to fall to -100 Y is cruel and unusual punishment.

#

I also need to go to the canny and ask if an example could be put in the SDK for getKeydown.

floral dove
chilly crater
#

I figured it out, but that was a journey.

fiery yoke
worldly tapir
#

Quick question, is it possible to have a video player that can only play, navigate and replay one youtube video? Would like to do that as a form of crediting external contributers.

floral dove
floral dove
worldly tapir
#

ooh fancy, thanks momo. Will see how well this works^^

floral dove
# chilly crater

we do include a simple 'OnMouseDown' example, but generally don't encourage keyboard / mouse input as they're platform-specific

chilly crater
floral dove
somber hawk
shut patrol
tame ruin
#

i have a small problem with pickups people on quest / pc are not able to see the other hold that item. how would i fix this?

grand temple
tame ruin
#

they do have the same hierarchy..

#

do i need to add something like on sdk 2.0 e.g object sync? if so how would i go about doing this?

grand temple
#

Oh if it's just not syncing at all, then it's unrelated to quest/pc cross platform differences.

You need to add an udonbehaviour and check sync position

tame ruin
#

Thank you phase you life saver!

dawn forge
#

Question, does VRC Team foresee possible HTTPClient or other means of HTTP communication to be exposed by Udon? I.e. GET and POST to a webservice through either means of JSON/XML? Would be awesome to have a data source to store player scores, etc.

floral dove
chilly crater
#

Is there a way to differentiate VRCStations with Udon? I want to do the InputUseEvent, but don't want it to be firing unless the player is in THAT station.

#

Meh, I'll have to do a script on the station to set a local bool to true/false on enter/exit station. Then have a branch check after the inputUseEvent

acoustic delta
#

But once we are able to get dynamic images we would have a reliable way of data transport into VRC. You could encode your JSON response as an image and then parse that in Udon.

serene moat
#

maybe report the world if it's knocking you offline...?

#

I fail to see the issue

#

it's one of those things where people will just hack around with existing systems if VRC doesn't implement it, we're already able to get dynamic images and such fine. There isn't really anything stopping people from making companion clients that fill the holes VRC leaves in its communication, it's more just a question of having it be attractive enough to the end user

acoustic delta
# serene moat maybe report the world if it's knocking you offline...?

POST would allow for so much more. GET generally only fetches data, while POST would allow you to submit and modify data, and opens up a whole new world of possibilities. And downloading a companion client is something completely different compared to VRChat making it available in the client.

serene moat
#

yes...? GET also allows sending data...?

acoustic delta
#

Yes, but most forms and systems are built around requiring POST. You can't do nearly as much damage with GET requests.

serene moat
#

I don't know how these things that have existed in web browsers for 20+ years are "incredibly dangerous"

#

and this is all under the presumption the user would need to whitelist each domain

acoustic delta
serene moat
#

then restrict it the same???

#

hello??

#

how is this a difficult problem

acoustic delta
#

CORS limits you to only send to the same domain. A HTTP client in VRChat doesn't have a domain context.

serene moat
#

you're whitelisting each domain though? The domain context in this case is the domains that the user has whitelisted for the world. VRC could also trivially just filter out local network requests

tall vault
#

Limit to class C IP addresses only?

#

Or specific subnets

serene moat
#

VRC's context is already presumed to be much more restrictive than a normal website, in web browsers you don't say "I want to allow this Facebook request that this random blog is doing for tracking" you say "I want to block all facebook tracking requests with an addon or setting on Firefox"

#

meanwhile VRC's proposed -- anything, to do with external connections says "world is attempting to access website <website domain> do you want to allow this?"

somber hawk
#

All this discussion shows me why VRC doesn't want to support this, as nice as it would be to have 🙂 You open up a massive class of attacks that would be difficult to effectively mitigate, and imagine the PR & adoption issues if you could get full-blown hacked (e.g. ransomware) by joining some random world you just wanted to check out because it looks cool and they forgot to blacklist this one thing. Even in browsers with incredible security teams behind them you end up with RCEs like the Zoom one with running local servers and the browser being able to make requests to it.

Restricted functionality like only allowing some sort of simple k/v data storage that they provide via their own APIs or first-class support for third parties like Firebase DB would be more doable but still have a ton of things to figure out. Once you allow external requests with parameters, you get into privacy territory too because now somone can exfiltrate data about players to another location which potentially be sold to third parties.

serene moat
#

They allow external requests with parameters, they're called video players. Which have URL's locked behind the allow untrusted URL's thing, which has been stated to be slated for replacement with a per-domain whitelist that the user decides. If you want to worry about RCE, basic GET or POST support is the absolute least of your worries. VRC has had close brushes in the past with exploits that were on the permanent hardware brick tier because they used big software projects outdated be 4+ years that had numerous critical security issues. They're building a content creation platform where you can send arbitrary asset bundles loaded from native code on a game engine that is not made for security. They expose a giant surface of the .NET and Unity libraries which call directly into native code which you are told to not depend on for security. There are so many larger issues than sending a string to some website that it's not funny. The things people are worried about VRC adding already are doable, they're just more painful to use for the people who aren't trying to exploit them. Their only saving grace is that the people skilled enough to take advantage of this stuff don't have incentive to target it

somber hawk
#

The video player requires hard coded URLs though right? And you can't set things like HTTP headers or add get params right? Allowing that starts to allow for sending raw in-game data to external servers which is assume is one of the things they want to avoid introducing.

For my RCE comments I could have been more clear, I don't mean native RCEs because like you said I asssume there's already plenty of attack surface there, but more that allowing arbitrary HTTP opens up another layer to attack which could lead to more RCE capabilities, but also other types of attacks (e.g. phishing, sending a message in some application).

I don't know much about Unity/.NET security so I can't speak to that, but if you're claim is "it's already vulnerable because of that so introducing another layer isn't a big deal", I don't think I agree since it could make it even easier (all this depending on how it's done of course), so at least there's still a barrier with how it is.

All I'm trying to say is that it seems complicated to get right, and I think it's likely they have higher priority items to focus on than figuring this out right now. But yeah I'd love to see some support for this type of thing in the future.

serene moat
#

I'm saying the order of magnitude is night and day. Yeah you should avoid introducing vulnerabilities, but if this was a real concern, Udon would not exist, VRC would not exist.

#

And all you need to do for external requests is make a large list of URLs you send in order

#

numerous people have done this

#

and out of all the API's that exist, HTTP is one that should be the most battle-hardened

#

concern about VRC fucking up because they don't know what they're doing is not misplaced, but concern about the API itself should pale in comparison to what exists to the point that it's silly to complain about.

#

I'm mostly saying that being alarmist about this, but not everything else already there means your priorities are misplaced

somber hawk
#

haha maybe I'm just woefully underestimating how much interesting attack surface exists 😂 I should read up and learn more about it. It'd be fun to poke around

tall vault
#

I'm sure everyone is all for reducing potential attack vectors, but when the appropriate measures have been put in place to prevent abuse there shouldn't be an issue allowing many of the features that people seem to get paranoid about being abused

#

Like the silly arbitrary limitation of VRCUrl's constructor not being usable at runtime, hopefully once they implement better whitelisting functionality they can remove that since it has never stopped the abuse they wanted to prevent but has hampered legitimate use cases

steel nova
#

ive had this script identical in old projects; but its throwing an exception. Am I missing something?

#

testing with Cyan Emu, error is ``Inner Exception:
---> VRC.Udon.VM.UdonVMException: An exception occurred during EXTERN to 'VRCSDKBaseVRCPlayerApi.__TeleportTo__UnityEngineVector3_UnityEngineQuaternion__SystemVoid'.
Parameter Addresses: 0x000000A5, 0x000000A6, 0x000000A7
---> System.NullReferenceException: Object reference not set to an instance of an object
at VRC.Udon.Wrapper.Modules.ExternVRCSDKBaseVRCPlayerApi.__TeleportTo__UnityEngineVector3_UnityEngineQuaternion__SystemVoid (VRC.Udon.Common.Interfaces.IUdonHeap heap,`

#

all variables are populated, using gameobject vars as empties for transform points

worldly tapir
steel nova
#

this is what you meant correct?

worldly tapir
#

Yes. Are there any other branches before this?

steel nova
#

lmao

#

its compares string to preset with a chain of "or" bools

#

other than that no\

worldly tapir
#

Could you find out which variable arrives as "null" and at which point it turns into null?

#

Basically just spam the thing with debug logs. Also use tostring, as e.g. constants won't be null if nothing is done with them.

worldly tapir
#

Also, if all of these above are just "or", you can get rid of a few redundant nodes

worldly tapir
#

In general these or towers look a bit scary, a simple chain of ors would probably be easier and, if conditional or is implemented correctly, will be faster, too.

For the bug, I assume there is nothing between the or towers and the branch we see in the first pic? If so, this is indeed very strange. Does the bug occur both on true and false? If only on false, are you sure emptyHotel is set? If on true, can you try creating a whole new flow path for the custom event? In most cases this kind of stuff happens either at new branches or at two flow paths joining together.

steel nova
#

i was able to rule out the entire tree; ill keep testing these variables to see what comes out as null

steel nova
grand temple
#

@steel nova if you want to check if a certain string matches with any in a list of strings, the cleaner and easier to debug way to do it would be to store the strings in an array then use a for loop to iterate through. Set a bool to false beforehand, then for loop, if any matches set bool to true

worldly tapir
#

Do we have a "break" node yet to exit for-loops?
If not, would it make sense to ask for one on canny, or would such a feature be of too low priority? Could be implemented in the same update that gives us switch statements (real ones with lookuptables and binsearch, not the ifelse chaos we have in u# xd) and scaling logic nodes, e.g. an or that lets you add, say, more than two bools? :p

steel nova
serene moat
hazy galleon
#

imagine being in 2021 and still having to work with nulls

dull stream
#

what's wrong with nulls

#

other than program breaking exceptions

hazy galleon
#

what isn't

dull stream
#

and constant null checks

#

among other things

hazy galleon
#

lovely stuff

light nova
#

hello, are the Udon's Get blocks 'returning' an instance supposed to be connected (by that instance) to only 1 another block?
if so, why do they allow to be connected to more of them, which breaks?
if not, is it a known issue that it breaks?

#

to give an example: this is the GetPlayersText script controlling the list of players in Udon's examples scene, and it works

#

but if you do this, it doesn't work properly anymore. more precisely: it stops getting the following text fields when user is not valid

paper plinth
#

I believe there's a canny on that

#

If it's the same problem

worldly tapir
#

There's multiple cannys on that reporting different scenarios, e.g. here's my canny that tries to explain the issue while including links to related ones: https://feedback.vrchat.com/vrchat-udon-closed-alpha-bugs/p/branches-decompose-variables-to-null-in-certain-scenarios .
That said, I don't think these nodes returning null after certain multireferences and joined flow paths is "asking a bit much" when both are shown to work in the automated doors tutorial my momo. Of course, in the case of the video it only shows these things on flow paths that start as seperate, avoiding the bug, but someone who's learning udon will see this as proof that multireferencing on different flow paths and joining split paths is normal and working.

light nova
#

in my case, at least from what i can gather, it doesn't return null. instead, looking at the assembly, it simply does not execute the instance = array[index] equivalent and instead reuses the instance that was received in the last loop in the if user.isValid() block

worldly tapir
#

Still, the problem seems very similar. Try using a unique "get corresponding text field" block for each set text.
And if that don't work use more gun try setting a new int to int i's value before the isValid and using this variable on both "get corresponding text field" blocks

light nova
#

there's nothing to try, really, you're just describing the default working version

worldly tapir
#

Ah wait my bad i only saw the lower image and didn't bother scrolling higher...xd

light nova
#

also this is enough to make it work :p

#

(creates the exact same assembly as the original)

worldly tapir
#

Enigma

tame ruin
#

any udon pens about with easy setup?

cold raft
#

there is the Qv pens prefab

onyx kindle
#

why does my game crash every time I open it, and I just made my account today.

acoustic delta
tame ruin
#

theirs zero instruction on what area to place the quest material too?

#

for qv pens atleast.. and that sucks v.v

scarlet lake
#

Does anyone know how I can do justures with one hand in VR chat I have tried binding

merry light
#

Yo! Looking to control a few material floats using Udon. Still new to UDON so what's the practice for moving a LERPs t= between 0 and 1. I'm thinking I'll have to setup some time math using a update? 🤔

tame ruin
#

anyone have a udon script that turns the mirror off when you walk away from it?

dapper lion
#

@tame ruin architect pens work for both pc and qc out of the box

worldly tapir
scarlet lake
#

Hello. I am new and I have a question about the game avatars, to import I mean. It says I need to spend more time in the game, but how much time do I have to play exactly? Cause I try to import an free avatar that someone posted and I downloaded it, I imported it into the Unity and when I wanted to import it into the VRCHATSKD, it says "World Creator Status: Not yet allowed" and " Avatar Creator Status: Not yet allowed" , I know I have to wait some time and I know how to import, but how much TIME exactly I have to play the game if I may ask? Thank you. <33

floral dove
tame ruin
#

@dapper lion do you have a link to these pens ?

scarlet lake
floral dove
floral dove
#

please chek #faq to learn where to ask questions - this channel is for questions about Udon 😄

native estuary
#

Poor Momo needing to tell multiple people in a row that 😔

steel nova
#

can you turn off auto compile every time something is changed? Big graphs get super hard to work with when it tries to compile every time i grab a noodle lol

floral dove
#

PS - it's probably not Compiling that's taking time, but rather the recursive search of flow nodes to make sure you haven't just made an infinite loop. Turning off compiling would not fix that.

steel nova
#

danger is my middle name

#

hmm okay

tame ruin
#

how do i make a new udon graph? for me its stuck on a past graph i did.

dapper lion
#

you should be able to click the new graph in the assets window and then in the inspector -> tell it to open it in the graph editor

void ridge
uncut stirrup
#

I do not know if this counts as udon, as the distinction between SDK3 and udon isn't very clear on this server, but please could someone help me with a very tiny issue?

I'm using a canvas for some text in my avatar world, taken from the VRC prefabs in SDK3. There's a panel and then a header on top. I applied a material with emission to the back panel, but the text clips with it now.
How do I fix this?

normal swallow
#

Is ''Euler'' linked to ''Set LocalRotation'' the same thing as using ''Set LocalEulerAngles?''

obtuse agate
#

yes

daring copper
#

did anything change with video players? i haven't made any changes to my world which was working fine last week, and now it's a white screen when it attempts to load videos.

#

lol wtf

#

so vimeo links don't work anymore?

viscid reef
#

vimeo might have changed somethings that might require youtube-dl to fix

daring copper
#

seems to be just private links that are broken

#

also that was a problem from 13 days ago, last time i played videos on my world was last friday

#

well that's fun, i need to use the embedded url now :\

keen imp
#

@floral dove When someone respawns OnPlayerRespawn node get only triggered locally and does not appear to be sent out to other players is this by design?

floral dove
#

Yes

mighty fjord
#

So it's only supposed to be called for person 'A' when they respawn, and not 'B' at all? If so, then what's the point of the VRCPlayerApi output from it?

keen imp
#

Perhaps update the documentation to reflect that it triggers for the local player instead of A player

dire mantle
#

So how do I do raymarching/metaball stuff with Udon?

fiery yoke
#

You dont. Use shaders. Unless you want to live with like 1 fps kek

dire mantle
#

Ah, good to know. Now to find shaders that do what I am looking for

fiery yoke
#

I made a simple raymarching shader before, and its not too crazy complicated with simple lighting/shading.
But good luck

dire mantle
#

All this searching just so I can make a lava lamp map

fiery yoke
#

Ahh yeah. Lava lamps are fun

#

In fact lava lamps are used for IT security, because of their inherent randomness. Cloudflare uses them as part of their encryption protocols

dire mantle
#

But yeah. I'm just trying to figure out how to do that stuff to have a neat visual for a hangout inside of a lava lamp

fiery yoke
#

I dont know enough about raymarching to help you. But I do know that what you want to do, you have to do with shaders.

dire mantle
#

I also have just started reading documentation on making a VRChat map, so I've got little to no experience with this beforehand

somber hawk
#

Is it possible to access custom c# scripts from an udon script, or does it only allow whitelisted pre-built ones or other udonbehaviors?

dawn forge
#

AFAIK you can't really access custom scripts if it does not inherit the UdonBehavior base class. You're given whitelisted methods to work with, and that's it...

floral dove
unborn hornet
#

Which branch is the new input system in currently?

floral dove
#

(it is also included in the Udon Networking Update beta branch)

unborn hornet
#

Solid.

#

Is there a part of the example scene that contains example(s) of the Input system logic? If so, I seem to be overlooking it...

floral dove
grand temple
unborn hornet
#

So these are events. Is there a standardized way to check for input states outside of these events? Like check if the grip is active during a custom delayed event or update loop?

grand temple
#

no, this is an event based system

unborn hornet
#

So to detect arbitrary grip state, i'd need to read from the Input class with that google sheets guideline still?

grand temple
#

no, just keep a bool around to store the state

unborn hornet
#

Does the event get called on all behaviors? or the behaviors on the game object being acted upon?

grand temple
#

all behaviours

unborn hornet
#

Oh, alright then. Good. Thanks.

#

I'd request that that particular detail is notated in that input-events doc page.

#

Cause it's a bit different from some other events that are context specific (like pickup events)

floral dove
worldly tapir
#

Is there a way to exclude chunks of code from being recompiled or generally considered when making changes to other chunks of nodes in Udon?
About 80% of code for the HQ sampler is done, but it's becoming impossible to work with. Takes about 10 seconds to spawn in a new node or to connect two :(.

floral dove
worldly tapir
#

that sounds good, there's probably a lot of stuff that checks for loops when it really shouldn't, e.g. connecting non-flow-noodles, changing values of constants, just spawning new nodes, etc.
Should probably only ever check this when a new flow noodle is created, and then do it only on the blob of nodes it's been attached too.

Any ETA on this? If it's not to long I'll just postpone the project a bit, am still waiting for the rights to some of the sounds anyways^^

floral dove
#

it's a high-priority item, aiming to get into the next release. Probably about two weeks away since we just had a release.

worldly tapir
#

That's great to hear! Thank you for the heads up^^

unborn hornet
#

So for InputGrab, when would the bool ever be false?

#

Oh I should've tried the prefab sent first lol. So the event is called constantly? At what point in the Unity lifecycle are those events called?

scarlet lake
#

What exactly is the Deal with Start() and OnEnable() ? they both appear to do the same thing..

#

I created an animation that simply toggles off the get.component, and then another switch to toggle it on.. preety basic i know but it works.. so cant really complain.

void ridge
# scarlet lake What exactly is the Deal with Start() and OnEnable() ? they both appear to do th...
scarlet lake
#

Ah so basically all in all if i have the scripts disabled, OnEnable gets called and just like that its on.. so Start() is preety run runtontick

#

Well i think i get it.. but Cyans triggers would be abit more than helpful right now.. i've designed a completely new Funland and its all Udon.. i have no animations at all (apart from dummy animations ive made) my entire park is 20mb.. its a serious achievement over the whopping 220mb as in animations.. it runs like a dream and then i came to the triggers and i was like.. should i just leave the rides on with occlusion culling.. nobody would ever know.. but then decided to just go back to a trigger system.. cyan's looks decent.. i guess i will have to become a patron to get his latest releases.

fiery glen
#

Does anyone know what UdonSyncPalyer(AVPro) does not loop after I check the loop checkbox?

#

I did follow the above settings, but it did not work

zinc thicket
#

Any way to Application.OpenURL(string) yet or still closed off?

fiery glen
#

At the beginning of the game video will not automatically play

zinc thicket
fiery glen
unborn hornet
#

My video player prefab does a timer to wait until some seconds have passed before loading in order to avoid "loading phase" issues many people experience.

zinc thicket
unborn hornet
#

OpenURL is still locked.

zinc thicket
#

No alternate method via VRCSDK? O_o

floral dove
unborn hornet
scarlet lake
#

I see.. well in that case all should be good then.. i've figured out everything but the triggers.. lmao

fiery glen
#

but I use youtube Url, which also does not auto-play and Loop

unborn hornet
#

🤷I've had too many issues with doing stuff to the video player immediately on load (including directly autoplaying a video) that I switched to a delayed system with a custom input for autoplay url (the AVProVideoPlayer script url input is left empty and video play is triggered via script after the wait period with PlayURL).

#

But if you have loop off and autoplay on with an autoplay URL, in theory that's all you should need for it to autoplay.

chilly aspen
#

Assuming that I do not know what object is in my right hand, how would I have my right hand drop any object it may be holding?

grand temple
safe wing
#

Is there any cool Udon stuff I can do to my avatars? I'm a programmer irl and im wondering what the possibilities are

dapper lion
#

avatars are seperate from udon

#

you make udon do stuff to your avatar in a world, but you cant add udon to an avatar as an avatar

safe wing
#

ah damn, guess ill be doing that when im bored of avatar creations

nocturne moat
#

Hello guys. I made a button triggered door animation with a help from a Youtube tutorial. It works fine but I want to play a press animation on the button itself (I already made the .anim, the button going down and up again) but I have no idea how to add this simple animation to the button when its pressed. Someone can help me please?

hoary echo
#

Not sure if this is the right place to post this, but I've got a world I'm nearing completion on, the original version that was uploaded and put on labs was pretty rough, (and a few months ago). I'm thinking of axing the original ID, and re-uploading the complete world under a new ID. Is there any rule against doing this? Just don't want to get slapped. Thanks!

stoic mountain
#

I have a litte problem with a check when a collider enters a trigger :

if (rb != null) {
   ...
}```
This little script is supposed to check wether the object has a rb or not, but Udon says "There is no 'Rigidbody' attached to the "Cube (2)" game object" - when reaching the actual line checking "rb != null".
How can I check if an object has a rigidbody then ?
#

@nocturne moat I dont know how to use animations, but if your animation is simple enough you could just move the transform around ?

nocturne moat
grand temple
# nocturne moat Hello guys. I made a button triggered door animation with a help from a Youtube ...

animations by themselves are legacy and not supported by udon. But that's fine, because instead you can put multiple animations together into an animator. You can set up the transitions so that it is normally in an idling animation and when you activate a trigger, it transitions to the press animation. When the press animation is done, it can transition back to the idle.

Udon would come into play simply by calling "settrigger" on the animator

grand temple
stoic mountain
#

no, but I expected (rb != null) to return false, not an error

nocturne moat
grand temple
#

if by error you mean the script crashing, then no, cube (2) wouldn't cause it to crash. However there is such a thing as "protected" objects in vrchat and if udon tries to do anything with them, the script will crash. Protected objects are things like players, menus, and cameras. That's why utilities.isvalid is a thing. Just do something like if (!utilities.isvalid(other)) return; this will immediately stop trying to do anything if other is either protected or null

stoic mountain
#

In this situation, the tiggering object is not a protected one. However I believer my problem maybe be due to testing through CyanEmu, ill check again through vrc

nocturne moat
#

@grand temple Ok now I have the controller with the sequence and the Udon Behavior in the trigger object with the button as target. What nodes do I need in the Udon Graph now to make it work? Sorry for the inconvenience but i'm totally noob at this stuff 😦

grand temple
# nocturne moat <@!84443478817255424> Ok now I have the controller with the sequence and the Udo...

No worries at all! Just make an animator variable in the list on the left, and then mark it public so it shows up in the inspector. Then in graphs just add an set trigger node, which you should be able to navigate to by searching for animator. Plug in the animator variable so it knows which one you're referring to, and then you can put some text in there like "Press" which would match with adding a trigger called "Press" to your animator

stoic mountain
#

@grand temple it seems my problem was indeed specific to cyanEmu

nocturne moat
grand temple
#

yep exactly

nocturne moat
#

What do you mean by adding a trigger to the animator?

grand temple
#

in the parameters tab

#

there's a plus button to add parameters, one is called a trigger

#

and then you can use that trigger as a condition in the transition

nocturne moat
#

This?

grand temple
#

yeah

nocturne moat
#

@grand temple Thank you! it works! ❤️

warped kettle
#

I've created a Udon script which creates an object. It works for the person who triggers it but no one else sees the object it creates.
How can I get this script to trigger for all users (and also sync the random number used for the rotation of the spawned object)?

grand temple
#

depends. After it's been spawned, does that object need to move around and be grabbed by players

#

in other words, does the spawned object need to be properly synced?

warped kettle
#

It's a dice, so it's important that everyone sees the same rotation.

#

so yes, it does need to be properly synced

grand temple
#

then you can't use instantiate. You'll need to use an object that already exists, or a "pool" of objects that already exist

warped kettle
#

is it impossible to sync an instantiated object?

grand temple
#

it's not supported

#

if it's just one object then it's pretty easy, just a synced boolean really. Even a handful of objects wouldn't be too hard. If you need more than that though, it's a bit more involved. Or alternatively you could switch to the udon networking branch and use the built in object pool that's available there

scarlet lake
#

question does anyone know how to make a particle impact sound?
i have the particle setup but i want it to make a sound on impact

#

asking for a friend

#

pretty much everything i ask is for them haha

solid sluice
#

Das any one have a Working Bloom Slider on UdonSharp or Graph

hot ridge
#

How do i make that if i activate the Low Mirror it deactivates the high mirror automatically? I got a tutorial that showed a general toggle but couldn't find anything about toggling multiple objects. That's how it is currently set up.

grand temple
#

just add another gameobject variable and always turn that one off regardless, rather than doing the whole getactiveself > unary negation thing

grand temple
#

yes, that's called legacy locomotion. You can enable it by doing on start > get networking localplayer > enable legacy locomotion

hot ridge
#

I guess i'm better off waiting for CyanTriggers to release before i continue with UDON. I really don't understand anything lol

cunning mist
# hot ridge How do i make that if i activate the Low Mirror it deactivates the high mirror a...

It's a little out of date, but hopefully this helps!
https://youtu.be/E0D9Z8-HVBI

Since mirrors are super popular but also rather intensive, it's important to have different versions for people on different hardware. I'll also be using this to show off For loops and how they can be used to iterate through arrays. This is also the first video I've done more serious editing for, as well as having scripted the intro and outro. T...

▶ Play video
mighty fjord
#

Couldn't help but notice that the graph doesn't compile in the second clip in that teaser posted by Momo in #udon-showoff.
Will it be possible to turn off auto-compiling?

floral dove
mighty fjord
#

Looking forward to it these updates ^^

normal swallow
#

Is it possible to copy the variables of an object to another object using that is currently using the same Udon script?

worldly tapir
#

If you copy-paste a node, the paste should have the same variable values as the original. If you mean copying a value to a different type of node, you'll have to select and copy-paste the individual values

#

Absolutely can't wait for the update tho 😍

dapper lion
#

ctrl+v pastes the node and varibles. ctrl+shift+v just pastes the node with nothing

scarlet lake
#

so im having issue uploading a avatar to my vr chat account its telling me i need to spend more time in the app and played vr chat it self for 4 days now and yet i still haven't gotten email even after making friends what can i do to fix that

worldly tapir
#
  1. This the Udon-questions channel, a channel to ask questions about Udon, the programming language.
  2. Just play more. There is no "fix" other than being active and not being a nuisance to others with e.g. particles, avatar effects, etc.
distant mulch
#

I hate that type of question.... The answer is literally RIGHT THERE. You just said the answer, and you are still asking the question.

#

This is why the romans killed Socrates.

#

Because all we would do is say the answer like it was a question.

scarlet lake
#

U don know.

distant mulch
#

No one does. But that was probably why they killed him.
I'd want someone dead, if everything out of there mouth was a answer question.

distant mulch
#

It's not even a user support question.

#

He said the answer as a question.

worldly tapir
#

Though honestly, I think the user support channel should be in the "general" section.

  1. We see how many people come here for help because it's the first "questions" channel they see, and
  2. User support fits general more than "development" anyways.
    Not directly related to this specific question, just a suggestion/statement.
distant mulch
#

It's not the fact it's the wrong channel. I get that.

#

My issue is he knows the answer, because he said the answer, but still asked anyways.

#

That's so annoying.

acoustic delta
# distant mulch It's not even a user support question.

Simply replying "you stated the answer in yoru question" is not helpful, the fact that they asked the question in the first place means they are looking for help. Most people gain New User within 2-3 days, so them asking for help after playing for 4 days is a legit question. Maybe they were unknowningly doing something wrong that hindered their promotion, or something else they needed to do to unlock it.

distant mulch
#

He didn't ask how to get new user status. He asked why he can't upload.

paper plinth
#

in my case I didn't get the level I thought I should have because I hadn't linked my account with all the game time on it

acoustic delta
#

He asked why he couldn't upload, which is directly tied to his trust status. And all of this is off-topic for the udon channel.

paper plinth
#

asked a similar question

distant mulch
#

Yea. That's fair. In that case saying: "I think that I didn't link my account on time, what can I do to fix this mistake?" would be a good question.
He asked "I got an email saying I need to play for longer, before I can upload content. How do I upload content?"

#

There are no dumb questions. But there are useless question.

stoic mountain
#

is it possible to change a PostProcessVolume weight with udon ?

floral dove
stoic mountain
outer warren
#

does anybody know what to do when the udon graph does this?

stoic mountain
floral dove
# stoic mountain Im a little confused, all I see about Animator seems to relate to actual animate...

You can animate most component properties. This might help: https://youtu.be/95jRByYHE4Y

These features are currently available only on our Open Beta version - check our Discord for more information.

Learn how to make doors that automatically open and close to let players through. This tutorial will use the Udon Graph to work with Player Triggers, Haptics (aka controller vibration) and controlling Animators with Udon.

Music i...

▶ Play video
stoic mountain
#

thank you

distant mulch
outer warren
distant mulch
#

yes

outer warren
#

multiple times

distant mulch
#

okay.

#

What errors are you recieving?

#

please send me a ss of your error log.

outer warren
distant mulch
#

A....

#

Are you in play mode?

outer warren
#

no

distant mulch
#

For some reason unity is stuck in play mode.

#

or thinks it is.

#

The UnityEngine.debug file would have more info why, if you can post that.

mighty fjord
#

What I do when that happens is that I load another window layout, and I've even set up one for Udon for when I run into that issue. You can change the window layout under the 'Window' dropdown at the top of Unity, then go into 'Layouts' section and you should find the default one again.

outer warren
outer warren
distant mulch
#

it will be in the unity folder

ashen ore
#

how do i remove the sdk from a project

#

because i think my installation is fucked and i wanna reinstall

#

this is the only thing i see under the sdk menu

acoustic vale
#

Looking into soon but thought I'd ask here beforehand. Setting up git for use with Unity + VRChat + Udon + Udonsharp. possible, worth it or too much hassle?

queen panther
#

I don't see the need

acoustic vale
#

keep VRChat worlds under version control?

queen panther
#

I mean I suppose. What are you trying to make?

acoustic vale
#

I mean in general, so if I want to change one of my worlds I can just create a new branch for it without risking destroying everything?

#

not sure if things work differently in Unity though

queen panther
#

Yeah that's not really needed for vrchat. You can just duplicate your scene and edit the new one

#

In unity

acoustic vale
#

Hmmm okey then

distant mulch
ashen ore
#

i did that but after reimporting it still doesnt work

#

is it not fully deleted?

distant mulch
#

What is your unity version?

ashen ore
#

2018.4.20f1

grand temple
distant mulch
#

Have you restarted unity after removing the package?

ashen ore
#

doing that rn

#

nope

#

nothing

#

same issue

#

also the package manager doesnt show up in the window menu

acoustic vale
#

Gave it a quick google, Plastic SCM is used by NASA, MIcrosoft, facebook etc. guess I've been living under a rock 😂

distant mulch
ashen ore
#

fixed it now we good

distant mulch
#

what was the issue?

summer scroll
#

Can I make people able to change only into specific, whitelisted avatars in my world?

unborn hornet
#

Nope.

summer scroll
#

Hmmm I cannot check an avatar by ID with udon?

unborn hornet
#

Not ones that users are wearing. Player data is intentionally protected against worlds. Things like player account data (rank, ID, etc) as well as the avatars and the actual "player object in scene" is all protected. That's why there is a PlayerAPI type to access certain limited pieces of player information like bone and tracking position/rotation and methods for manipulating the player in scene in limited ways (like velocity, teleporting, etc).

chilly crater
#

Is there a prefab that I'm missing that will automagically "parent" something to a player's tracking data on join? And by parent, I meant that update pos/rotation on the tracking data.

#

I'm trying to find an example somewhere, but can't find it.

#

I remember seeing something of what I'm asking for somewhere, but I can't find it.

floral dove
chilly crater
#

thanks

floral dove
#

I think it's the ChooserContainer, it follows the head tracker with some smoothing

cunning mist
chilly crater
#

Thanks.

#

I was asking if there was an example of assigning something to each player on join that attaches to their tracking.

#

Well, I could probably just do on player enter...

#

hmmm

#

I smell cheese about

#

I was thinking overcomplicated and giving EVERY player their own items. When I only needed a local object to track collision with other players.

chilly crater
#

I think I got it.

summer scroll
dapper lion
#

could make spawn a box, and when they press a buttn that changes their avatar. and spawns them into the actual map

unborn hornet
#

What literally said, but that doesn't prevent them from changing afterwards. This could be mitigated by some checks to the distance between two connected bones, where if the distance between said bones (such as the hip to right upper leg, or whatever fits the need) changes, then they would be teleported back into spawn until they change back into the "correct" avatar(s).

#

It's extremely convoluted method of forcing an avatar, doable I supposed but rather unreliable imo.

dapper lion
#

there is also proof of a concept where you can track the menu and cover up buttons such as:the avatar buttons. but idk how efficient that would be and it took the person who figured that out 2-4 weeks iirc lol

#

but imo: this is all theoretical at this point and makes no sence to do so unless it is for like... an event with 100+ users and you need everyone to use optimized avatars no matter what. but it still doesnt make sence

unborn hornet
#

Yea, wouldn't advise messing with player menus as that is something that will very easily break in the future if VRC updates the UI again (which will definitely happen at some point).

dapper lion
#

(multiple breaking points since the UI updates are coming in phases)

unborn hornet
#

^

#

The best option is to urge users to use a specific avatar(s) as well as if needed, what literally mentioned with a button that switches their avatar on interact and then teleports them into the actual world area.

dapper lion
#

or like how roots home has a button that says "you must allow untrusted urls" sort of style where it blocks you until you click a thing that can only be found if you read the instructions. but put "please change into a better avatar" instead

unborn hornet
#

mhm

chilly crater
#

Messing with the playermenu is an all around bad idea. There was that horror map that did it, and if you had to go you had to forcequit.

dapper lion
#

yea, it is a very dangerous/yes powerful ability to do many things that are either intentional or downright not ok

chilly crater
#

Getting an event added on avatarchange would be a nice fix. Just have a script waiting for the event to fire and boom send to spawn.

#

expose VRCPlayerAPI on it. So you can tell who did it.

#

Then for gamemakers, they can do a variable bool check. Is game started? No? Send to pre-game lobby. Yes? Send to worldspawn.

onyx granite
#

Trying to make a dial the player can 'grab' and turn, is using vrc_pickup on the object and udon update>setposition the wrong way to go about this? Got it working perfectly in Unity (can spin it, cant change it's position) but vrc_pickup still moves the object to the players hand in game.

chilly aspen
tall vault
#

VRCAvatarPedestal has a method called SetAvatarUse, does that not change the avatar?

onyx granite
#

@chilly aspen that's odd, I've done the same (update>setposition) but it still jumps to the players hand when they grab it. Do you use vrc_pickup to make it 'grab-able'?

chilly aspen
#

If it's update, then it shouldn't jump to player hand if the setposition is set to the starting vector set when OnPickup() was fired.
The only way it would do that is if the Udon script crashed.

onyx granite
#

It is update and first step is to setposition w/ a fixed vector3. Hmmm.

chilly aspen
#

man I was expecting a wall of text after 15 minutes lol

onyx granite
#

I know udon isn't crashing because the rest of the script is running.

#

Ha yee, started replying but thought I'd better verify my code

chilly aspen
#

I have an object that performs fine, maybe the order of components matter? Here's mine

onyx granite
#

Tried pickup on an object and a simple setpos, able to grab it and walk away.

chilly aspen
#

Is the order and inputs of the components on your object identical to the 2 photos? (Set isTrigger to false)

onyx granite
#

only thing I see different is you have gravity and kine checked, and rigidbody above the collider

chilly aspen
#

Try changing those, and also use transform.position = vectorInput instead of transform.SetPosition. If that doesn't work, then there's 1 more method we can try.

onyx granite
#

actually, I've got allow manipulation enabled as well

#

no beans. works in unity 'play', cannot change position, but in vrc it jumps to the hand. will give transform.position = vectorInput a try

mossy sequoia
#

i have a problem that i can't figure out. i keep getting this error. everytime i reimport the sdk it keeps wanting to import these files

#

i've totally deleted the sdk files and started over, but no luck either

#

it will say "nothing to import" if i try to reimport the sdk again immediately, but if i press play, these files pop back up to import again

chilly aspen
onyx granite
#

@mossy sequoia do you get that when building/uploading or just when hitting play in unity? If the latter, ignore it - just Unity telling you the videoplayer didn't find anything to play.

mossy sequoia
#

@onyx granite its the same thing when i build it. the player pops up an error in game also

onyx granite
#

@mossy sequoia checked and I get the exact same one any time I hit 'play' in unity w/ a videoplayer and it's never caused me problems in VRC. I could be wrong but I believe this is normal. if you clear errors and build/upload, do you have an issue using the videoplayer ingame?

chilly aspen
#

I have a rather puzzling math problem I was hoping to get feedback on solving.

#

A player shoots a ray forward. The ray travels over a flat plane without collision.
How would one get the vector coordinates of Point A in the diagram?

bronze light
#

Are there any udon prefabs for a slider you can grab to adjust?

sage crypt
#

Hi does anyone have the link for the udon boxing discord?

worldly tapir
worldly tapir
twilit epoch
#

✌️ So i want to use a door as a trigger, and when interacting with it it should teleport the player to a empy game object/position. Can't really find a tutrial for that. And when i search something in the Node like on the tutorials, its not showing up. Using Node

#

Ok i think i found one, but i can't find 'teleport To' under VRC. There is no SDK3Base.....

worldly tapir
twilit epoch
# worldly tapir You're probably looking for transform.setposition

Part 20 of my video series for basic VRCHAT world building with the VRCSDK3 Udon kit. This series will be designed for beginners. I will try to cover every step from start to finish of each vrchat world creation tutorial. The goal of the videos is to allow users to follow and recreate the functions being demonstrated in a step by step manner whe...

▶ Play video
#

Oh i got it

#

Its different then his

#

PlayerApi then Teleport to

worldly tapir
#

let me start unity real quick, haven't done teleports with udon yet

#

ah ok

dawn forge
#

I think there is a uSharp example of teleporting?

twilit epoch
#

He is showing teleportation when going on a platform, if you want to use a trigger, just change in the first script 'On Player Trigger ENter to Interact'

dapper lion
#

there is a graph example if you want to use that for teleportation

twilit epoch
native rampart
#

how do I get a reference to the gameobject that an udon script is running on?

#

in the examples I see a 'target' variable but I don't see what sets it

#

oh wait, do you just assign it manually in the inspector?

worldly tapir
#

this

#

no, literally, the node is "const this"

native rampart
#

oh!

#

there it is, thank you!

native rampart
#

is this not a good way to get the player to drop a pickup as soon as they 'use' it?

#

when I run it, it gives an error at this point

#

same for this (I'm not sure what the difference is yet tbh)

paper plinth
#

usually I like to make a public variable like thisPickup and drag the gameobject in using the inspector

native rampart
#

sounds tedious to set up for a large number of objects, but I'll see if it works

paper plinth
#

if you've got a bunch you might try using prefabs

native rampart
#

so, funny you should mention that -- when I tried using prefabs, it didn't work

#

I assumed Udon didn't work in prefabs

paper plinth
#

yup that's how I do it

native rampart
#

hmmm

#

OK in that case I'll look further into what was going wrong when I tried putting it in a prefab

paper plinth
#

double check that in the prefab the reference is right

dapper lion
#

make sure its not sdk2

native rampart
#

wow, putting the pickup reference in a variable absolutely worked, thank you

#

and to be specific, what wasn't working when it was a prefab, was just making it an ordinary udon-less pickup -- it wouldn't be synced unless the empty udon graph was put on as an override to the prefab, rather than inside the prefab

#

come to think of it, is it normal to need to put an empty udon graph on a pickup in order for it to be synced, or is that just a weird workaround

#

a friend taught me that but now I'm wondering if it was part of the problem

dapper lion
#

you need an empty udon behaviour to checkmark the “sync position” thing so it syncs its position with everyone

native rampart
#

ahh OK

dapper lion
#

however, using many sync position objects can get laggy. like the jenga game. everytime you try to reset that game with 6+ users in the lobby. it gets super cray cray

native rampart
#

oh right, that was the problem -- "sync position" was literally getting unchecked

#

if I checked it in the prefab, it would be unchecked when I came out

#

if I checked it as an override to the prefab, it would be unchecked when I built

#

if I applied the entire udon graph as an override, and then check it, it would work

chilly aspen
native rampart
#

is that a known bug?

#

at the time I was just like "ugh whatever" but now I'm wondering if I should report it

dapper lion
#

that it unchecks itself when building? id try to look at the scripts it might be tied to that might be inverting the ”sync position” checkmark

native rampart
#

what scripts

dapper lion
#

hmm: I guess 🤔 you probs dont have any scripts then. so it might be a bug. try and hit the play button and check if the ”SP” check mark is still checked

native rampart
#

I'll take a look next time I'm in there, yeah

#

I think I'll make a proper thread on the forum for it

#

thanks!

limber jackal
#

after updating to the most recent patch of the worlds sdk3, I got this message. anybody know how to interpret this? I already tried reimporting all on my project and deleting all udon and vrchat folders and reimporting with the unitypackage straight from the vrchat website

floral dove
limber jackal
#

yes it does

#

some more info, I have the most recent release of udonsharp from the udonsharp github. not sure if that has anything to do with it, but none of those scripts will compile either

snow arrow
#

I combed the prefab pages and did some searches but I didn't find anything. Does anybody know if physics doors are possible in udon or if there's a prefab?

fiery yoke
#

Ofcourse thats possible. Just need to do the maths to do that.

#

It depends on how you want to implement them. You could do with Unitys Joints. Otherwise you can caculate Angular Momentum yourself. Networking is another problem you would have to solve...

snow arrow
#

I want to make a swinging door that you can push with your hands but returns to center (closed) position. Like a kitchen door in a restaurant

fiery yoke
#

Yeah definitely possible.

snow arrow
#

But sounds like networking would be an issue

fiery yoke
#

Should even be doable with standard Unity joints

#

And then networking should be trivial as well

snow arrow
#

I guess I'd have to code it to update a vector4 at a certain rate?

fiery yoke
#

you basically just put sphere colliders on everyones hands

snow arrow
#

oh I have to add them to players when they zone in?

#

ok yeah i need to learn more 😄

fiery yoke
#

Yeah, this is relatively trivial... but only if you really know how Unitys Physics Works and the VRC SDK

snow arrow
#

yeah and know how to code 😉

#

to a point

#

thanks for answering as usual! You are the helpfulhelper

fiery yoke
#

And you probably also want to add a collider for the player body itself otherwise it might get weird

snow arrow
#

hmm ok

fiery yoke
#

Be aware that moving colliders without rigidbodies is problematic tho. So add Rigidbodies that are Kinematic to your Collider objects.

unborn hornet
#

Is there a way to detect what XY(Z) coordinate the UI pointer hits on a custom VRCUIShape collider?

grand temple
#

I don't think you can do that for the built in UI pointer but if you do a raycast you can get texturecoords. It has to be a mesh collider with UVs though

#

alternatively you could use linear algebra to calculate it directly

unborn hornet
#

Well, I'm still trying to work out how I can visually represent the default UI pointer whilst holding a pickup, cause the pointer still works for a hand holding a pickup, but it just isn't visibly shown.
What I have currently is a custom raycast that is supposed to "mimic" the alignment of the built-in pointer so that the built-in one can handle the UI event interactions automagically but I can still visually represent the pointer to the player while they are holding the pen pickup. The problem is that depending on the angle at which one points at a UI (in VR specifically), the "mimic" becomes no longer accurate. I've had a number of players complain about that.

My options that I've thought of so far are:

  • Get the exact source and direction information or collision point of the built-in raycast, and mimic visually.
  • Do a butt-load of custom algebra to calculate which UI element is being interacted with via custom raycast and somehow trigger the proper events on any particular Unity UI element.
  • Assign individual colliders to each unique UI element and write boilerplate code to delegate the event per UI element (this one is cursed, in concept alone)

I've been told that there is no discernible way to determine the built-in pointer's origin and direction (which I still don't understand why...), and as far as I know, one cannot Invoke Unity UI events manually through Udon. So... I'm kinda stuck...

#

If I can get the mimicing working properly, that'd be the best option as it's the most performant.

tired crag
#

good good good, does anyone have an udon graph example to deactivate multiple empty at the same time in the hierarchy please?

worldly tapir
#

-have the empties in an array
-have a for loop that starts at 0 and ends at array.GetLength
-take array[for loop index] and deactivate it

worldly tapir
tired crag
#

Hmmm i see, it's much clearer to me now, thank you!

spice musk
#

hi hi! so im very very new to making worlds, all i have is a home world in which i purchased from someone and i know how to do the mostbasic editing but i wanna add pens and im very confused! i dont know if its udon or not but i found the link to these https://booth.pm/en/items/1555789 in this chat so if im in the wrong chat just let me know!!

i added the pens just fine, but when i test my world they dont actually work? when i move around the pens they actually already start drawing in unity so i figured they would work but when i test in vrc they dont, pens also dont work when i press play and move them. im lost and dont know what to do! can someone help?

dire orchid
#

Anyone else having issues with video players since a couple weeks ago?

#

They basically dont work for me and my friends anymore

dapper lion
#

do you know if udonsharp is imported?@spice musk

spice musk
#

going to be honest i have no clue what that is lmao @dapper lion so im going to assume no!

dapper lion
#

go to the pins in this channel and find udopsharp github and download the latest unitypackage and import

#

the reimport the pens (sdk3)

spice musk
#

bringing in udonsharp broke my mirror 😂 maybe i just shouldnt have pens, this is too confusing me lol

dapper lion
#

if mirror is white, then thats normal

#

itll fix itself

spice musk
#

oh really? okay maybe i didnt break it lmao

#

let me try one more time before i decide to give up

viscid reef
#

is your world actually udon?

#

are you on sdk2 or 3?

grizzled trout
#

i kind of doubt it but is there a prefab or guide to make the discord thing? i found it in aworld i think it was called three lions pub ?

grand temple
grizzled trout
#

Ooh thanks, understandable

plain delta
#

What Is "Udon"? 🤔

acoustic delta
hidden martenBOT
#

VRChat Udon is a programming language built by the VRChat Development Team for use in VRChat worlds! It enables complex behaviors and logic in VRChat worlds. Read more about Udon in our documentation: https://docs.vrchat.com/docs/what-is-udon

hallow pumice
#

I'm making sure I reinstalled the sdk properly, but the step "Go into Plugins, and delete the VRCSDK folder, as well as the VRCSDK.meta file in the Plugins folder." is unclear. I found a Plugins folder buried in some of the directories in the project folder, but none of them have VRSDK folders within them.

jade sable
#

hey i wonder if i could have a udon example map to try out stuff

terse bridge
#

actually #avatar-help might be a better place thinking about it..

#

yeah imma move there

dapper lion
#

@jade sable the sdk has an example scene

jade sable
#

ok

#

where can i find it cause im new to this

dapper lion
#

example folder

jade sable
#

(and yes i already have the correct unity)

#

and last question, i cant find the login page

dapper lion
#

go to very top, got to vrcsdk, and go to the control panel

jade sable
#

its cause its not there

dapper lion
#

what it look like?

jade sable
#

oh wait i got a notif saying that i can update to 2018.4.33f1

#

should i update it?

dapper lion
#

no, stay on 2018.4.20f1

jade sable
#

ok

dapper lion
#

wait, you imported the sdk3 worlds right?

jade sable
#

yes

#

well the .unitypackage

dapper lion
#

ok, so you found the example scene right?

jade sable
#

yes

#

here ill search for the login page

dapper lion
#

what do you mean? login page, did you find the control panel yet?

jade sable
#

trying

dapper lion
#

it should be at the bery top where file and edit are

jade sable
#

oh hey vrchat sdk is now on the top menu

#

(new project)

#

uh

#

what

#

every single applications poped up

#

while loading

#

yeah i have a problem

dapper lion
#

like a bunch of compilers and stuff?

#

bro. you are having like the worst luck ive ever seen when someone is trying to figure out unity if so

jade sable
#

ok im back

#

oof

#

avast says no problems

#

though my pc was spamed by nvidia, discord, steam, etc

dapper lion
#

take 3?

jade sable
#

i dont know

#

at least its over

dapper lion
#

yea, ive had that happen on me on rare acassions and they usually suck if youre on a big project and havnt backed up in awhile, so it just corrupts the whole thing. luckily you had nothing but still very unlucky

jade sable
#

yeah

#

yeah

dapper lion
#

you restarted pc tho right?

jade sable
#

nah i task manager(ed) the applications

dapper lion
#

id do a restart when that happens. have everything fresh

jade sable
#

ok

#

ill try that

lost zodiac
#

sorry i know how to get custom avatar on oculus quest 2
?
i'm not quackity
in real life

jade sable
#

and restarted

dapper lion
#

this is udon

lost zodiac
#

oke thk

jade sable
#

wish me luck

#

(ill need it)

atomic bone
#

Hey guys! I'm interested in reading subtitle data from VRC's AVPro video player, is this possible with udon?

jade sable
#

aaaaaaaaand it worked with no spam

#

nice

#

thanks

atomic bone
azure rover
#

udon doesnt seem to work at all for some reason for me

#

the udon graph menu went from opening to a broken welcome screen to being completely broken

#

ive reimported the World SDK multiple times too :(

jade sable
#

check your unity version

#

make sure its 2018.4.20f1

azure rover
#

it very much is

#

got it working by deleting the udon folders and then reimporting worlds3sdk

#

literally a "have you tried restarting" solution lmao

floral dove
#

@hallow pumice - is there any other information about the NullReferenceException you're seeing when you try to upload? When you highlight the error in the console, it may give you more information about the missing item.

hallow pumice
#

I was asked to move this question to this channel:

Did anyone ever figure out the "NullReferenceException: Object reference not set to an instance of an object" error when uploading a world? I can't seem to find a resolution to that issue.

Other behavior includes having no upload image, and the check box for upload image is unavailable. Also, I can tell the upload screen is different.

I tried to uninstall and install the latest sdk3, but that hasn't changed anything. I can build and test this world with no trouble. I just can't upload it.

I'm hoping this is a known issue with a known solution.

native estuary
hallow pumice
floral dove
#

Also - try to upload the UdonExampleScene, that should work if you haven't modified it at all. If that works, then the issue is in your scene vs in the SDK.

#

And yeah - check out @native estuary's debugger, highlights a lot of common issues.

hallow pumice
hallow pumice
hallow pumice
#

Those are the messages that appear in the console.

floral dove
#

If you search the channel you'll see this is a common error that is auto-fixed by the VRWorld Toolkit debugger, but that doesn't tell you how it fixes it. I believe the above is the issue (based on @native estuary commenting it at one point)

native estuary
#

Yeah 82 is the pipeline manager issue

floral dove
#

I wonder how so many people get to that error state - maybe adding a VRC Scene Descriptor to another object?

native estuary
#

That's what I assume at least, then most likely just removing the other descriptor but not removing the pipeline

#

I do have a brief explanation of the issue in the debugger

fiery yoke
#

Its kinda unfortunate. Unitys "RequireComponent" Attribute automatically creates a component, but does not automatically remove it, if the dependency is removed. However if two scripts are always dependant on one another, they should be merged into one component. You can also still ensure SOLIDness that way.

#

Like if a Pipeline Component doesnt make any sense by itself, then why can it even exist by itself?
However Im not sure if the descriptor gets stripped, so maybe thats a valid point.

native estuary
#

Yeah

#

Also @floral dove there's some people that get confused by this wording in the docs and accidentally do both dots instead of just one of them

fiery yoke
#

I mean it says either. And its an unordered list.
But I would recommend putting a bold OR in between those two

#

And probably put the easier method using the prefab first, and adding a "manually"-statement in the other one

native estuary
#

Agreed this just confuses new people

floral dove
#

Good point, I'll update that to just recommend the VRCWorld prefab. Which page is that on?

native estuary
floral dove
#

Ah, that's why I didn't recognize it. All the Udon stuff is under its own section.

native estuary
#

Yeah this is the old docs 😄

#

This should be overhauled completely to be more generic

floral dove
#

I try to point everyone towards the Udon docs to get started

#

but until they're built in to a Unity window it will be confusing as to where to go

native estuary
#

But the problem also is there is no proper starter steps for the udon docs

#

Most of it feels like it assumes you already know how to setup a basic world

hallow pumice
native estuary
#

After importing check the world debugger from the top bar for any red errors

hallow pumice
hallow pumice
# native estuary

Would you like a screenshot or other report before I start fixing them? Would that be helpful to you if I provide that info?

native estuary
#

Unless something feels not explained enough or unclear to you then feedback is welcome but if you feel like everything looks good you can fix them

hallow pumice
floral dove
floral dove
hallow pumice
native estuary
hallow pumice
#

I'm trying it now.

#

Its still working on it, but this appears to have solved my issue. Thank you so much!!!

native estuary
scarlet lake
#

I have a hard enough time just looking at graphs.. thank god for cyans triggers once we have those.. life will be easier.

floral dove
native estuary
#

Sounds good 👌

#

And don't get me wrong I think you are always doing a good job on udon and how active you are helping people on discord

floral dove
azure rover
#

i have a canvas set to default as UI layer is uninteractable yet i still cant seem to use the buttons and sliders ingame

floral dove
azure rover
#

oh, didnt realise that i had to do that

floral dove
#

Yep - that should do it

azure rover
#

thank you so much!

#

also, in order to massively cut down on testing times, is there a way to set an object as the local player inside the unity editor

#

cant test it in unity itself because Vector2 player = Networking.LocalPlayer.GetPosition(); fails as theres no local player

native estuary
floral dove
#

be careful with the above - it's very handy but works differently than the actual VRChat Client - be sure to Build & Test often to make sure that things actually work the way that CyanEmu shows

azure rover
#

yeah, will do but it would help prototyping

broken bear
#

I understand the pool table prefab has to be at y=0, but not sure why. is that part of the raycast check?

runic raft
#

I try my first Udon Steps and I would like to trigger a sound when the player controller walks into BoxTrigger, but I don't get it working. I tried already several different variants but somehow i don't get it ? I hope someone here can help me to get this simple first step done.

fiery yoke
# runic raft I try my first Udon Steps and I would like to trigger a sound when the player co...

The white connections that come out of triangles are the "Flow" connections. Your flow goes into a branch which has checks if a provided boolean is true. Since youre not providing a boolean it uses a default value (the checkbox) which is false in your image. OnPlayerTriggerEnter is an "event" which means that it only gets invoked when it actually occured. You do not need to do any kind of boolean comparison.

runic raft
fiery yoke
#

What kind of error?

runic raft
# fiery yoke What kind of error?

Its working ! ...I don't have the audio on play on load, so the world is silent after loading. Then I run into the trigger and the sound starts ! ... I don't know what I did to get rid of the errors but they don't appear any longer. That was quick. So now i have to thing again how manage to animated or script load on on position a full folder of several "ply" files. Normaly in Unity 2020.3.1 i use just a plugin of my Volumetric Capture software and done. But for 2018.4.20 there is no such plugin. I manage with the PCX package from github to get Point cloud scans of rooms and stil frame of my volumetric video into 2018.4.20 and i spend now several hours with the hope that i understand the scripts used inside of the 2020 plugin but in two of the main Script the 2020 plugin used the "UnityEnigine.VFX" as the script writer wanted some more advanced function for visualisation but for me would be the normal PointCloud in movement already enough 🙂 ... but this is a much more advanced problem. Thx for your super fast help "TheHelpfulHelper" but i guess in this ply topic i am somehow alone.

vapid wedge
#

Can somebody explain what Udon is?

void ridge
hidden martenBOT
#

VRChat Udon is a programming language built by the VRChat Development Team for use in VRChat worlds! It enables complex behaviors and logic in VRChat worlds. Read more about Udon in our documentation: https://docs.vrchat.com/docs/what-is-udon

vapid wedge
#

I thought that's what it was

#

Thanks a lot!

runic raft
# fiery yoke What kind of error?

Again thx a lot ... I start to understand now how it works ... sure I am crazy at the beginning but i manage now already Play unPause and Pause ... thx again for your help ...

stoic salmon
#

My vrchat isnt letting me login what dose that mean?

stable lynx
stoic salmon
#

Oh

#

Makes more sense

stable lynx
#

lol

stoic salmon
#

How long will it take to fix it?

restive terrace
#

Its might take about latter to night is what I was told but not sure yet EST hmm like to say 11 or 1 not sure

worldly tapir
#

How do I dynamically create an array in Udon (and set a variable to it)?
I have a public int[] x, so the size can be set in the editor.
Now I want a few other arrays (y, z) to be constructed with the same length, one is an int array filled with 0s, and the other a bool array filled with falses.

#

like, we have a constructor for arrays taking an int, I suppose this is length, but I did not find a way to set the other arrays y or z to such a constructed array

brazen cove
#

Hello! How do I make pick up items not local when being picked up? Only thing I can find is from 2 years ago. It says to add object sync, but I don't see it in unity. I assume it's not there anymore because of an update?

cunning mist
brazen cove
#

thank you!

keen imp
#

@floral dove Reagarding the unity UI i know this is quite common knowledge however its not documented anywhere on the docs perhaps add something to that regard

steel nova
#

will udon network events run on gameobjects that are disabled on other clients? IE I enable a cube, and run a network event on that cube while someone else has it locally disabled

stark adder
hushed gazelle
#

Can anyone tell me why this is returning Null for the RandomNumber float value when testing it in Unity? As far as I can tell it should be working.

grand temple
#

the graph is known to have issues when you combine flow together like that. I don't think you need onmousedown, interact works just fine on it's own

worldly tapir
#

I haven't seen flowpaths combined from two events doing that yet. huh.

stark adder
#

If you know even a bit of C# I recommend doing worlds in UdonSharp 🙂 Check Pins @hushed gazelle

hushed gazelle
#

Ahh of course, duh.

#

I keep forgetting combining flowpaths has issues, thanks.

#

Also mousedown was just so I could test it in Unity through the game window.

grand temple
worldly tapir
#

Would be really interested in why combining as seen above sometimes doesn't work, while this works perfectly

grand temple
#

I think the difference is that in geek's example, they are immediately setting a variable after the combine

worldly tapir
#

oh wait no... oh god no. I didn't test the MidiNoteOff branch. I don't have any midi device that sends MidiNoteOff.

hushed gazelle
#

That's still a singular workflow, it's just making individual calls to those variables at different times. Edit: Oh wait, missed the block Also @stark adder I am well-versed in C#, I personally avoid UdonSharp because I do this for fun and code for work. I ain't mixing the two.

worldly tapir
#

maybe it's still broken after all, dang it xd

stark adder
#

Ah 🙂 Well I do C# both for fun and work.. 😄

worldly tapir
#

(but please, PLEASE automatically reroute MidiNoteOn with a vel of 0 to MidiNoteOff automatically... Please.)

#

if the nodes already did that, we would have
1- not have this hacky thing seen above
2- no problems with combining paths in this situation
3- all Udon MIDI maps would work with MIDI spec, aka. with all keyboards

hushed gazelle
#

Trust me, @stark adder you want a hard gap between work and personal relaxation where possible or you can burn out badly in the long run. Sticking to the graphs is a nice insulator for me.

stark adder
#

Idk Graphs are just so.. Unorganized for me and in graphs I would be able to do even 1% of my world..

#

Or doing one of my 8K lines long scripts in graphs.. Big NOPE

hushed gazelle
#

Yeah I'm not saying UdonSharp is bad, just that there's a reason I personally don't use it.

stark adder
#

Yea, I understand your reason 🙂 Its true that sometimes its just good to separate work from your as you said personal relaxation

worldly tapir
#

i actually find them pretty organized. It's just that they are currently slow to set up when doing bigger stuff, but that'll be fixed in the next push. e.g. Now it takes 6-8 seconds to spawn a new node in this xd

stark adder
worldly tapir
#

and node programming in general is a godsend when working in close cooperation with designers with less to no programming experience, lets them change stuff easily without needing to really "know how to code"

stark adder
#

And another thing is some things like Jagged arrays.. Not possible in graphs, possible in UdonSharp

#

For what I do I used Jagged array more than 1 time

#

Or not sure, basically never done Udon Graph but there are no parameters to functions right ?

#

Idk 😄 Just not something for me.. lol

#

But I'd like to try and recreate one of my scripts to Graphs though.. Would be really fun to see how it looks.. 😄

#

But sadly I don't have a week for just recreating a script to graphs for fun

worldly tapir
#

Outside of VRChat, when doing anything that isn't gameplayfeature programming, normal code is absolutely the go-to. You wouldn't want to write parsers for hardware that spams a constant flow of bits in nodes. You wouldn't want to write networking in nodes. Stuff like that.
But in Udon, same as Whaddageek, I like to use nodes for everything because... it's relaxing^^

#

flashbacks to the time i did my entire bachelor's thesis practical project in nodes in UE4...
This is just the basic VR movement. Can't zoom out far enough to include everything on the purple area on the left xd

azure rover
#

how do you make physical buttons? I dont seem to be able to find a tutorial anywhere
(useful to add that i use U#)