#udon-general

59 messages · Page 4 of 1

cunning mist
#

That would let us know if the object you're trying to manipulate is simply incorrect somehow.

outer hull
#

wait do i need to give the script to the world as well or just the pickup?

grand temple
#

just the pickup

outer hull
#

yeah i have just the pickup

#

attached to the script

#

okay i put the pickup in the world and the pickup didnt change size

grand temple
#

if you press play in the editor, does it change size? Or do you get an error in the console

outer hull
#

i got 2 warnings

grand temple
#

errors

outer hull
#

no errors

#

just 2 warnings

grand temple
#

so does it scale anything?

outer hull
#

no

outer hull
#

so did y'all find a solution

grand temple
#

I don't see any reason why it wouldn't work

outer hull
#

Well nothing happens

#

So there's a problem

cunning mist
#

I've never personally used Playmaker before, is someone able to vouch one way or the other if they like they layout/setup of Udon or Playmaker better?

tidal lava
#

Is there any plans to allow the manipulation of post processing using UDON?

flint urchin
#

Not yet, but requested

stuck mountain
#

@tidal lava you should be able to control the weight using an animator, same as before

tidal lava
#

Well ye but I dont wanna do it that way anymore

stuck mountain
#

in fact you get direct access to float params

tidal lava
#

animator poopie

stuck mountain
#

who cares, it's literally one file with an animation track

#

it's not like you have to make that for each volume. just stick it on the same game object. use normalized time.

#

and then in udon it's literally just set float parameter

#

sometimes animators are the right solution still. they do have uses

tidal lava
#

I mean, that beats doing it the old way, but just having it implemented into UDON would be good for some other uses and would be better

native fern
#

How do I grab trigger input from a vr controller in Udon? Using Input.GetAxisRaw?

grand temple
#

inputs with a range of 0 to 1 are input.getaxisraw. inputs with a range of false to true are input.getbutton

native fern
#

thank you!

worn kestrel
#

Has anyone had issues with UDON behaviours not initialising ingame?. I have an behaviour that logs to console on Start (as a test) but that log is not present ingame (even with --enable-debug-gui --enable-sdk-log-levels arguments)

fiery yoke
#

Last time I checked UdonBehaviour would only work if its on the root level, so if it was a child of even an empty GameObject it wouldnt work lol.
I thought that had been fixed, but try doing that...

worn kestrel
#

It is the child of an empty gameobject, so let me try that

#

Yes that is the issue, after moving the object to root I now see the log message

#

Is there an existing canny for that?

fiery yoke
#

I told TCL about that but he never responded to that particular problem, Im gonna hit him up again tomorrow I guess. This is a pretty game breaking problem, for a release candidate lol

tacit chasm
#

so what is related to what I asked ?

fiery yoke
#

Currently there is a problem where UdonBehaviour doesnt properly initialise ingame, if it is not on the Top-Level.
That is probably why almost none of the old Udon worlds work properly right now.

tacit chasm
#

mmh

worn kestrel
#

That was also an issue in 904, although I only found it a couple hours before 906 was released.

fiery yoke
#

Its been a problem for a while

#

Kinda shocked that it hasnt been fixed yet

#

First time I've encountered that problem was 03/02

serene moat
#

It's a scripting language to use in worlds, this post has more information about it https://ask.vrchat.com/t/getting-started-with-udon/80

crystal geyser
#

Does anyone have a basic write up on making a "Button" (anything you can interact with) set to toggle (Enable/Disable) another object?

#

I'm just having issues wrapping my head around the logic of Udon here

scarlet lake
#

Make a udon script with the onInteract event, add your logic there, Then make a button and in the onClick button event add your udon object and in the dropdown choose udon->oninteract. Dont forget to add a uishape to your canvas so you get raycasts

#

@crystal geyser

#

or add a cube with a udon behaviour and add an interact event so when you click it something happens

dawn plover
#

Someone knows if the Get Tracking Data node or the Tracking Data Get Rotation is fully working? Because I'm trying to make an object follow the head of the player, but for some reason it only rotate on the Y axis, the tilt of the head and looking up and down doesn't work

grand temple
#

it should be working, are you maybe using playerapi get rotation instead of tracking data get rotation? Because that would give you the base rotation not the head

fiery yoke
#

Last time I checked (yesterday) it was working perfectly yes. (For head rotation and position)

dawn plover
#

Yup, it's working if I put that node alone, it's probably something that doesn't work in my script then 😛

dim shard
#

Is a Texture2D variable not available in Udon node?

fiery yoke
#

@dim shard No currently Udon gives no access to any Textures. However you can still get a reference to a Texture, via Materials and use UI Events to do certain things with Textures.

humble jacinth
#

So this'll probably be a stretch but I'm wanting to make a Tardis (for those of you that know what Doctor Who is) world with udon and I'm wondering if it would be possible to actually have the bigger on the inside effect and actually walk into the Tardis and instantly be teleported inside?

dim shard
#

omg...
OK, thank you!

fiery yoke
#

@humble jacinth I dont exactly know how the Tardis works, but you can fake non-euclidean space with portals to an extent. Im working on something like that right now, however that is definitely not trivial.

stuck mountain
#

@humble jacinth how far into the tardis do you need to go? WIll the tardis move, or is it in a fixed location.

If the tardis is placed into fixed locations, you can make use of clever level design combined with clever use of depth buffer and/or stencils, to create the tardis effect without needing portals

#

basically you need to restrict the player so there is no overlap between the areas you can walk within the tardis and areas you walk outside

#

For example, The 11th and 12 doctor tardises were multiple stories tall, and this is perfect, because it means you can have the tardis on ground level, and you can present the interior of the tardis, but have the player walk down stairs, effectively putting them underground

#

At this point, it wouldn't be an udon question though. just a graphics / stencil thing

fiery yoke
#

Yeah I didnt even consider that. You could ofcourse just use stencils. That would actually make it a lot easier.

stuck mountain
#

it's just a question of what type of gameplay you are going for, and which tradeoffs you want. no solution possible within vrchat is perfect in every way. The solution I propose is merely a "cheap trick" and it's very restrictive but very easy to build.

Helpful Helper's portals would allow for way more flexible gameplay and usages of the tardis. The only downsides aside from implementation time, are audio / possible stutter of other players as they pass through the portal, and additional lag due to needing a camera.

fiery yoke
#

Stencils and toggling collisions would probably be good enough

humble jacinth
#

Well seeing as I like to do things the complicated way, I don't wanna use stencils cus there's a world on the current version of vrc that uses that system and if i stand outside the box and my friend is inside, i can see them just floating mid air if i look behind the box. So yea if possible i'd like to actually use a portal system to actually be teleported from the exterior into the interior.

humble jacinth
serene moat
#

Udon doesn't expose what's necessary to make portals like this correct in VR at the moment afaik. You need to make sure the camera scale matches the main camera, which there's no function to do. Also at the moment cameras that don't have a target texture set are incorrectly being filtered so you can't act on them in Udon. Ironically you can do portals like this in SDK2 perfectly fine, it's just a pain

humble jacinth
#

You're the one that made that camera test world that has the portal system correct? @serene moat

serene moat
#

yes

#

if the camera test portals were what you were talking about with being able to see people behind the portal, you'll have the same exact issue if you were able to follow that tutorial in Udon

#

you have to make a specific effort to mask out the players behind the portal which isn't fun

humble jacinth
#

Is there any chance you could help me get it working the way you have it in your world?

serene moat
#

it's not usable in Udon worlds because it's using triggers and the combat system 🤷‍♂️

#

I might make a prefab of the SDK2 version at some point, but I'm busy with U# at the moment and it's a thing that'd take a few days to walk through setting up

humble jacinth
#

If you made a prefab of that or some kind of thing to help set it up in the SDK2 version, that would be extremely helpful 😄

fiery yoke
#

@humble jacinth These are my portals currently. They only work in Desktop due to the problems Merlin described as its really hard to get proper VR rendering.

humble jacinth
#

That's amazing, even if it only works for desktop

fiery yoke
#

This isnt very thoroughly tested at all tho, so there might be issues that I didnt come across yet. Also a technique that is commonly used in Portals is shadow cloning, however thats not possible with Avatars. I have an idea how you could solve that problem, but Im not too sure on the maths yet

#

Also seemless teleporting currently is janky. Because of bugs.
And then you have other problems like culling the avatar which is probably impossible, at least directly, so you have to use weird camera shenanigans as Merlin said...as I said, not trivial

humble jacinth
#

Would be nice if i could atleast get my hands on something i can mess around with to see if i can get it working to an extent

fiery yoke
#

I still think that you'd be better of using Stencils and Collision trickery. That is far more reliable, and probably easier to setup.

humble jacinth
#

Maybe i'll just have to use the old wall divider trick, just have a room with the exterior, and on the outside of the room have the interior, just open the door and it give the bigger on the inside illusion

rain pendant
#

can GetPickupInHand and SetPickupInHand please be exposed to udon

scarlet lake
#

Is there one-click solution for syncing rigidbodies with gravity? Or do we have to do it manually now

cerulean monolith
#

I'm sure this isn't an original question but, What exactly is Udon and what makes it (presumably) revolutionary for VR Chat as a whole ?

grand temple
#

Its nearly complete access to scripting from scratch, rather than a limited set of premade scripts.

#

The premade scripts can go surprisingly far but they have limits. For example they can't access all the inputs from a player, they can only get the left joystick, menu buttons, and both joystick clicks. Udon can get all of it, both joysticks, both triggers, both grips.

topaz olive
#

udon?

#

like what is it?

grand temple
#

someone just asked that question right above you

topaz olive
#

oooo

#

that sounds nice

#

big oof on my part my bad

fallen prawn
nova hornet
scarlet lake
#

try getting the local player in start and save it to a variable

#

it works 4 me

#

in the transform get position try adding gameobject.getcomponent then type transform

#

and rotation

fallen prawn
#

I'm a bit confusing in quaternion. (Let me take wiki for a bit.)

But I want to ask that If I want up/down to be constant, which one should I set to depend on player rotation?

grand temple
#

that's not really an operation you can do with quaternions. You shouldn't manipulate individual parts of the quaternion

#

instead you can convert it to euler, clamp the X and Z axis, and then convert back to quaternion

#

but you don't really need to do that anyway because you can just do playerapi.getrotation directly instead of dealing with the head

fallen prawn
#

Oh so you mean VRCPlayerAPI.getRotation() doesn't follow head vertical rotation?

grand temple
#

it does not

fallen prawn
#

🤦‍♂️

grand temple
queen panther
#

How do you get stations to work in udon? I can't sit in any of them

cunning mist
#

@queen panther The UdonGraph for the stations are not defaultly added to the UdonBehavior on the VRCChair3 prefab. Place it inside and you should be good.

queen panther
#

oh! thanks

fallen prawn
grand temple
#

Some nodes still have that when they don't need it. Used to be a lot more like that

fallen prawn
#

MEGA 🤦

fickle stirrup
#

@fallen prawn this is like do stuff only after <this is done> 🤔 i think, like do something with this bool only after this bool has been received and not before, when it's not exist

fallen prawn
#

It gives me error If I connect "process noddle (white one)" with that node.

It works normally if i don't connect it and act like boolean node.

fickle stirrup
#

then lol )

spare beacon
#

how to change interaction text on non pickup object?

grand temple
#

debug mode on udonbehaviour

spare beacon
#

thank you)

fallen prawn
#

After Standard assets component whitelist removes in SDK3.

How to make 3rd person camera?

normal jolt
#

I haven't tried Udon in a few months, have Video Screens been implemented yet?

flint urchin
#

nope

normal jolt
#

Dang, I want to implement a queueing/voting system for video players

flint urchin
#

You could already make part of that system now

#

I know at least one person that has everything ready for when it's added. So all they have to add is support for the video players

normal jolt
#

I have my algorithms in place already, based on data from years ago. I just need video screens to work with udon

flint urchin
#

Well, you're not alone on that one 🙂

normal jolt
#

Do you know if they will be implemented before Udon is officially released?

raven peak
#

i think they are wanting to make sure 2018 gets out soon. then they will focus more on udon and other features.

normal jolt
#

alright, fingers crossed

#

also, thanks for the prebuilds jetdog

raven peak
#

👍

#

ya udon feels like a preview of whats being worked on and letting people try it out. not really production ready yet.

normal jolt
#

feels pretty close though; I just hope that security and stability are prioritized with the final release

flint urchin
#

With what's missing and bugs, I wouldn't say it's anywhere close

normal jolt
#

hmm, syncing seems to be an issue still

#

is there an updated timeline/roadmap?

flint urchin
#

Nope, no info

tough ledge
#

is position sync without interpolation available? seems that "Synchronize Position" in udon component cause interpolation

scarlet lake
#

How do you add custom animations to vrc stations?

fallen prawn
#

Isn't Custom animation is right there on VRC Station?

scarlet lake
#

i need help with login in i made an account on vrchat.com but idk how to connect it to my steam account

scarlet lake
#

Isn't Custom animation is right there on VRC Station?
@fallen prawn It doesn't seem to work, I tried adding the animation override from SDK2/examples but no worky :c

fallen prawn
#

@fallen prawn It doesn't seem to work, I tried adding the animation override from SDK2/examples but no worky :c
@scarlet lake IDK then, canny doesn't found too. If it's a bug, you can report.

radiant panther
#

Hello I installed the 2018.4.20f1 and i import vrcsdk-2020.03.28.10.18 and than the udon 2020.03.28.09.26 but when I try to local test or build and publish it opens the vrchat (in beta like it suppose to be)but it just puts me into my home map.

#

no red errors only those

turbid badger
#

hello everyone, would there be someone who could help me? I want to add music to a world, mix more than an hour and have a play list. it's possible? thank you ^^

fervent smelt
#

I'm new to the beta and udon, i'm trying to get all my features of my world ready for the new version, anyone knows a replacement for the component "vrc custom renderer behaviour" ?

fervent smelt
#

Or i should stick only to vrsdk 2?

fallen prawn
#

Or i should stick only to vrsdk 2?
@fervent smelt You should, If just migration.

Reason
1.Sync video player node on VRCSDK3 is not exposed yet.
2.So we don't know when they'll do anything about video player on SDK3.

fervent smelt
#

im not using vrc renderer behaviour for a video player, im using it for general GI purposes

fallen prawn
#

hello everyone, would there be someone who could help me? I want to add music to a world, mix more than an hour and have a play list. it's possible? thank you ^^
@turbid badger

I have some ideas.
1.Use Audio Bank on SDK2
2.Use regular Audio Source, Use clip that you combined.
3.Use array of Audio Clip then set clip when a clip is end.

#

Hello I installed the 2018.4.20f1 and i import vrcsdk-2020.03.28.10.18 and than the udon 2020.03.28.09.26 but when I try to local test or build and publish it opens the vrchat (in beta like it suppose to be)but it just puts me into my home map.
@radiant panther
IDK. but according to my experience this can be the cause.

1.Compiler error. Look for it and try to find ways to solve it. (Try clear and build first to prevent confusion.)
2.Something missing in SDK, compiler error when importing SDK. Try solve the error then reinstall.

#

[Repost to organize the message]
I want to know that that actually is this.
Is this do what the text says? (I mean sync THIS variable VALUE to everyone in instance instead of personal value)

fiery yoke
#

As far as I understand it Udon Ownership works similar to the Trigger ownership, where each UdonBehaviour has a master. If a variable is synced, the master tells each person what the current value is when it changed. However since Networking wasnt fully implemented last time I looked at it, Im not quite sure.
Also syncMode is probably about interpolation if I would have to guess, and might only apply to values that can be interpolated, or even just Transforms, not sure. Also no idea where the difference is between linear and smooth, since linear smoothing is a thing and it kinda implies that linear (interpolation?) is not smooth...
Networking in Udon seems very unpolished still imo

fallen prawn
#

So if I'm trying to guess
If I am owner and change int value from 1 to 5 in 1 tick
none - 1 > 5
linear - 1>2>3>4>5
smooth - IDK maybe linear expo or log . :P

But at first ... send custom event works now 🤣.

fiery yoke
#

SendCustomEvent always worked, do you mean SendCustomNetworkEvent?

fallen prawn
#

Yes I mean that network one 🤦 sorry.

#

@fiery yoke
After I search is owner(gonna give a try).

What is difference between Networking one and PlayerAPI one?

fiery yoke
#

Good question...Im gonna look into that

fallen prawn
fiery yoke
#

Well anything that has to do with "Networking" is usually instance management, but in case it has an Object argument that is probably networked objects.
Im not an expert on the Networking side...maybe someone with more experience in PUN can answer this better

#

The second post I would guess as Networking being the client-side, so if your particular client is master of the instance, while the VRCPlayerAPI accepts any PlayerApi (so also remote ones) and tells you if they are master or not.

#

Same probably goes for the Object situation then, it tells you if your client, or any PlayerApi is owner of an object. However Networking.IsOwner(PlayerAPI, GameObject) and VRCPlayerApi.IsOwner(GameObject) seem redundant.
And if my guess is true then GetLocalPlayerApi > PlayerAPI.IsMaster and Networking.IsMaster are equivalent

fallen prawn
#

I hope they'll remove any duplication soon

BTW. Is player ID Static? or just change when Player join new instance.

fiery yoke
#

Not sure, but I think thats the Universal player ID you get from VRChat so yours would be:
usr_5be2e415-54c9-410a-8f4a-51c149cef139

#

ohh wait its an int

#

Well in that case, no idea

#

I wish there was more/any documentation on this...and there probably is gonna be at some point. But until then its either guessing or testing.

fallen prawn
fiery yoke
#

Yeah thats an artifact of them generating some stuff
playerId is a variable, so they have a getter for that.
But they also have a method to get the variable directly so you end up with redundancy.

fallen prawn
#

But different name - -

fiery yoke
#

Yeah probably since playerId isnt private and therefore the generator somehow had access to it and made a getter.
Usually you would mark the variable as private and have a dedicated Get method, which is what they've also done.

#

Not sure if that is correct, but I dont think this was on purpose. But you can assume that they do the same. However its safer to use the actual GetPlayerId method, since the generated one, might be deleted.

fallen prawn
#

Can't find the method to test player ID.

I tried both node on UIText, gives me nothing.

acoustic delta
#
  at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <e1319b7195c343e79b385cd3aa43f5dc>:0 
  at VRC.Udon.Compiler.Compilers.UdonGraphCompiler.CompileNode (VRC.Udon.Graph.UdonNodeData node, VRC.Udon.Compiler.Compilers.UdonGraphCompiler+CompilerState state, System.String returnName, System.Int32 otherIndex) [0x014bb] in C:\VRChatGit\VRChat-Udon\UdonVM\Udon\Compiler\Source\Compilers\UdonGraphCompiler.cs:840 
  at VRC.Udon.Compiler.Compilers.UdonGraphCompiler.CompileNode (VRC.Udon.Graph.UdonNodeData node, VRC.Udon.Compiler.Compilers.UdonGraphCompiler+CompilerState state, System.String returnName, System.Int32 otherIndex) [0x002fe] in```
#

Getting this when trying to open several of my older graphs...

#

Has anyone gotten it before? Not sure what is causing this...

fiery yoke
#

Yes I think thats related to the reusing output noodles problem isnt it?

acoustic delta
#

Oh no... All of this was in December, when that wasn't a problem, so it tries to reuse nodes as much as possible to reduce lag in the editor, as back then I only had a laptop...

#

Complete U# rewrite it is then 🙂

#

@fiery yoke Thanks for the help!

fiery yoke
#

Yeah its definitely a problem that should be fixed before release .-.

#

@acoustic delta can you narrow down what exactly causes that problem and in which cases?

acoustic delta
#

I can try, right now about 10 out of 25 graphs are reporting the error above, as well as KeyNotFoundException: The given key was not present in the dictionary. with no stack trace. I tried picking one of the graphs and fixing all cases where a node was used twice in that graph, but that didn't seem to fix it. Maybe simply copying the graph over to a new file would fix it, but I don't have much time right now so faster porting it to U#. Maybe will have time to further debug it tomorrow.

fiery yoke
#

Hmm so for you its only old graphs that broke?

#

I got the problem when I created a completely new graph aswell, can you try that really quick, I dont have Udon open right now

acoustic delta
#

Yes, only old ones, the ones from December are completely broken. Those from February works.

#

I can try, what do I need to do? Create a graph and have a node be reused?

fiery yoke
#

I guess? Maybe its relevant if its a flow node or not

fiery yoke
#

Alright Im gonna boot up Udon as well

acoustic delta
#

I don't remember if that canny was fixed or not

fiery yoke
#

Yeah I thought it was related to that, but this seems to be a different problem

brisk shoal
#

When using udon, worlds still can be published as public? (Labs)

acoustic delta
#

@fiery yoke It's the same

#

The canny I made "udon-graphs-breaks-if-reusing-nodes-other-than-getvariable" previously threw:
AssemblyException: Undefined data identifier 'UIDTOPROPERTYISMISSING'. Identifiers must be defined before use.
However now it throws:

  at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <e1319b7195c343e79b385cd3aa43f5dc>:0 
  at VRC.Udon.Compiler.Compilers.UdonGraphCompiler.CompileNode (VRC.Udon.Graph.UdonNodeData node, VRC.Udon.Compiler.Compilers.UdonGraphCompiler+CompilerState state, System.String returnName, System.Int32 otherIndex) [0x014bb] in C:\VRChatGit\VRChat-Udon\UdonVM\Udon\Compiler\Source\Compilers\UdonGraphCompiler.cs:840 
  at VRC.Udon.Compiler.Compilers.UdonGraphCompiler.CompileNode (VRC.Udon.Graph.UdonNodeData node, VRC.Udon.Compiler.Compilers.UdonGraphCompiler+CompilerState state```
#

I replicated the graph in the image in that canny post.

fiery yoke
#

Ahh I think I understand whats going on

#

Ohh wait

#

It still happens?

#

Like with a new graph...

#

Yeah I see.

#

This is bad

acoustic delta
fiery yoke
#

Hmm...

#

Does it still reset the values of the public variables?

acoustic delta
#

@fiery yoke Doesn't seem like it, no. I will delete that note from the canny then.

fiery yoke
#

Seems like a pretty bad problem for the Graph Compiler.

queen panther
#

Is there any plans for VRCSDK3 to reimplement the combat system?

flint urchin
#

We don't know yet, but you can already create it yourself

grand temple
#

to be fair, we can't ragdoll the player

#

but that's it

#

we could already do 80% of combat system with SDK2, now we can do 90% with SDK3

#

that last 10% being colliders matched to the bones

#

and one advantage is that the way SDK3 gives us bone positions, it won't break avatar joints

arctic charm
#

hello :3

west plover
#

How guaranteed is network event delivery?

#

At-most-once?

#

Does the emitter know when the event is received and redrives if it doesn't, or is the event dropped?

rain pendant
#

aaaaaaaa please expose AnimationCurves to udon

#

i need them

fallen prawn
#

How guaranteed is network event delivery?
@west plover I don't know that it'll bufferOne or bufferAll.

fallen prawn
tame matrix
#

they will delete game objects, I recommend just using destroy, destroy immediate isn't really recommended aside from specific use cases

fiery yoke
#

DestroyImmediate is mainly for destroying objects while in the editor.
Also not sure, but with Triggers you were supposed to use Reap instead of destroy, because of networking stuff, but not sure if thats still the case or if there even is such a method in Udon

echo coral
#

Is Udon still considered alpha? The docs here say that: https://docs.vrchat.com/v2020.1.1/docs/getting-started-with-udon

But the beta announcements make it sound like VRCSDK2 is for maintaining older worlds and VRCSDK3 is what all new worlds should use?

nova hornet
#

Yes, Udon is still in alpha. For new worlds you can choose whatever you feel more comfortable using, though Udon obviously is the way forward and will receive tons of updates and neat things while SDK2 (Trigger/event system) is just going to be kept on life support.

#

The only reason you'd want to use SDK2 for a new world that I can think of is it's less intimidating to use for basic world logic.

echo coral
#

Are there any resources for updating a world from SDK2 to Udon?

fallen prawn
#

Are there any resources for updating a world from SDK2 to Udon?
@echo coral

Right now is no.

echo coral
#

So, what does the actual process look like, just deleting all triggers on all objects and then putting new Udon logic in?

fallen prawn
#

So, what does the actual process look like, just deleting all triggers on all objects and then putting new Udon logic in?
@echo coral

What do you mean actual process? Migration?

echo coral
#

(after deleting the SDK)

#

Yes, migration

#

I don't have a ton of complex triggers in my world yet

#

I have been waiting on adding more logic until I can move to Udon

#

And I would like to get started with that

fallen prawn
#

You have 2 choices.

1.Keep using triggers in 2018 it still supported but just no feature update.
2.DELETE all triggers (If you migrate from 2017 to 2018 without importing SDK2 then delete all triggers/event handler is still fine I think.) then start with Udon from scratch.

#

[Repost because of spam prevention]

How to define other non-children gameobject in prefab?
It's always reset to self while I'm building.

fiery yoke
#

@fallen prawn Prefabs are serialized assets, they cannot reference anything outside of their own scope. So you cant.

drifting sage
#

@echo coral We do not (and will not) support "migration" from SDK2 to SDK3. Official recommendation is to start from meshes, textures, etc with zero components added.

fallen prawn
#

@fiery yoke What happened If I instantiate the GameObject instead of prefab?

Does it Instantiate like text says?

fiery yoke
#

Yeah should work. There were problems with instantiating Udon Behaviours in the past tho, dont know if that has been fixed

violet bane
#

what is udon?

flint urchin
proper nexus
#

So, I've opened an Udon example but can't move my view left/right, just scroll up/down. Am I just blind and sleep deprived or is there a trick to it?

peak brook
#

Ya click and drag around, like in the animator tab

proper nexus
#

left click + drag selects an area on my end

#

right click opens a menu with only one option to paste

peak brook
#

Middle mouse button

proper nexus
#

omg thanks, new to all this(literally started yesterday and now the only thing I had to show for it is broken)

peak brook
#

👍

#

Is gud, everyone is a beginner at some point

proper nexus
#

Yeah I finally got lipsink working on a basic avatar and I went to upload when I got the ping for the update lol

delicate hazel
#

Usharp are available for current version?

grand temple
#

Yes

#

It's on github

proper nexus
#

Is there a documentation page available somewhere?

delicate hazel
#

@grand temple So newest version of usharp is fine or i should download other version?

grand temple
#

Newest yes

#

The only case where you should get an old version is unity itself. 2018.4.20. everything else from the sdk to plugins to compilers should be newest version

hoary ocean
#

I keep getting:
Assets/Udon/Serialization/Formatters/UdonProgramFormatter.cs(25,35): error CS1644: Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification

flint urchin
#

@proper nexus no documentation for VRChat nodes no, but anything else is available in Unity documentation and C# documentation

#

@hoary ocean Go to Edit -> Project Settings -> Player find Scripting Runtime Version and Api Compatibility Level and set those to .NET 4

glossy sky
hoary ocean
#

I put it in a converted project. my fault

undone panther
#

Are there any tutorials? Videos? Google Docs, anything? ok nvm just looked on the ask vrchat link

warm basin
#

How would I check if a value is between a certain range?

grand temple
#

If (value > minimum & value < maximum)

#

That's the c# way of writing it at least

wind turret
#

Does anyone know how to change world settings like disabling/enabling jump and setting the jump height with SDK now that player mods are gone?

jagged crow
#

hey so can I use udon without needing to opt into a beta client/sdk etc? it should just work now?

grand temple
#

yep

jagged crow
#

sick

scarlet lake
#

So if your shaders and stuff are already supported by Udon, there's nothing I need to update on my avatar? (When avatar uploading is enabled)

wraith berry
#

I'm trying to make a button to turn on a mirror but everytime I click on the button the cube disappears, and yes I did place the mirror object into the variable. What am I doing wrong?

flint urchin
#

You got to check the box in the SetActive node

#

If you want to toggle, you will also have to get the gameobjects current active state

#

then use unary it

wraith berry
#

bruh why's it gotta make shit so complicated

#

what is an unary?

acoustic delta
#

Unary is a boolean invert, i.e. "active = !active" to toggle

clear spruce
#

yo quick question how would i get the playerid through ontriggerenter colllider output variable? i mean i can get the instance id but im not sure thats the same any ideas?

copper torrent
#

@wind turret apparently there's a playermods node of some kind in udon where you change it IIRC

wind turret
#

Yeah I figured it out. You need the network local player node to feed into the playerapi.setjumpvelocity node or something like that.

flint urchin
#

@clear spruce you can only get the players instance id, but not the id itself. It's been requested on the canny I believe.

clear spruce
#

So how would i get the player from the trigger collision then to make a teleporter is that not a thing?

fiery yoke
#

I got a guide for that on the ask vrchat forum. Not sure if that is the only/optimal way, but its one way

clear spruce
#

Ok same name on there helpfull

#

Or do you maybe have a link for me

#

I mean the only other way that i see is checking if it is a player and comparing the gameobject with the before logged players gameobject in a playerarray

fiery yoke
clear spruce
#

Thx

fiery yoke
#

This might be a lot easier with using the "OnControllerColliderHit" event, since only your gameobject should have a Controller Collider.

#

Would be cool if you could test this for me.

#

Just use a OnControllerColliderHit event and local player api.
I only found out about that node after I wrote the guide

clear spruce
#

Tbh i will tomorrow gonna sleep now to late for me to look more into this but thx for the help atleast sofar

wraith berry
#

I still really don't understand why the cube is disappearing rather than the mirror turning on

#

like it shouldn't be doing anything to the cube

fiery yoke
#

@wraith berry Did you make sure to assign references? :P

wraith berry
#

yeah

#

but for some reason when I click on the cube the cube deactivates

flint urchin
#

Show graph!

wraith berry
#

it's just this, like it shouldn't really need anything else for it to just turn on

desert pike
#

Quick question. Is Udon made also for non programmers or we need to learn 'programing' to even be able to use it? Ngl after looking at it a bit i can already tell Triggers are way better and self explanatory than this thingy

zealous aspen
#

Hey I'm having a bit of an issue with udon. I have a vrchat initialize running which is correctly creating my objects. The only issue is that it doesn't seem to run any blocks after it, and I'm not sure how to fix this issue. If anyone knows how to, please tell me.

floral dove
#

@desert pike it's meant for non-programmers to use, but at the moment it's a lot easier to understand what's going on if you've got programming knowledge. We've got some things planned that should help make things much easier for everyone!

zealous aspen
floral dove
#

@zealous aspen - you just need to connect the output flow (triangle) from Instantiate to GameObject SetActive

zealous aspen
#

On this graph, it creates an object, but never enables it.

#

Wait

floral dove
#

in Udon, only things that are connected via flow ever "happen"

zealous aspen
#

Sorry, I accidentally removed that connection when I was removing something else. It still doesn't work though.

desert pike
#

Ngl, but i feel bit disapointed by that

zealous aspen
#

Even with it connected, it still does not activate the cloned gameobject

floral dove
#

try pressing 'reload graph' and wait for it to compile.

zealous aspen
#

No change

floral dove
#

hm - let me make that same graph here. So you're instantiating a prefab that's inactive by default, and you want it to become active after Instantiation?

zealous aspen
#

Yes

tame matrix
#

any particular reason why you'd need to do that? the object won't exist in the scene before being cloned anyways

floral dove
#

@zealous aspen - yeah, I'm getting an error when I try to do that. May be a bug, I'll track it internally. Agree with @tame matrix though - in this case, could you just have the prefab Active in your library so it's good to go when it comes in?

zealous aspen
#

I need to generate a lot of objects and modify their values. I can't think of any other way to do this.

#

I need to generate a lot of objects and modify their values. I can't think of any other way to do this.

floral dove
#

FYI VRCInstantiate doesn't work across the network right now in SDK3 so you might not get very far at the moment anyway. Is it possible to do this at edit-time instead? That's what I've done for some projects - write an editor script to generate the objects before I compile, and then they're already in the scene for all players.

#

But at the moment, I'm seeing an issue with grabbing the output Gameobject from VRChat Instantiate - I get an error if I even try to just Debug.Log the GameObject's name, so it may be a bug. If so, I'll want to get that fixed soon!

zealous aspen
#

I don't need the objects to be synced. They'll generate the same way across everyone on the same instance with a few starting values. I just need to generate a lot of objects, which will have dynamic values.

floral dove
#

Right - I'm saying that I don't know that VRCInstantiate works for non-master users at the moment. I recommend you think on whether it's possible to generate them in the editor for now, since you can write a script to make them all and modify / randomize their values. I've gotta run, I wish you good luck!

fiery yoke
#

Yeah not being able to get a reference to an instantiated GameObject seems pretty bad, what exception does it even cause?

floral dove
#

@fiery yoke I'm getting a key not found error in the editor. Agree that Gameobject instantiation working well is high priority IMO.

fiery yoke
floral dove
#

Might be! Not using the clone anywhere else but it might be worth making it a temp variable and getting that variable as a workaround.

#

Making dinner now but I'll try it later tonight.

#

I had to pull that variable trick to get my AirBlaster world's for loops working.

fiery yoke
#

Well if it fails at a simple Debug already, then it probably doesnt have anything to do with reusing the output. For Debugging you could do a reflection on the Dictionary, and see if theres anything in there at all.
Dont even know which Dictionary this is referencing, is it from the Node?

floral dove
#

Making some dinner, bbiab

void void
#

I'm soo lost. Facepalm

long sentinel
#

so I cant find the player mods component, guess we have to use udon for jumping? watched through the basic tutorials, am kinda lost tho, how do I implement jumping 🤔

fiery yoke
#

Theres nodes for setting jump height, walk speed etc. Just plug in the LocalPlayer via Network.GetLocalPlayerApi or something like that on Start

long sentinel
#

😰 uff

#

can you give a tl:dr on the public variables video? cause its gone and i think im missing some info

#

oh wait, video 4 is called that now, but program variables doesnt exist

fiery yoke
#

You can get and set public variables using a reference to the UdonBehaviour you want to set/get the variable on. Also you can edit public variables in the Editor. Besides that they are just variables. I dont know what else was in that video

zealous aspen
#

Are there any work arounds on initializing objects? I'm dealing with 1000+ objects so theres no real way for me to manually do it.

fiery yoke
#

Editor Scripts. As long as they dont need to be generated from runtime data.

zealous aspen
#

Well, I have some dynamic data that's value will determine a lot of the properties of the objects, and it will be different across multiple objects. Additionally, I'm needing a way that can theoretically generate infinite objects, so it isn't very feasible for me to not generate the objects.

long sentinel
#

Ah yeah got the variable stuff figured out, was just confused cause when you start with a gameobject var it just says bool instead of public, some weird things still happening, cant figure out the jumping stuff ) did GetLocalPlayer -> Set Jump Impulse 10)
tried to spawn a small ball OnPlayerJoin

vernal siren
#

Maybe this might change in the future but since allot of people like myself have no real use for Udon, the SDK shouldn't force you to download it and instead just opt of out it. I choose not to download it but now the player wont play unless i have it installed

fiery yoke
#

If you dont want to use Udon, use SDK2. SDK3 is specifically meant for Udon.

long sentinel
#

also adding OnInteract to an gameobject allows it to be clicked but the text says Use

#

any way to override that with sth else?

fiery yoke
#

Yeah, you have to go into Debug Mode in the Inspector

long sentinel
#

I found Set Interaction Text but

jagged crow
floral dove
#

@zealous aspen could you be more specific with what you're trying to do? Instantiating thousands of objects is less than ideal, and won't work across the network for now anyway. Probably better to use a pooling method or at least make them ahead of time.

#

@jagged crow we've got a new replacement video on the way. For now, take a look through the Udon/Examples scenes in the Editor and the included Readme. There's lots of public variables being used in those Udon programs that should show you the way.

long sentinel
#

wait

#

youre telling me there example scenes ._. this makes things easier, me stupid

zealous aspen
#

I know it wouldn't be very efficient, but like I said, I don't need any of it to work across a network.

fallen shore
#

is there someone who knows how the udon triggers work id like to ask few questions according to new world im creating

grand temple
#

You're not going to get an answer if you don't ask a question

fallen shore
#

i though about if someone wanted to talk about it in private so i wouldnt spam the channel

#

well simply said i want to create working book

#

also how do i open the udon graph tab

long sentinel
#

😅

#

do this first

fallen shore
#

public variables is deleted

jagged crow
#

yeah they're working on another one

fallen shore
#

ah gotcha well i went trough all of these

#

i still do need help with my goal tho

fallen shore
#

gives me this when i click build and test

long sentinel
#

so jumping works for desktop because the space button

#

but how do i make vr people jump

grand temple
#

set jump impulse is not something you activate every time you want the player to jump

#

it's a setting that you change once at start

#

so get rid of all the update and get input stuff and just have on start > set jump impulse

long sentinel
#

but it didnt work before 🤔 i will try it, thanks!

fallen shore
#

i got it to work finally

#

tried to make cube turn when i interact with it but

#

what did i do wrong

fallen prawn
#
  1. Why isRotating is string?
zealous aspen
#

Hey, I'm wondering if there is any way for me to get the instance id with udon. I need some value that is unique across multiple instances but the same for all people in a single instance.

fallen shore
#

well for some reason in the video that component has "name" in it not string

#

"event name"

#

or something else

#

idk

long sentinel
#

@grand temple my man! jumping works, big happy

fallen prawn
#

I mean variable isRotate is string and you return the variable to branch, which need boolean.

#

It'll return null or something else that mean nothing as boolean

fallen shore
#

oh wait idk why that is even there

#

so what do i need to repair here

#

turn the string to bool?

fallen prawn
#

Create the node called Variable Boolean (Just type "boolean" you can't search with keyword "variable" now.)
Then get variable from that variable

#

If want to turn from string to boolean you can use drop down menu at the top of the node and find boolean.

fallen prawn
#

yes.

you don't need to publish the variable btw.

fallen shore
#

still doesnt rotate thoi

#

should i use something else instead of Interact node or soemthing

acoustic delta
#

Interract does (AFAIK) not work if you are pressing Play in the Unity editor.

zealous aspen
#

I might have found something that may work. How would I use VRCSDKBaseNetworking?

grand temple
#

there's a bunch of stuff in there, it's not just one thing

fallen prawn
#

Interract does (AFAIK) not work if you are pressing Play in the Unity editor.
@acoustic delta
I forgot that.

@fallen shore Use OnMouseDown() on play mode

fallen shore
#

i was trying it in test client

#

ingame

zealous aspen
#

I need to get the networking object

acoustic delta
#

Interract works only in-game for both Desktop and VR. OnMouseDown works in-game only Desktop players and in Unity, not for VR.

fallen prawn
#

@acoustic delta W WHAT?! Work in desktop too 🤦

acoustic delta
#

Although notice there is a overlap if you are a desktop player in-game. If you use both Interract & OnMouseDown then it will fire twice for desktop users.

fallen shore
#

mouse down doesnt work in unity either

#

so somethings wrong with my nodes

acoustic delta
#

OnMouseDown works in Unity, I've used it extensively.

fallen shore
#

no what i mean that somethings wrong with my nodes

#

bc the cube doesnt start rotating

grand temple
#

it might not be compiling. Try to add a new public variable and see if it shows up in the inspector

acoustic delta
#

@fallen prawn Yes, OnMouseDown works on Desktop in-game too. VR players will not be able to click it.

grand temple
#

if it doesn't, you can force it to compile by duplicating the script, compiling it, deleting the old one, and replacing it on the object with the new one

fallen shore
#

ah that worked

acoustic delta
#

If you want your script to work in all 3 modes, then you can use both OnMouseDown and Interract but make sure to check the player is in VR on the Interract node, that will fix so it doesn't fire twice yet still work for everyone.

fallen shore
#

re adding workefd

#

wait what you mean check the player is in vr

acoustic delta
#

Interract -> if (isPlayerInVR) -> MyCustomEvent
OnMouseDown -> MyCustomEvent
MyCustomEvent -> your code here...

#

There is a node to check if they are in VR or not.

jagged crow
#

What's a good convention for a world's "main" udon script, attach it to the VRCWorld object or give it its own empty one?

fallen shore
#

that confused me completely

#

is there node for isplayerinvr

grand temple
#

if it's something like set player mods, sure vrcworld is as good a place as any

acoustic delta
#

@fallen shore Sorry vrcSkull

fallen prawn
#

@fallen shore Yes there are.

If you are beginner, you will get used to it ... or maybe you'll use language instead lol.

fallen shore
#

whats the node for that

fallen prawn
#

Check that user is in VR or Desktop.

fallen shore
#

so uh like this?

jagged crow
#

VRCSDK3->VRCSDKBaseVRCPlayerApi->IsUserInVR

acoustic delta
#

Yes!

jagged crow
#

oh you found it

fallen shore
#

oh i actually did it

jagged crow
#

haha

fallen shore
#

LMAO

#

im learning

zealous aspen
#

Is there any way for me to get a time value that is the same for everyone?

acoustic delta
#

@fallen shore This is if you want to make a button:

Inside Unity the Interract event will not fire. Inside Unity you need to use OnMouseDown.
In-game for Desktop both Interract and OnMouseDown works.
In-game for VR only Interract works, as VR doesn't count as a mouse.

So, lets say you have some custom code you want to run, and you have created a custom event called DoorToggle. So how do you wire that up? If you make a SendCustomEvent node on the Interract, it will not work in Unity. If you make a SendCustomEvent on OnMouseDown, it will not work for VR players. And if you make a SendCustomEvent for both Interract and OnMouseDown, then for Desktop players in-game the door will toggle twice, as desktop users activate both Interract and OnMouseDown. This "overlap" is the problem.

This is why you need to wire it up as in your picture above.

fallen shore
#

im one step closer to making working vr book .-.

jagged crow
#

why do nodes that output a bool not automatically branch?

#

seems like an unnecessary extra node

acoustic delta
#

Nodes that output a bool are value nodes, and sometimes you don't want to "branch", sometimes you maybe want to do something with that value, such as storing it in a variable.

grand temple
#

because there are plenty of reasons to use a bool without a branch

jagged crow
#

ahh yea I guess if you're storing it or passing it elsewhere

zealous aspen
#

I have a timespan but I cant get miliseconds from that.

fallen shore
#

it uh

#

still doesnt work in vr

#

interaction does nothing

long sentinel
#

the joy of learning something new with other people

jagged crow
#

replace your custom function with something built in

#

just to make sure the logic is working properly

long sentinel
#

udon is amazing

jagged crow
#

yeah it's pretty neat so far

#

I'm used to regular programming languages lol

long sentinel
#

same

fallen shore
#

hmm what you mean

long sentinel
#

there is udonsharp

#

havent looked at it yet, maybe later

acoustic delta
#

I can strongly recommend checking out UdonSharp, or "U#.

fallen shore
#

in unity the click works

jagged crow
#

yeah I'm probably going to use udonpie or udonsharp but figure its worth learning it vanilla first

long sentinel
#

i should yeah

#

same

fallen shore
#

but ingame interacting doesnt work

long sentinel
#

thought id understand the basics first

jagged crow
#

hmm

zealous aspen
#

I just discovered Udon# and it is so helpful

long sentinel
#

damn, i really should check it out

jagged crow
#

OH

fallen shore
#

do i have to drag the bool_

long sentinel
#

thought its just some side gimmick

jagged crow
#

I see what you did wrong

#

@fallen shore

#

you didn't take the output of the boolean

#

you took the arrow

#

which just goes to the next node afaik

fallen shore
#

uh where

zealous aspen
#

Its almost identical to programming with unity normally

jagged crow
#

from the "is player in vr" block

acoustic delta
#

U# is in a much more mature state than UdonPie, I have worked extensively with both. UdonPie has not been updated for over a month and many nodes will not work unless it is updated.

jagged crow
#

you want to take your noodle from the round node, not the arrow

#

that will let you pass that value to the next node

fallen shore
#

ah

#

do i drag both or just bubble_

long sentinel
#

so you guys would vouch for u#

#

then ill check it out in a bit, im not a big fan of graphs and stuff

jagged crow
#

or wait, I think both yeah

acoustic delta
#

Yes, support is amazing, and almost daily updated.

jagged crow
#

the arrow tells the program to move to the next node, the bubble passes the value

#

what are the names for those btw

#

already forgot most of the udon terminology lol

zealous aspen
#

WOW

#

IT WORKS

jagged crow
#

also lol rip anyone trying to program udon whose first language is read right-to-left

#

gg no re

acoustic delta
#

The line showing where the program should move next is a "Flow" line, you can hear people say "Flow is not connected". The line passing the boolean value does not have a terminology AFAIK.

jagged crow
#

We could call it... a spagett

#

😏

fallen shore
#

guess what

#

still doesnt work

jagged crow
#

cri

#

screenshot what youve got now

flint urchin
#

Not read everything, but is it not running?

fallen shore
#

wha

jagged crow
#

like do you get errors when you hit the play button in unity

flint urchin
#

Well, there you go

rotund needle
#

I get that error too. Probably unrelated

long sentinel
#

how can i use pickups and pickupuse? cant figure that one out

acoustic delta
#

How do you have two flow nodes going in the same SendCustomEvent node? Have I missed when that was implemented or is it a bug?

flint urchin
#

It was implemented a few updates ago yeah

acoustic delta
#

Ah, thanks

fallen shore
#

i wonder whats the issue

jagged crow
#

I'd say make a much simpler script just to get something to happen when you interact in vr

#

to help find the issue

floral dove
#

@long sentinel add a VRCPickup to an item, then you can use the OnPickup event nodes

fallen shore
#

thats what i did

#

i make cube rotate when i interact with it in vr

#

it should be simple

flint urchin
#

But it's not doing anything right?

floral dove
#

@fallen shore make sure the item with which you want to interact is on the Interact layer

long sentinel
#

i dont understand @floral dove this node?

fallen shore
#

and for some reason the only part that doesnt work is the vr part

flint urchin
#

Is the object a root object @fallen shore ?

fallen shore
#

interact layer?

flint urchin
#

Or is it a child object?

fallen shore
#

i just added cube to the scene

acoustic delta
#

I see the problem

fallen shore
#

thats all i know

long sentinel
#

this should work then

fallen shore
#

and thn made the nodes in it

floral dove
#

@long sentinel not quite, the actual VRC Pickup component

flint urchin
#

The gameobject you have the UdonBehaviour on, is that root or child?

fallen shore
#

root

acoustic delta
#

@fallen shore In your IsUserInVR you need to feed a Player into the "Instance"

fallen shore
#

its not under anything

long sentinel
#

ohhh

#

i thought they removed all components

#

i see

fallen shore
#

oh?

floral dove
#

@long sentinel it will add a Rigidbody and set the layer to Pickup

flint urchin
#

ooh yeah

#

Get Networking LocalPlayer

long sentinel
#

thanks i overlooked that completly

floral dove
#

@long sentinel yeah, I can see that it's a bit confusing. There are still some key components like Stations and Pickups

long sentinel
#

alright so

#

i gave the object the pickup component

#

and this should work now

fallen shore
#

so the interaction is local ?

floral dove
#

yep!

long sentinel
#

thanks man!

floral dove
#

but only when you Build + Test

ionic pike
#

Just caught wind of U#. I'm already fairly familiar with C#, but have no clue how to even use U# with VRChat. For instance, accessing the VRC player API in code. I've zero interest in the node graph. Any documentation out there on this or am I on my own?

floral dove
#

@long sentinel it needs an Avatar to actually fire 'Interact'.

long sentinel
#

check out the unofficial api docu on github

fallen shore
#

how does one even make local and public interactions?

#

or i mean not that

#

i mean if i interact to make it spin only for me and not for everyone

#

and counterwise

acoustic delta
#

@ionic pike There is a U# discord, also GitHub contains lots of demos.

floral dove
#

@fallen shore anything you do will just be for you by default. You have to specifically turn on Sync to make it work for other people.

long sentinel
#

@floral dove just throwing this out there, but instantiating objects onplayerjoin

ionic pike
#

@acoustic delta I see the demos but none of them include accessing VRChat API stuff. That's what I need to know. 😛

long sentinel
#

this should work by my logic

#

does the gameobject need any component?

#

like an networkidentiy or sth

floral dove
#

@long sentinel it should work! But I think there's a bug where you can't get the clone out of VRC Instantiate right now.

#

Just found it troubleshooting with someone else tonight

acoustic delta
floral dove
#

Also - VRCInstantiate doesn't work across the network yet so it's not super useful

long sentinel
#

ah okay

#

still alpha

floral dove
#

exactly 😄

fallen shore
#

im actually gonna flip

long sentinel
#

hopefully they add stuff often/continuously

fallen shore
#

it still doesnt do anything

floral dove
#

@long sentinel it is planned for sure...

fallen shore
#

how something this simple can fail

acoustic delta
#

Can you screenshot your graph please?

fallen shore
#

its the same but with the networking get local player

flint urchin
#

Add debug log

#

see where it fails

fallen shore
#

the hwat

flint urchin
#

Debug log node

serene moat
flint urchin
#

then look in the output log

fallen shore
#

so where do i attach that

#

and where can i see output log

#

and wtf

rotund needle
#

If you're trying to see if an event is firing, fire it into a Debug Log node

flint urchin
#

between stuff

fallen shore
#

but how can i see it since its in vr thing

rotund needle
#

Or yeah, in-line somewhere. Or at the end? Not sure how to see the log in VR though.

floral dove
#

You can write to a text field, that's what I do for a cheap in-game log

fallen shore
#

huh?

floral dove
#

the String.Format node helps greatly with doing that.

fallen shore
#

my brain

floral dove
#

@fallen shore take a look at the scene Assets/Udon/Examples/SyncUI

fallen shore
#

how do i use sync ui?

acoustic delta
#

You need to pipe something to print into the DebugLog

#

Right now you are jus doing Debug.Log()

floral dove
#

This is on the ButtonMaster object in the SyncUI scene. Shows you how to write to a text field at runtime so you can see Debug-type messages when you can't have your console up.

fallen shore
#

where does that text appear

acoustic delta
#

Debug Log appears in the Console and log file

long sentinel
#

momo sorry to annoy you one last time, but picking up and using items

#

i can pick it up, but can i thought i can THEN use it to eat it basically

#

is that possible?

#

or only use OR grab

floral dove
#

haha sure! You can grab and then use.

long sentinel
#

but how

fallen shore
#

my brain hurts so much rn

long sentinel
#

people are testing it right now, they cant :c

acoustic delta
#

You can find the log files at C:\Users\<USER>\AppData\LocalLow\VRChat. AppData is hidden by default, you can type %appdata% into file explorer which will put you into AppData\Roaming, go up one folder and then into LocalLow.

fallen shore
#

i wanna curl up in my bead and cry myself to sleep bc i dont understand whats going on anymore

long sentinel
#

^

jagged crow
#

xD

#

Might be a good idea

#

thinking is so much easier when not sleepy

floral dove
#

@long sentinel take a look at the MultiExample scene in Assets/Udon/Examples, specifically at the PickupCube. This has an Udon Graph on it called PickupAndUse that works ingame!

fallen shore
#

im not sleepy

#

i just woke up

jagged crow
#

oh rip

long sentinel
#

alright, thanks ^^

jagged crow
#

x3

fallen shore
#

and i wanna smash my everything

long sentinel
#

there is no zoom in the graph tho right

fallen shore
#

i just want this simple thing to work

floral dove
#

@fallen shore I highly recommend you go through all the examples that come with Udon. The Readme in Assets/Udon/Examples explains all the demo scenes.

fallen shore
#

i mean if you guys cant figure it out how could i?

floral dove
#

@long sentinel sorry, no zoom. But we have some other things planned that will make zoom much less necessary.

jagged crow
#

are global custom events a thing?

long sentinel
#

hm based on the example of pickup and use, mine should work too

#

hmhm

jagged crow
#

like can I send an event from one object to another object

#

or would I have to change a flag in object a and have object b constantly checking for that flag

floral dove
#

@jagged crow sure thing - not global though, it's 1-to-1. Custom Events.

acoustic delta
#

Yes, you can pass a UdonBehaviour into the SendCustomEvent node. That will trigger a custom event in an another script.

jagged crow
#

ooh I see

#

so you cant broadcast one generally but you can send to a specific object

fallen shore
floral dove
#

though CustomEvents don't yet support passing parameters, so you can only fire events

jagged crow
#

wtb params

acoustic delta
#

Make a UdonBehaviour public variable in script A, then in inspector assign that variable script B. If you then pipe that node into SendCustom event script A will execute the custom event in script B.

floral dove
#

@fallen shore that Cube needs to be on the Interact layer

zealous aspen
#

Again, is there any way for me to get the instance id or some unique number to that instance?

fallen shore
#

how did i do that

jagged crow
#

top right of the inspector pane

#

where it says layer default

#

I totally forgot about layers 🤦‍♂️

fallen shore
#

interactive+

#

?*

jagged crow
#

yee

floral dove
#

yes, Interactive

fallen shore
#

also jus for the future reference if i wanted it to be pickable with interaction does it go to pickup layer or interaction?

acoustic delta
#

I have never had to change the layer. I have default for everything.

floral dove
#

@fallen shore good q! Pickup layer should do it. Just add a VRC Pickup and the script will set that up for you, though.

fallen shore
#

so theres still chance it fucks up completely lol

#

lemme go test

floral dove
#

there is always that chance

fallen shore
#

it doesnt spin

floral dove
#

@acoustic delta oh really? I've been learning Udon as fast as I can and I could have sworn that changing the layer has been the thing to fix the issue for me more than once but...it could always be something else.

acoustic delta
#

Space, you can try after setting isRotating, print it out to see.

#

debugs debugs debugs log everywhere helps

fallen shore
#

um

#

but the thing is thats not failing

#

the interaction is

#

mouse click in unity works

acoustic delta
#

@floral dove Depends, I have not worked with Pickups so maybe it is neccesary for Pickups, but it should not be neccesary for buttons.

fallen shore
#

so the isrotating works

#

but the vr interaction is only part that fails

floral dove
#

@fallen shore that Debug.Log could could be unhappy about the blank object it's got

acoustic delta
#

Pipe a string into it and see if it gets printed in VR

fallen shore
#

blank objects?

#

can you show me example of this

#

piping string?

floral dove
#

make a string const that says 'Interacted!' and pipe that into the 'object' on the Debug.Log

fallen shore
#

bc i have no idea

acoustic delta
#

Make a string node

floral dove
#

yep, gimme a sec

acoustic delta
#

Constant String with a value like "Hello world" and pipe/flow it into the Debug.Log node

fallen shore
#

theres no constant string

#

;w;

acoustic delta
#

There is, under System > String > Constant

fallen shore
#

wha

#

ah got it

floral dove
#

ALWS0WrbMBSGXyU715aRYsmWDLlqehE2tkHX3IxgJPs4uHOkYcvdQpon28Ueaa8wuU462uyiN0UgEDpH+r+P8+fX7wPc63ZAyL8eoB7a9qPehQPc2sbvr+22sbhEM2zjovjgtkVxs+897j6ZOyz9+bR2TQURDGHPQZmkEiI1RLG6JlyViigpKRG1rqjQmCZSheLvrm984yzkB/gJeZLGNII95ITNaUyPEVhX4e1q2YdgoDPMMpoyknDNCEcqiRSqJEwJNEYg1sw8UNhEULfux6lrM72xHun6R7xhZJqiryfmAzS299qWuFpCPn7b+66x29M1wHFzjJ55uXKh4cR981j7RP6alJfkZM7pmZ3LC/Q3gJrCx1P6aLbrS9e1jYlma+z6EGzBYzquaHY1tH7ocGFx8J1uo9nnwbRN+R73X9w3tAuTZVqUImUqGXHVw8p67HTpsXp3qe76Hq0vziX/tIVpUTqThPJgjAuWEMkSSphQdSI5N0Lx/2jL5k8Tk8xfansu7XUz+VLtJgD8BQ==

#

You can actually copy-paste that string above into your Udon window, it will come out like the screenshot

jagged crow
fallen shore
#

so now that i have that setup what next

floral dove
#

can you screenshot your whole graph for me so I can see?

jagged crow
#

if @ me that is the whole graph

fallen shore
floral dove
#

sorry Shaun that was at Space (darn no threading in discord)

jagged crow
#

haha yee np

floral dove
#

ok cool @fallen shore - so do a Build and Test of that scene to see if that fixes Interact

#

because maybe the Debug.Log was choking on trying to log nothing

fallen shore
#

still no

#

that vr interaction node is getting scary long

floral dove
#

oh wait a second @fallen shore - I'm sorry, I see it now. I was so focused on the Interact event I didn't look downstream. You can't have two flows go into one flow like you're doing into the SendCustomEvent node sending DoRotate

#

the UI should stop you from doing it but it doesn't yet.

fallen shore
#

i got told to set 2 differents for desktop and vr

floral dove
#

so you'll want to duplicate that event sender and do it separately

fallen shore
#

ohh

floral dove
#

that's not obvious at all, plenty of node languages let you do it

rotund needle
#

Yep, my Blueprint habits are killing me right now!

fallen shore
#

imagine then learnin how to keep your nodes not crossed and clean

#

thats something im gonna have alot trouble with

jagged crow
#

are there any examples of how to get jumping to work

#

I seem to be missing something and I can't figure out what

floral dove
#

@fallen shore it helps to break down your behaviours into smaller pieces sometimes so your graphs don't get too big

rotund needle
#

Shaun, I've done it exactly as you have ant it seems to work.

jagged crow
#

@.@

rotund needle
floral dove
#

that's why I show how to use 3 different event senders to fire the same event receiver in the MultiExample

jagged crow
#

what object is your script in?

rotund needle
#

It's an empty object

jagged crow
#

hmm I put mine in VRCWorld

#

I wonder if that's the problem

rotund needle
#

I make one main empty object and load in the Scene description and basic setup Udon

fallen shore
#

i guess ill die

#

it still doesnt work

jagged crow
#

d'oh, the number of times I've accidentally clicked publish instead of test

#

🤦‍♂️

fallen shore
#

i wonder what happens if i set the branch to false instead of true

#

wait

#

do i need to set instance?

jagged crow
#

no I think thats for sending the event to a different behavior

floral dove
#

@bright nova no, if you don't set instance, it defaults to itself which is fine for Gameobject and Transform

fallen shore
#

oh duh im dummie it already works on the mouse click

#

wrong tag

#

XD

jagged crow
#

hmm, moved my behavior into an empty object, still no jumpy jumps

#

🤔

fallen shore
#

shaun i tried that thing

#

jump works for me

jagged crow
#

ffffffff

fallen shore
#

created new game object

#

and added that same script

floral dove
#

@fallen shore copy-paste the program here so I can take a look. Just Select All (Ctrl-A) in the Udon graph then copy-paste.

long sentinel
#

pretty sure using objects you picked up doesnt work

fallen shore
#

AO1Z207kRhD9FeTnadTtviPxkIVNhDZ7ESzzkkWjvpTJZD02sj27S4Avy0M+Kb+QmiuzYwPOBhSUhEGofZ2uc06fqmr++O33q+STy6eQ7P10lWTTPH/jJniQDI8PTmNZHJSTSVkcFQ1UmQtQH81OvvwERXMMAcafoNodjU6giAfTuikn8yt44rJuYHLSVOPifHU0LMcxGSRT/LuXWAbOg5YksmiJCKkjNnMpEZwpKX2aOsHx5ouyHjfjskj2rpIvyR7hiu7SQXKJQ5Hi8GaQFGWE06PDGuef4BPJ2SDJ8vLz8tTZ4obhLMJ6HuK0GDeXb/0vEJrhIu6rZFzUjSsCHB0me7N31vOJLy8nyc3gWx5bRL27AGGwM6lDWeVjP9gZQlVjTPtil84+g52Dad5MK9gvYNpULh/svJv6fBxeweX78iMU+15rJ4NUzHIB1NjrWB6XjWsguTmbze1r1k4OX71wNbyB5nNZfcTvRoLOoRn9WAaXv8vdJVSj0e19OFqc/O5ivKaH0VTo1ETCbDBEaBqI00AJ4ES4D9JGbzvoMUyt6GGmRc/9zGxH8qJCaH9ezyimimdeO0JhNqNMBmKo5cQ5msqYchc06xIMXQuGs7QlGJoFRxnzxHIeiJDeEquZJFR5x0wabRblNd3S1ExmHgwi4RyBTGVEmJASa7QmMU0VcCqNkPPHHkF8d1O8SR2SfFSf1lAdFcPj1ZJ7UZY5uGINYp9wO0BUOl2BmBrTArGPWNog9iL0aRBcmNTc01xo1ugIJoHi8iIs4xLRQYi8RHSk1kHxlMdIfQc62tB70NmKuhcDDy2Np7XmXtJuw5CK9ULT7YX2vzMv4F9QceuzafA0eoEwC5Sc0oZY6yjJBPBoUVk2ZB1YSyXu8dltpBOacpFpYUlgkeFSc0CcQEZZSI1iLnUq8kdZav8IsCeY24auGjufw63T9Qm5DSyjZg0s71SxYZB5bh36lI5EgFL44qiI1zKLXOL6trFlds8cW60UBK5Qe2hIqELUo/doypkCCMJJpjz7xqXWkb6WVN2RonrNpUUcU2veUtFdF65/n4yaZSiPy833Lq/h+fncuJ4vR3zv35vbc8Xsuc7rKbgsyqLDVn/oslVHeSqBMZJJoYnw0hETcLFm4AErGMUFE135Sq4LSCMeSlf/CrNsJalNs8OyrLwYnRauunwD526G1FbFflcB3yf7dNVmt33ZfLhFQB9WnySn3VUlnV7EWapfRR00REtpJEE7jJobSUxUkfjU6izgx3Um8/kOwTKZt3L5VonEHM2iMUCkpxTrBSqIA5ESCSaaYIINEh6sy7da1l7vvL9lbXMFNkSrkCukDBsIbmdtE6dEM6wkuQxC0NButgL+gA9A8Fkxa200SgY7ncwyrWNA8Wj3RM1Wp4/0iaKrERWrNN/VYvwHbOR0FsLL4nxcwHsUW52V1QTdZFEaj0Ybl4cYZVnxVbuH88eSq6vd6yWNFhW3+3Bph6HPCy1pGLYyWHhT6rC3cR6Ip87g2zPpmZAgrHkiV/mmDLsB3u4SvcHO5smDsoLXZZzmcCsA2lcABZJ4ffUh+fIBvxsf+JBc4ojNR78uzt08Wo29KZPxBJYbgBHyxs2OR1+pYqPxR0VK5QnT1hDBLCOW+YxEn6lMI53Smy6/sqvk0s7tf23Lb3NWixz5GlEdXyCOXyXJpZq7pL0VUh8Ndu5l0Lt9pg9M1/RZbnjMwXlcH1P0riT+tnhdTms4LD/f1i/S+6gsVyQAS2dmkxLvIpoNh6iQJ3SfrvpF6nX9IuhDW2y9/rXQluLZzZ8=

jagged crow
#

oh god lol

long sentinel
fallen shore
#

oh btw @floral dove i put the first branch to false

#

to test it rn if that works

rotund needle
#

Potato, I often test things by firing the 'start' node into them, just to make sure what I'm trying to trigger works. Not sure if you've confirmed that yet or not

fallen shore
#

nvm that doesnt owrk

jagged crow
#

!!!!!!!!!!!!!!

#

it works

#

the entire damn time there was a loose node sitting way off screen

#

somebody shoot me

rotund needle
#

Ha, yep. Little things like that make me crazy. What's worse is when you wreck your node graph trying to fix something, then find out it was something simple, but now it's broken 10 new ways.

floral dove
#

hm - @fallen shore yeah, something's wrong with this graph currently. It's not compiling for me.

fallen shore
jagged crow
#

do you need to do anything special to enable voice?

fallen shore
#

@floral dove would you be able to somehow rework it abit

floral dove
#

@fallen shore I'm giving it a shot!

fallen shore
#

i kinda still need it to be "that complicated" bc i have my goal to use it for in the end

floral dove
#

this graph isn't too complicated

fallen shore
#

well i understand 80% of it

#

but still it doesnt work

#

XD

floral dove
#

running a Build & Test now

#

ok - I've verified it works if I disconnect MouseDown for now and bypass the isUserInVR check. I'm now going to only fire it if it's false (since I'm testing it on Desktop), and leave MouseDown disconnected, since that would give us the firing-twice issue.

fallen shore
#

how do i launch test build in desktop btw

acoustic delta
#

You can use a flag --no-vr

fallen shore
#

ah

floral dove
#

ok, that didn't work, so our problem may be in the 'isUserInVRNode'. I'm going to add a World Space canvas and a UIText component so I can log the output of that call to the world.

fallen shore
#

hmm

jagged crow
#

ffffff I didnt even change anything in my behavior but I can hardly jump now

#

get like one inch off the ground lmao

fallen shore
#

hmm

jagged crow
#

aaand I just deleted the behavior and remade it exactly the same way and it works again

#

something's screwy here vrcAngry

floral dove
#

@fallen shore ok wait a sec, maybe this is a bit overengineered. Why do we need onMouseDown and OnInteract?

#

because this simplified graph works great:
AOVYy27bRhT9FWPWGmNenIcBb+KkhVEkLexYm9oQ5nHpsqVIg6TcqLK+LIt+Un+hQ1FSbZOO1cQCjBbigjMiyDPn3HPvnfnr858LdGvzGaCjnxconeX5BzuNA/TuFopmclo0UFnfoBGaZSFOU6att9xhqiHFgjKDjZUBE9AJU0wraWl8+KassyYrC3S0QJ/QEWZSHJIRmsdbysghWY5QUQa4OH1bxw9fjVCal7+vR8izhINVARtlPRYi8PgN5bEmxnmgzCqh0FX3hnGLffWO5WgA/8msbsrpFj0xxFiTWhwhs/hml2KrqcHECWEsJyIxyRB6KtfoB8Aj9Ai+JY641FFsvbJYBKWxTp3GXlFnFeXecdKDv0CzImvmP7pfwTfjTpAFyoq6sYWH07foqP1s3VRZcb3+G53P6wamh+erydHBtPZllWdudDCGqo7wjyPn7W90cDLLm1kFxwXMmsrmo4OfZi7P/A8w/1j+BsWxU8omPpHUcAFEm7tQnpWNbQAtH/N6Ds1kbKvMuhy2vO605B6vQm9YTWSf1REKigTwJsGWJxILLQU2lEtspLLcqABM6zvyiP5XTqwPCXCRJlgHreKahMAuxDVJnyojDA8qSVFL+b9H3dfq+yGtHBcGiAWsNE+wMIJgS6TE0b9GSSJ44GzAA0nC1mox8awH/hMi9CJ/BehNWeZgi8PJpLyZXBS2mn+Aa9syNZk8eOLRcMv/LlE9lIP0xi2M6R7/u4i6F6s8RdN5fCaHjqX3UZ/sJirygKbuiYeDB6N/snZIGPGBYkVIXJxzFhufxvzttJRSp0J6McAYp5uITdrq84gxmijCY53BjBGBBaGRMaUd5iHGt/MpsV7etUlrL6R9lcE3jlix87KOkKQv5EUL8F1xnRXwMZu2Wl7HfBIgb2w7fkKsXXgdEEuYrVi6F95fVuBLuCtb1GlZTSP4rqBNJvf+Hkfuy4oPxuC4jMvZ1jcpwXthMBhtsIDUxdQhYtcjNHitXZIq118UWa9IcDZU3uK1S2TvybZfFYH3uDtckzc6uD95UlbwvgyzNj43UUl2jcoiani3uESfLjvuLtE83tHV3R/d3HK/tdEwFnvC2HSyNBWtHrG7TWMYey8hcBItQwf6GCzJRuqE9DPN/6E2volG879sedSURNocYMMZjbuEmA50agj2lqQATFE7nLHZZpcgRJ/HXcTpmWU36+6nEnZbkIub0DbSG2pEQkFx4Fjz2C8Lr0y8Cx4TrhITcVJq7FB+ZNtsQp7Jj7ux/1wW3XjjiS5mpzAZ6CLv7QMHJO6y4vram23Wa3lZ33xn8xq+sbDvwc5Zvap78b3fhu21cvZace1Dy6IsBjbk47OTi1AWJ+V0Whar85qYI6E+bSdXGegMPGS3UMUe6ByK0B2JdLlp0/mswA52PjudxfR9vtrRP3neM2Bv9EI5+LVpdv8g5Wr5Nw==

fallen shore
#

"simplified"

floral dove
fallen shore
#

i see more text

floral dove
#

oops, nevermind that rogue debug log in there. I was logging before

acoustic delta
#

Interact does not work in Unity editor, so you cannot preview it without opening VRChat.

fallen shore
#

so interact should work for all platforms?

acoustic delta
#

Interact works in-game.

floral dove
#

@acoustic delta true! But it seems like the issue is the IsUserInVR node. It doesn't seem to be working at the moment, at least in my fevered 1am test 😅

#

yeah, cutting out MouseDown for now solves your double-fire issue, but it does mean you'll need to Build & Test to see it working.

#

I'll do some more testing of the IsUserInVR node this week. If it's not behaving the way it should be, I'll file a bug and we'll get it fixed.

fallen shore
#

where do i have the checkmark for no vr

#

to launch the test without vr

acoustic delta
#

You add it as a parameter in Steam

#

There is this fancy launch script you can use which will ask you every time if you want VR or not, but much easier to just add --no-vr to steam arguments.

floral dove
#

ooh that is fancy. I've always done it by just launching VRChat with my headset unplugged 😛

acoustic delta
#

AFAIK you also need --enable-debug-gui --enable-udon-debug-logging to see Udon logging in-game.

floral dove
#

but I use an Oculus Quest + link so that's probably simpler for my setup than many others

fallen shore
#

welp now this works

floral dove
#

yeah, it's a good idea to learn about steam arguments.

acoustic delta
#

I can't help with Oculus Quest

floral dove
#

@fallen shore glad to hear it!

#

oh btw @acoustic delta I remembered why I was thinking we needed the Layer set to Interactive. I believe that's needed for UI elements.

#

anyways, it's quite late for me in the PST so I'm off to bed! Good luck everyone.

long sentinel
#

how do I make text etc appear on a users screen in vr? it "works" in desktop mode but i think it breaks the vrc menu in desktop, couldnt interact with it

#

or is this not allowed / against the rules

zealous aspen
#

Is there any way for me to get the game object of the local player?

acoustic delta
#

@zealous aspen No, they want to keep that internal. We are limited to the available Player API functions to interact with the player.

zealous aspen
#

Alright

acoustic delta
#

What did you want the GameObject for? Maybe theres an API function that covers your need

zealous aspen
#

I wanted to make sure that I'm colliding with the localplayer and not another one of my colliders that are trying to see if theyre colliding with the local player so that it doesn't forkbomb, all while still having the colliders intersecting. They are on the PlayerLocal layer.

#

But I think I have it figured out

#

Actually that may not have been my issue in the first place

cerulean hare
#

Use mouse down insted of interact so you can click it in the editor @fallen shore @acoustic delta @floral dove

winter rapids
#

is this thing worth it if it meant older worlds being butchered the way they have?

zealous aspen
#

Umm ok I'm having a bit of issues with detecting the player

#

I need to detect a collision between the local player and a trigger box collider. How would I do this?

stuck mountain
#

@cerulean hare Don't do instead - if you have to, do mouse down in addition

Using mouse down is an accessibility issue for VR players or people using other types of controllers. Please don't do this.

#

Also, you can use a UI Button to call Interact() on your behavior

#

if you install Merlin's EasyEventEditor, it contains an Invoke button that you can use to manually click a UI Button from the inspector

#

and that can do an Interact event

cerulean hare
#

Its to test right away the interaction. Instead of waiting to load ingame

#

Change it after

zealous aspen
#

I'm also trying to create an interactable object in U#. Could someone tell me how I would go about doing this?

wet pumice
#

☝️ i would also like to know how i can do this. does somebody know how to do it?

long sentinel
#

no idea, im uploading right now then i can tell if it works

#

but just use override Interact() in the script and it should? be fine

#

¯_(ツ)_/¯

#

close

#

gives me the interact option but doesnt(?) run the script

#

also wish id knew how to change the "use" text

wet pumice
#

i was trying to override Interact method but doesnt even show up as interactable object in VRC 🤔

#

example script works fine though...

long sentinel
#

🤔

wet pumice
#
using UdonSharp;
using UnityEngine;

public class UdonBoxResetter : UdonSharpBehaviour
{
    [SerializeField]
    public UdonBox udonBox = null;
    [SerializeField]
    public Vector3 respawnPos = Vector3.zero;
    [SerializeField]
    public Quaternion respawnRot = Quaternion.identity;

    public override void Interact()
    {
        udonBox.transform.SetPositionAndRotation(respawnPos, respawnRot);
    }
}
```this should atleast show interaction highlight on VRC right...?
cerulean hare
#

Is sharp really usefull?

scarlet lake
#

These noodles dont tell me anything and nothing makes sense for me. How do you even create a button that could toggle things on and off?

cerulean hare
#

If you dont to learn now use sdk2

zenith hatch
#

Is it only for me, or GameObject SetActive even if have specified gameobject still changes to instance?

long sentinel
#

@wet pumice it should 🤔

cerulean hare
#

Wait for documentation

wet pumice
#

why doesnt it work then 🤔

long sentinel
#

try removing all unnecessary stuff, just keep the Interact() and see

wet pumice
#

is it just my issue with project setting...?

#

it worked with just empty public override void Interact() method

#

🤔

long sentinel
#

🤔

#

[SerializeField]

wet pumice
#

is that really it?

long sentinel
#

dont use that

#

🤷‍♂️

#

i dont use it

wet pumice
#

removed [SerializeField], still not working. ;w;

zenith hatch
#

@scarlet lake if you will know how to toggle things could you let me know?

scarlet lake
#

@zenith hatch Ive fixed all my issues with SDK3/Udon by not giving a fuck about it and using SDK2 that has simple way of making a toggle button.

long sentinel
#

cool

wet pumice
#

@long sentinel it works now :O

#

using other C# class was the problem

long sentinel
#

what other class

wet pumice
#

UdonBox

long sentinel
#

whats that

wet pumice
#

how do i get UdonSharpBehaviour classes is next problem ._.

long sentinel
#

public UdonBehviour myClass; or sth

#

🤷‍♂️

heavy spindle
#

why do you need them?

wet pumice
#

so you can communicate each classes

heavy spindle
#

well depending on the way you want to communicate. if you just want to read a variable or something. that is easy but actually triggering functions still have no clue about that.

wet pumice
#

i cant have UdonSharpBehaviour extended class as variable. so i cant even read variables...

heavy spindle
wet pumice
#

ohh

#

thank you so much for this information >_<
i think now i can do what i wanted to do!

fiery yoke
#

@long sentinel You can change the interaction text in the Debug Mode of the Inspector

long sentinel
#

i see, thanks^^

heavy spindle
#

ok found out how to trigger functions. i Thought i tried this before but it seems i didnt match the method name exactly thats why it wasnt activating.

short hedge
#

How to fix it

robust summit
#

What is the player name/tag or other identifier to be able to find it with GameObject.Find ?

fiery yoke
#

You cannot access the Player object. You can only interact with the Player via its API

robust summit
#

Ok ty. Is there documentation for player api that I can go thrugh?

fiery yoke
#

There currently isnt any documentation on the VRChat specific nodes afaik.
Just go through all the methods and...guess what they do lol

robust summit
#

Ok, will do that. Think I found what I needed in it.

meager dove
#

are old udon scripts meant to be supported in this release?

cedar cairn
#

Is there a way to reset objects all rotations and only y position on a pickup? Can udon help?

unreal glacier
#

Depends how old, there were a few breaking changes a while ago that require reupload @meager dove

meager dove
#

hmmm, they're pretty old, I guess I will have to remake them from scratch

narrow burrow
#

Is this just me or a known bug? (Public checkbox, synced etc. are just displayed as Bool)

fiery yoke
#

Thats a known bug. Copy Pasting the node will temporarily fix this. Will probably be patched sometime.

narrow burrow
#

Alright

meager dove
#

I'm guessing this is a bug?

scarlet lake
#

how can i add active/inactive script...?
like..mirror?

delicate hazel
#

How can i use UI to trigger udonsharp ?

scarlet lake
#

Hello! i want to start learning and coding my own experiments and minigames into this new amazing UDON world, how can i start into it?

rotund willow
#

@delicate hazel iirc you need to use the function in ui, "SendCustomEvent" I might be wrong though.

acoustic delta
#

@scarlet lake Can recommend first reading Tuppers Getting Started tutorial : https://ask.vrchat.com/t/getting-started-with-udon/80

robust summit
#

Anyone got a example for collison check with the player? Perferably in U#.

flint urchin
#

For people asking for Udon# stuff, it’s probably best to join the discord for it and ask there

gentle nova
#

is it possible with udon to trigger a ragdoll like the sdk2 combat system?

flint urchin
#

Not yet

green onyx
#

how do you do onTriggerEnter in UdonSharp?

foggy pawn
#

can someone explain to me how to fix the black bars on the left and right side of the screen?

delicate hazel
#

@rotund willow Cant find the function in UI. Becuase the scrpit not on the gameobject.

#

I try to use script AddListener but Udon cant compile.

rotund willow
storm copper
#

im trying to make a public variable appear on the text but i have no idea how to do it

#

i want to make an count variable everytime i press the cube

gentle adder
#

I tried importing the SDK but ran into issues. I don't see the menu option for VRChat SDK and have a bunch of errors in the console

delicate hazel
#

@rotund willow I see .

gentle adder
storm copper
#

but i cant get.variable.count

#

what im doing wrong?

rotund willow
#

@gentle adder Go to edit, then project settings, then under player, find this area and change the scripting version to .net 4,x

gentle adder
#

Ah okay thank you

rotund willow
#

@storm copper are they 2 different programs?

gentle adder
#

it wasn't written anywhere in the docs to do that

#

will I have to do this for every project I make?

rotund willow
#

I think it's because making a new 2018 project sets it to 4,x by default

#

I haven't had to do it for new projects but older ones

#

I think

gentle adder
#

which menu was that under?

rotund willow
#

player

gentle adder
#

thanks

rotund willow
#

it's on the left section

storm copper
#

@rotund willow yes

#

one is in the cube and the getvalue is in the text

rotund willow
#

I don't use graph but I believe you have to use a GetProgramVariable for that

storm copper
#

i am

#

the problem is that it dont get it

rotund willow
storm copper
#

ok thanks

#

the video that explains that is offline btw

#

on the guide

rotund willow
#

idk

#

not to do with me

gentle adder
#

Also, is the control panel not supposed to have any buttons for menus?

rotund willow
#

it should

gentle adder
#

hmmmm

#

I appear to have run into an issue then lol

rotund willow
#

that much I can't help with, sorry

gentle adder
#

Yeah no worries

#

thanks for at least helping me make it show up lol

rotund willow
#

np

gentle adder
#

weird... now it has a new picture as well xD but turns that deleting it and reimporting fixed it

storm copper
#

how do i use the text node in udon?

acoustic delta
#

You can use the "UIText set Text" node to change it.

storm copper
#

still im having some problens to figure it out to appear on the cube

floral dove
#

@storm copper your UdonBehaviour needs a reference to your UIText objet. Check out the UIButton Master object and program in the SyncUI example scene that comes with Udon.

scarlet lake
#

Hey, i imported VRCSDK with UDON in my Unity 2018 but VRCSDK button is not appearing, do you know what can cause it?
Fixed, had to create a new project.

storm copper
#

@floral dove thanks

scarlet lake
#

I readed the guide of Udon, but is there any guide to start making your own worlds with UDON? coding with UDON guide or something like that?

acoustic delta
#

Tupper made a "Hello World"-styled tutorial where he makes a cube rotate.

floral dove
#

@scarlet lake there's also a readme in Assets/Udon/Examples/Readme.rtf that takes you through all the included example scenes. If you go through that, you should be well on your way to making your own interactive things!

delicate hazel
#

How can use local testing in PC

#

This sdk always start in VR mode.

#

@rotund willow I try it out. It seem like doesnt work.

floral dove
#

@delicate hazel there's a couple ways to do this. One of the easiest is - first launch VRChat directly from steam and choose Desktop mode. I think it will remember this next time its launched. However, sometimes having a VR headset active while running VRChat will cause issues with head orientation. I always unplug my headset while I'm testing things in Desktop mode.

vast nimbus
#

anyone how i can make a avatar pedestal on udon?

fiery yoke
#

@floral dove You actually unplug your HMD? If I would do that everytime I try to test a complex system, I would go mad xD
There is a VBS script (so windows only I think) that intercepts the VRChat Process and appends some arguments. It sounds shifty, but you can look at the code, and if you understand a bit of Windows vbs then you'll see that it's nothing crazy.
Heres the link: http://secondstrife.com/vrchat-vbs/