#udon-general

59 messages Β· Page 34 of 1

dapper lion
#

i think unlit ignores all fog fairly easily

flat musk
#

Can someone explain to me what the synced variables do? I looked for documentation or a description of their function but I can't find much.

#

im assuming it's to sync variables with shared scripts?

flat musk
#

Now my issue is sending a boolean variable to be set between two different buttons of the same script

#

ya not sure how to send a variable between scripts is the main issue

flat musk
#

Nvm also found that too, not sure why this is hidden deep in the ask forums and not the official documentation.

hoary elk
#

@fiery yoke Your text chat scene is amazing. I'm hoping to use it in a couple of VRChat conventions that are coming up. I have spent a few days already trying to add a virtual keyboard that would work with it, but I've not been successful. It seems I need a project with a lot more documentation to be capable of understanding it as well as I did SDK2. The ideal mod I'd be looking to have made for it does the following locally for each player:

-Players can double tap a menu button to enable and teleport the Chat Log to where they are.
-Selecting a collision box above the Chat Log will disable it.
-Virtual keyboard that may be grabbed and used to conveniently type for the input text field. (Child of the Chat Log so it may be teleported and enabled/disabled with it.)
-Disable movement, crouch, and prone while typing in desktop mode. (Disabling the action menu would be also welcome, but secondary as it doesn't force the text input field or Chat Log to be out of view.) Closing the Chat Log should enable those controls again.

fiery yoke
#

I kinda gave up on it tho, since text chat in VRC isnt as useful as it may seem. I will give you a longer answer later. Busy rn.

hoary elk
# fiery yoke I kinda gave up on it tho, since text chat in VRC isnt as useful as it may seem....

Thank you! It's really in hopes of supporting some friends of mine who are deaf and otherwise would have no way of communicating with folks who do not know sign language. I know they're not alone either. There's a whole community called Helping Hands that encourage and teach many different sign languages, but teaching is not feasible on the spot for how populated these events may be.

#

I would not be against paying for this effort.

valid basin
#

how do i interact with 1 object, and make it do a script function from the udon behavior on another object?

mossy anvil
#

kinda confused why

#

basically i press a button which enables 0gravity gameobject

#

and it enables -15 gravity but when i toggle it off

#

branch on false doesn't seem to set it

tired orbit
#

Are you sure you want to use Start and not an Enable event instead?
iirc start is only called once

mossy anvil
#

oh i see

tired orbit
#

It might be called OnEnable, I don't remember!

mossy anvil
#

@tired orbit I used onUpdate event which is every frame in unity games

#

but now it doesn't even turn on

#

for some reason

tired orbit
#

Your graph looks ok to me, I'm not sure why that wouldn't work.
You could simplify this but just making an UdonBehaviour on the object you are enabling / disabling, then just use the OnEnable and OnDisable events

mossy anvil
#

hmm must be something else then

#

might be compiler errors

tired orbit
#

Does it not compile?

mossy anvil
#

it does but there's some udon related exception

#

I'll fix it

#

okay I'm really confused

#

the game object gets enabled fine

#

i have an audio to debug

#

but my graph doesn't work

#

seems to be this why it doesn't work

flint urchin
# valid basin this doesn't seem to work

Do use method names, you need to get the component by class name

public void interact() {
  other = go.GetComponent<YOUR_UDON_CLASS_NAME>();
  other.DoIching();
}
mossy anvil
#

lol

flint urchin
#

Gravity 0 is no gravity

mossy anvil
#

yea when i had it on -15 my udon graph seems to do nothing

#

as well

flint urchin
#

Yeah, it's not documented on the site sadly

scarlet lake
#

Is it a button ? @mossy anvil

#

I can help I got graphing down

mossy anvil
#

is it possible to check if PlayerApi is null with graph or would i need to use udon sharp

scarlet lake
#

Listen is it a button

#

If so, on interact

mossy anvil
#

it works like that a button toggles and empty game object that's called GravityTrigger and then there's a game object LowGravity which has this udon graph that checks if Gravity trigger is active or not

#

cuz i need somehow to revert the gravity back

scarlet lake
#

Okay so yeah

#

You wanna switch the bool variable each time its clicked

#

And all in the same graph

mossy anvil
#

yea

scarlet lake
#

Yeah so the game object goes Into unarynegation to switch it from true or false depending on the state its currently in

#

As it currently sits theres nothing triggering the graph

mossy anvil
#

so after set active i put the arrow to branch

scarlet lake
#

No need for branch

#

It outputs to set enable whatever

#

So its interact > game object get active self > unarynegation > change gravity

#

That way its active when you load in, hit the button and it's not active, click it again and it sets to active and the cycle goes

valid basin
#

I am creating a UI but for some reason i can't seem to disable keyboard input for scrolling. Does anyone know how to do this?

scarlet lake
#

That idk but if you got a graphing question I'm your guy

mossy anvil
scarlet lake
mossy anvil
#

yea but it has the issue i encountered before

#

it doesn't disable the gravity

#

in my case doesn't set it to 3

scarlet lake
#

well

#

its seeing if the game object itself is turned off or on

#

you cant do -15 strength

mossy anvil
#

i see i think i understand now

scarlet lake
#

yeah its not turning gravity on or off, its the entire game object

#

this is specifically tricky

mossy anvil
#

i know i forgot to rename it but it sets the gravity to low

scarlet lake
#

so you're gonna want to use get gravity strength

#

i got it, its a bit of a strech but i think i really got it

mossy anvil
#

I think if i do the same way but with your better graph it should work flawlessy

#

if it doesn't idk but I'm really tired either way xd

#

so will go sleep

scarlet lake
#

so weather or not gravity is enabled is based on wether or not the game object itself is enabled

#

so when the game object is active, the gravity is true, and while the game object is not active

#

oh shit you forgot to switch the active state of the object

mossy anvil
#

wdym with switch can u show me

scarlet lake
#

@mossy anvil

mossy anvil
#

thanks

scarlet lake
#

makes sense?

#

its basically using the game object itself as a variable and it has to change its own state

#

and i know i know, i'm a god

mossy anvil
#

@scarlet lake thanks works flawless

#

thanks a lot

scarlet lake
#

anytime if anyone needs more help i'm open to dm's since there's literally no documentation on udon

mossy anvil
#

ye it kinda sucks but udon isn't that hard imo

#

for simple things

#

like some pickups and pillows and mirror toggle

scarlet lake
#

yeah it for sure helps to already understand the logic of it all from sdk2

inner monolith
#

This feels like a stupid ass question but...does udon support c# scripts

scarlet lake
#

i think so, i've seen custom udon# scripts so idk how that works

inner monolith
#

yeah udon# scripts but not c#

dapper lion
#

c# = no

inner monolith
#

thank you

mossy anvil
#

udon sharp

#

use that

inner monolith
#

yeah i am now

#

explains a lot 😒

scarlet lake
#

anyone familier with the arciTechAnon video player

#

i want it to autoplay a certain video but when i put in the url into the componet it prevents from entering a url in vrchat manually and doesn't play the video

dapper lion
#

ive had a few problems with his videoplayer as well, id suggest using the U# video player or the aVpro player

mossy anvil
#

@scarlet lake use the udon players on GitHub

#

They’re epic

scarlet lake
#

got a link?

mossy anvil
#

I use this prefab

#

Has an auto play url option

scarlet lake
#

thanks i'll try it

inner monolith
#

if U# does support tag checks how can i check an object? global name type?

scarlet lake
#

so i imported the video and it poofed from my assets folder

#

you know, fuck this for right now aye

unborn hornet
#

@scarlet lake are you trying to assign a default video to run automatically when a new instance is created?

scarlet lake
#

yeah when i load in, i want it to autoplay

#

also, nice work on the player

unborn hornet
#

Ok. I think I have an idea on a fix, but I'm on holiday and won't be able to work on it till tomorrow sometime. I'll look at fixing that support first thing when I can.

scarlet lake
#

yeah, i put in a url into the only places i could find which is the quality assets, and it reconizes the length of the video

#

but it says no video entered or whatever

#

and it seems that autoplay itself prevents new url's being entered in yours, and other video players

unborn hornet
#

My TV uses a separate set of variables to enforce the sync state. They are in the TV->Scripts->TVManager.cs script if you are curious.

#

Specifically, the idea i had was to set the syncURL to be public, then in the editor on the TV root node, put the auto play url in there. Not sure how well thatll work for the first player joining a new instance though...

#

Needs testing heh

scarlet lake
#

yeah seems like an incredibly confusing feat

unborn hornet
#

Without the mental model of how the tv works, yea kinda is heh.

#

Ill get back to ya on it.

scarlet lake
#

thanks!

#

it looks like a fantastic video player besides that though

hardy fog
#

I have some ugly code that I think there might be a better solution for. Basically I need to pass variables in an event. So my GameManager just has the same function four times because I can't just pass the choiceId through an event.

cold raft
#

seems like you can use string concatinaiton
instead of "Choose0" you could write "Choose" + chooseId
and make it one line
SendCustomNetworkEvent(...., "Choose" + chooseId);

hardy fog
#

Just like subtract choose from the string? I'm also not sure what variable the event name exists in to grab it

cold raft
#

you can so int.parse(eventString.SubString(5));

normal sable
#

Is there a fix where if you set a value in a node, when you hit compile and reload, it just sets it back to 0? I've been using consts because those seem to stick but it's not working for quaternions.

fiery yoke
#

@cold raft Wait what do you mean with "eventString"?

cold raft
#

i dunno your the expert πŸ˜„

#

i assumed there be some OnCustomEvent(string eventString) but i might be totally wrong

fiery yoke
#

Well you see the thing is that events are sent by name, and then the receiving udon behaviour needs to have an event that is associated with that name.
All of that needs to be compiled into the assembly, so no unfortunately you cant simply do that.

tall vault
#

I got around it by caching a list of all the custom event names needed, then injecting method stubs for all of the custom event names that call a single method with the custom event name as a parameter. Keep in mind that since Udon doesn't support native recursive calls that you may need to manage the local variables used by the methods in your own call stack

fiery yoke
#

Unfortunately thats very inelegant. Still the best you can do for some situations. But its less elegant than it would need to be.

tall vault
#

I'm kind of hoping I can convince Merlin (either with my own pull request or from his own efforts) to add a couple of callbacks into his pipeline to get the UdonSharpProgramAsset that is about to be compiled so I don't need to copy all of the same Unity hooks that U# uses that end up competing and causing unnecessary recompiles after injecting the stubs

#

Hopefully he'll eventually add support for extension methods in external files which would make stub generation easier and recompilation more efficient

mental dawn
#

Trying to write my first udon script that isn't a Start() function...And I'm not getting very far. I've got my U# script attached to a cube, I can see my properties, etc. But, I can't interact with it in-game, in-editor, or in-play. I've tried public and private keywords for Interact()

Any ideas?

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

public class ResetButton : UdonSharpBehaviour
{
    public float fResetTriggerControl;

    public GameObject objectToToggle;

    public override void Interact()
    {
        fResetTriggerControl = (fResetTriggerControl > 0.5) ? 0 : 1;
        objectToToggle.SetActive(!!(fResetTriggerControl > 0.5));
        GetComponent<Renderer>().sharedMaterial.SetFloat("_ResetTrigger", fResetTriggerControl);
    }
}
native estuary
#

Think it should be "public override void"

mental dawn
#

That's what I started with, and just went back to, but no dice. (Updated code to reflect)

native estuary
#

Hows your collider look like?

mental dawn
#

It is enabled. Also, now, I can interact with it in game, but the Trigger Interact button is still disabled.

#

TIL you have to be in play mode before that button appears.

#

It is working for me now. Thank you πŸ™‚

mental dawn
#

Ok, I've got another question - I can place a canvas with a UI slider into my world, and shrink it down, and see it when I click "Play" but I can't drag it. I know this isn't technically an udon question, but I'm wondering if it might be related. What kind of hangup might I be having?

unborn hornet
#

Make sure the Slider component is enabled and that the containing canvas element is not on either of the UI layers.

mental dawn
unborn hornet
#

Default is commonly used. Another layer might be needed depending on the world's needs.
The UI layers are tied to the menu, so if you have a canvas on that, you can only interact with the elements in it if you have the menu open.

mental dawn
#

Bleh, I found it, it was in the canvas settings, apparently if it's a worldspace canvas, it still needs to be attached to a camera. Should I be attaching this to a conventional camera or specifically a VRC Camera?

#

Aah! That makes sense, thanks for the background.

unborn hornet
#

Im not sure if explicitly attaching a camera is required or not tbh... Never really tested it thoroughly. 🀷

mental dawn
#

If I don't attach to a camera it doesn't go.

#

I am still curious where the balance between using a VRCCamera is and having a scene camera?

#

Is it typical not to have a scene camera but only have a VRC Camera?

unborn hornet
#

Idk, i usually just attach the main camera to the canvas components and vrcworld prefab. Would be worth looking into till a better answer is given/found.

mental dawn
#

"Main Camera" = a standard camera or a VRCCamera?

#

(Also, I can't seem to slide the slider in VRC)

hardy fog
#

I've decided to request gamestate from room owner in a Start Method, that way late joiners get info immediately.

mental dawn
#

Just in case anyone else finds themselves spending 45 mins trying to figure out why slides no slide, it's because you need to add the VRC Ui Component to the canvas, not the component.

unborn hornet
#

"Main camera" as in the default camera object that is in a new scene.

mental dawn
#

Gotcha, thank you.

tired orbit
#

Is it possible to get the analog input from VR controller triggers?
For example, how far the trigger is being held down on an index controller

fiery yoke
#

Thats a little difficult to answer, since all Controllers have different mappings for which buttons are considered what, and then that goes through the SteamVR SDK part as well...
But I guess the answer is probably yes.

tired orbit
#

Where should I look for more information?
The docs for Udon seem very limited and I didn't see anything about this

fiery yoke
tired orbit
#

great, I'll check that out, thanks

patent rain
#

Hey guys making a super basic emptyish world in unity

#

since I'm on mac build and test can't work so I thouhgt I'd just give uploading a try

#

but I get this error Error updating content. Unity package upload failed. Failed to optimize file for upload

#

Any idea what it could be? All that's there is a couch from the asset store

cold raft
#

And its gone

ornate zinc
#

why are crashing avatars here 😦

tired orbit
#

I am trying to do a local translation. What input do I send the "relativeTo" param?
I can't find and appropriate "local" or "self" of type "Space" for the input

#

Update: I've worked around this by setting it to (Vector3, Transform), and then just using the same transform for the instance and relativeTo inputs

mossy anvil
#

how to reference multiple variables

#

do i need to use game object[]

scarlet lake
#

I'd use an empty game object to hold either true or false values, active = true and not active = false @mossy anvil

mossy anvil
#

I used an array of game objects

#

@scarlet lake

#

I’m going to sleep now

scarlet lake
#

Ah yeah I havent done anything with arrays yet

mossy anvil
#

I need to fix it tomorrow by using arrays everywhere kinda forgot

#

That I need to use them after as well

scarlet lake
#

What are you making that requires positions of cats and gravity haha

scarlet lake
#

Lmfao!!!! Well that answers that

sharp shadow
#

has anyone made any tutorial/example stuff for udon player audio control yet? looking to do a bunch of location based DJ audio volume control stuff

scarlet lake
#

i have no idea why

native estuary
#

PlayerLocal layer looks like that

#

You should not have PlayerLocal layer enabled and instead have MirrorReflection

scarlet lake
#

ah

#

thanks

scarlet lake
#

any recomendations for music players, like mp3 player?

#

@sharp shadow i know the basics on how audio works, might be able to help

sharp shadow
#

i havent started that part yet but im sourcing tutorial content and documentation for when i do

#

im making a club world with a global DJ booth thats muted/lowpass/etc in different areas and stuff

#

things like private talking booths and quiet rooms and stuff

scarlet lake
#

heck yeah, the audio componet lets you customize your audio in all kinds of ways

#

its pretty straight forward too

sharp shadow
#

yeah but i havent found any tutorial/examples on selecting players or defining zones and stuff

#

also you may like this for mp3 players looks super clean https://booth.pm/en/items/2269058

This is a Music Player for audio files that you can use in your Udon worlds! It will play like a MP3 player, allowing you to skip songs, repeat one, shuffle, and even has an active visualizer that you're free to color change at any point. I hope you enjoy! Note: This system requires UdonSharp, a

scarlet lake
#

well the zone would probably the sound distance right

#

if its when someone enters a specific area use collisionentertrigger

sharp shadow
#

yeah im looking for that kind of tutorial stuff

scarlet lake
#

an empty object with a box collider to define the area

sharp shadow
#

not alot out there

scarlet lake
#

yeah thats true

#

i keep complaining about the lack of doc like they have for sdk2, although, a lot of stuff is transferable

sharp shadow
#

conceptually sure

scarlet lake
#

so you can look at the sdk2 docs to see how audio works at least

#

its the same, the only thing different is graphing the triggers

sharp shadow
#

the collider box and oncollisionenter and stuff is probably the way to go

scarlet lake
#

yep

#

dm me

#

i just downloaded a pat the bunny archive for the mp3 player lol

sharp shadow
#

nice

scarlet lake
sharp shadow
#

just thinking about how you would say "turn down/off the audio of the person in zoneA when player is in Zone B" for muting global DJ audio in quiet rooms

scarlet lake
#

enabling and disabling the game objects

sharp shadow
#

right but its player voice/audio

scarlet lake
#

i'd put the audio onto an empty game object.. then in the graph: audiogameobject_variable > gameobject - getactive > unarynegation (changes the true or false value to the oposite) > gameobject - setactive

#

oh snap

#

i know i saw a mute players prefab in the example scene

sharp shadow
#

locally muting other players in a zone is exactly what im trying to do

scarlet lake
#

yeah dope just gotta be creative, collisionentertrigger and exittriggers to see if players are in the zone, then get creative with your nodes (look at branch) to toggle users mute or not

sharp shadow
#

its selecting other players that im not sure how to do

scarlet lake
#

the example scene should let you see the graph for muting its probably somewhere in the playerapi nodes

#

playerapi nodes

sharp shadow
#

yeah i'll have to take a look

scarlet lake
#

another thing is selecting the nodes is fustrating like why do i have to go under boolean just to put in unarynegation

#

why cant i just search unarynegation

sharp shadow
#

theres not a lot of documentation on playerAPI and nothing on how to select other players

#

literally only the audio component documentation

#

i dunno, i'll have to just play with it, testing it is gonna be a pain

scarlet lake
#

you can get other players

#

i have a game object in my main project just to play around and visualize graphs for these kinda things

#

no actual practical use in the world lol

#

so i think it would be under playerapi > get players and that should logically get all the people in your world

#

@sharp shadow

sharp shadow
#

and then i should be able to filter by players in a collider?

scarlet lake
#

probably

sharp shadow
#

hopefully

scarlet lake
#

its fun cause yall give me these problems to sort out, increasing my own knowledge

#

i will be a graphing god

sharp shadow
#

make prefabs for all these problems and sell them

#

STONKS πŸ“ˆ

scarlet lake
#

i do have an idea but idk if i should go public about it yet

#

getting players from inside a certain area might be quite a challange for me i'll work on it tomorrow

sharp shadow
#

because that way you can actually have a zone where the DJ is muted or muffled

#

lemme add you real quick so i remember to check again

stark adder
scarlet lake
#

for sure, i've been thinking about it since i've been having the worst time with syncing animations

#

it seems other people have figured it out

#

welp i bought songs for the first time in years lmao

patent rain
#

Hey guys making a super basic emptyish world in unity

since I'm on mac build and test can't work so I thouhgt I'd just give uploading a try

but I get this error Error updating content. Unity package upload failed. Failed to optimize file for upload

Any idea what it could be? All that's there is a couch from the asset store

native estuary
#

Might want to check if you have future proof publish on in the sdk's settings tab

scarlet lake
#

Vrcworld prefab

#

@patent rain

#

What's the most efficient way to handle multiple fish all following the same circuit but starting the circuit animation at different points?

#

i've animated one to get the circuit animation

patent rain
patent rain
scarlet lake
#

Theres a whole bunch of error messages when you first build too did you click all those?

patent rain
#

I didn’t see those I’ll try that thanks!

scarlet lake
#

i guess i could do one script and an array of fish

#

Yeah it's all like gotta move the scene to the vrc layer etc etc

#

@scarlet lake have to make a timer somehow

#

Maybe a while loop

#

Unless the fish are in different spots I'd just animate them all individually

native estuary
patent rain
#

Oh thank you!

#

Is there any way to build and tear from a Mac

#

It runs, but nothing happens

native estuary
#

Not really

#

Just gotta build and publish and then go test

#

Though actually

#

Using this you should be able to test sufficiently in editor even though you are on mac

patent rain
#

Woah good to know thanks!

patent rain
#

it uplaods now! Thanks!

#

but when I try to enter it

#

it says "It has not been published for this platform" any idea why?

native estuary
#

Are you trying to join it on pc or android? And which did you publish it for?

mossy anvil
#

am i doing smth wrong so it doesn't reset the selected things in the arrays to their reset points that are selected in arrays

patent rain
#

Nvm figured it out!

jaunty schooner
#

Is it possible to make something follow a player's hands and feet with Udon?

bleak widget
#

Quick question. Does syncing a VRCPlayerAPI variable work?

raven peak
#

no but you can sync a int and get the vrcplayerapi network id.

bleak widget
#

Yep, that is what I was working on rn as a workaround (:
Thank you for confirming

mystic tide
#

Question does samsung oculus work on vrchat?

#

Because im getting a vr headset and i just need to know if that one works cause its cheap and easy for me

rapid thicket
mystic tide
#

Oh! Thank you!

indigo finch
#

@scarlet lake timers can be done by having a variable 'time' and adding time.detla time to it. Then a simple if statement (branch) checking if it's above a certain amount and if so, deleting that amount off it. That being said, I haven't been able to get a branch statement working in regular udon without it crashing, but it works fine in udon#

#

Question: i have a bunch of pillows, but i want to make a toggle that disables the pickup function. I get how to toggle off an object, but not a script. Is there even a way? thanks!

fiery yoke
#

The pickup script has a "pickupable" boolean that is specifically for that purpose.

indigo finch
#

how would i call it?

scarlet lake
#

is there any TOS against player targeting by user?
Like if there is a player that harasses you and people in your world constantly i could teleport them to a specific spot and freeze them.
Have a sign that tells them to leave to their home world or to a new world

fiery yoke
indigo finch
#

would I need to do a gameobject array and for each go 'get component > pickupscript' and whatnot?

#

or is there a script variable?

fiery yoke
#

Would be simpler to have an array of Pickupables but yeah in Udon you need to iterate over all of them.

indigo finch
#

i feel dumb... i was looking for a c# script variable and didn't think there was a specific 'Pickup' variable. Thanks for the help! i should be good now

fiery yoke
scarlet lake
#

I guess but is this possible to have in public worlds rather than having to constantly get the world or instance owner?

fiery yoke
#

The instance owner is the person who created the instance. Just to be clear on terminology.

#

Its not the person that uploaded the world.

hearty perch
#

What about targeting by username? essentially a blacklist, created by the world uploader.

scarlet lake
#

yes i know hahah

hearty perch
#

Username A joins, Username A is on blacklist, Username A gets teleported to frozen position and world is inaccessible.

#

I have a strong feeling this is considered "harassment" and against the TOS, but I'm only curious how this would be handled.

fiery yoke
#

I had some discussion about that a while ago.
And the mainpoint against that is that you may not confuse a user about the operation or integrity of moderation of VRChat.
i.e. you can not make a user believe they can not enter your world.
Terms of Service are always intentionally written in a vague manor. And even if you dont violate any of the terms of service VRChat still holds the right to take action against you for any reason they believe is right. So without an official statement on this matter, I would be very very careful with that.

dapper lion
#

yea that seems a tad malicious to want to do so when you can easily block a person

hearty perch
#

I believe VRCHAT could implement a world "ban" system, where you could block a user from joining your world at all.

#

But again, it's leaning on the malicious side.

fiery yoke
#

Ofcourse they could. But its probably not in their interest. If a user is malicious they get banned from the service. If they are only harassing other people they get a "public ban" i.e. they cant join public instances anymore. Otherwise they are free to join any private instance of any world.

hearty perch
#

It's less about Private, and more about public.

#

If I had a user that is consistently harassing my community in public, I would want them to stay out of my world.

fiery yoke
#

Yeah thats reasonable. But its up to VRChat to decide whether they want to implement or even just allow such kind of moderation.
As I said, until there is an official statement about that I would probably not try to do it myself.

hearty perch
#

I agree with you.

#

Thank you for your time, Helper!

fiery yoke
#

@hearty perch
If you have someone in your community that repeatedly harasses people, then you should collect evidence that supports your concern and report them to moderation@vrchat.com
If they are a harassing people there, it wont be solved by banning them from your world, because they can just continue harassing people in other worlds/communities.

hearty perch
#

Absolutely, that's what we have done and what we will continue to do.

#

I was only giving examples. I'm curious on how TOS works for world uploaders.

fiery yoke
#

its vague, open for interpretation, and non-exclusive, for a reason ;P
Thats just how law-related stuff works.

scarlet lake
#

Heyyy ah aye what up fellow udon guy

#

Udon questions is the real general chat lol

warm mist
#

I heard you need to add something for the Udon SDK 3. For the new one. What is it?

#

It's like Cinema something.

#

IDK.

dapper lion
#

cinemachine? that should appear when importing the sdk3

warm mist
#

ok

mystic tide
#

Question does anyone know how to set up a samsung oculus to vrchat?

unborn hornet
#

@scarlet lake Just pushed an update for the autoplay URL. Let me know if that fixed it.
@dapper lion I'm curious on what issues you ran into with my TV.

dapper lion
#

ah yes

#

tried dming before acc

patent rain
dapper lion
#

@unborn hornet the videoplayer seems to have trouble differing who is the master of the world. i wanted to play something with a friend and the field of text did not budge for either of us. it also has a bit of trouble switching between videos. there is also no clear indication of any errors when i look for them. thats all

#

when i change between videos rapidly, the videoplayer will seize and no longer function

#

this was done with sdk 3 09.25.00.08 and 11.16.12.43

unborn hornet
#

Well, the master of the world shouldn't matter. It changes owner based on whoever inputs the video URL. Regarding error indication, anytime an error happens, it displays it in place of the user/domain text under the seekbar.
πŸ€” If I could bother you for a recording of your issue, I'd appreciate that cause I specifically added constraints to help mitigate exactly what you are describing...

dapper lion
#

ok, im also using your "v1.0" tv, just fyi if there was a fix in 1.1 or 2.0

unborn hornet
#

yea 1.1 was just an autoplay update. nothing directly related to what it seems you are describing.

dapper lion
#

ill see if i can bring a friend to the world that had the problem, it is currently running 11.16.12.43 udon

unborn hornet
#

Also we should probably take this to my assets server ||The invite link is listed in the booth/gumroad listing||

#

||Don't want to clog this channel and make momo mad at me πŸ˜‡ ||

cunning mist
#

@patent rain Are you in Play Mode while attempting this? Otherwise you should be able to edit it freely.

patent rain
#

that was it @cunning mist thank you!

cunning mist
#

πŸ‘

hardy fog
#

Is there a good way to generate four random numbers without duplicates on Udon? I was using Linq, and system, but those namespaces don't play nice. I have a work around but it freezes the game while it finds the numbers.

unborn hornet
#

Something like this maybe?

int[] nums = int[4];
for (int i = 0; i < nums.Length; i++) { // 1) loop through each item to generate the numbers
  int v;
  bool unique = false; // 2) init to enter the uniqueness checking loop
  while (!unique) { // 5) if existing number was found try again, otherwise move on.
    v = getRandomNumber(); // 0) put whatever logic/method call that is needed to generate a random value here
    unique = true; // 3) always assume that 'v' is unique...
    for (int j = 0; j < nums.Length; j++) {
      if (nums[j] == v) {
        unique = false; // 4) ...unless an existing number is found.
        break;
      }
    }
  }
  nums[i] = v; // 6) assign the value
}
patent rain
dapper lion
#

ummm, have you reimported the sdk? and is that even the right unity? @patent rain

patent rain
#

yeah it is

#

after reimporting it looks like all is well again!

dapper lion
#

huzzah, ive never seen a unity skin like that before so i was curious

scarlet lake
#

That's happened to me before

#

I remember there was a certain prefab that made vrc builder yeet out of existence and when I deleted that object it came back

#

Unity is hella weird sometimes

spring verge
#

Can you use UDON for User Interfaces?

fiery yoke
#

Depends on what exactly you mean with "User Interface"

spring verge
#

Which UI system is VRChat currently using?

#

I suppose the regular UI system with the SDK limitations would do fine for neumorphism but I'm curious to know if you could replace the current UI with something made with UDON that has effects, 3D geometry etc.

stark adder
#

Do we have any Status for new sync system.. ? I remember Momo saying at end of September that its gonna be within weeks but its almost December and I have not seen a single mention of it since then..

fiery yoke
fiery yoke
stark adder
#

.

gusty geode
#

huy guys I just merged my steam account with my new official vrchart account

#

but sdk still says that I dont have permission to upload worlds

hushed gazelle
#

I'm trying to replace an existing SDK2 world with an Udon version uploaded using the same world code, but it's telling me it's an Unpublished world in the VRCSDK. Is there something weird with world codes between Udon and existing SDK2 worlds, or do I need to go digging into my project looking for local issues?

gusty geode
#

hey I can't get passed this screen in udon graph

cold raft
#

yes it do be like that, if you have an udon behavior with a udon graph script on it then if you double click that and choose open graph you will see the graph in this screen otherwise you see this

gusty geode
#

thgere is no open graph

cold raft
#

a cube udon assembly program is not a graph

gusty geode
#

ok I fixed all the problems now I am having a problem were the unity crashed when I play in editor

dapper lion
#

yea that happens sometimes

gusty geode
#

its doing all the times that I play

dapper lion
#

errors son?

gusty geode
#

zero

#

it just shuts down

#

I am gona try tro copy the project and delete all packages and reinstall

gusty geode
#

I can't side walk when testing my maps

#

like the "a" and "d" key movment

scarlet lake
#

Does VRC not support Animation component? My fish do their nice swim animation when I hit Play in Unity, but in VRC they don't animate at all

severe tree
#

@gusty geode in the udon behavior that holds the Jump height and the Walk speed (usually with the scene descriptor if you used the prefab) you also need to adjust the strafe speed. It defaults to 0 which is why you can't move with a and d

gusty geode
#

scene descriptor?

#

ah ok ok thanks man

fiery yoke
gusty geode
#

hey guys so for example I publish a world, them if I update it later will the last version be deleted?

dapper lion
#

yes?

gusty geode
#

but how does it work? like it has to have the same name?

fiery yoke
#

Every world has an ID. It says the world ID in the Scene Descriptor after you uploaded it. As long as it has the same ID it will overwrite the last uploaded world with that ID.

gusty geode
#

ok cool thats more helpfull

#

thanks helpfullhelper

#

ahaha

gusty geode
#

were can I find documentation on how to implement audio clips to my worlds?

bleak widget
#

Is there a way I could emulate something like the OnTriggerStay event for a pickup so that it is called each frame that the item is held? Or would I need to just use the update function to check if it is held?

fiery yoke
#

second

bleak widget
#

Rip. Oh well. Thanks anyway

#

Is the VRCPickup currentHand still not implemented?

mortal star
#

I feel kinda dumb... I'm trying to use Vector3.Reflect but it seems not to work and I can't see why

fiery yoke
#

Make sure that youre in the right space

mortal star
fiery yoke
#

The velocity is likely in normalized local space which means that it if you were to visualize it, it would start at world space origin, So make sure that the headDist vector also follows that same logic.

mortal star
#

headDist is the distance from collider to my head so I guess It is also local space

#

I think the reflect should do something even if the vectors would be wrong right?

fiery yoke
#

a distance is a scalar value. So that obviously cant be right if you use it as a vector then.

mortal star
#

I'm sure I'm using a vector3, i might have dumb naming xD

#

headDist is vector3

fiery yoke
#

Good naming is a big part of programming. Not just because it makes it easier for yourself to follow your own logic, but especially when asking others for help.
Just as a tip

mortal star
#

I know, I was changing what kind of value the function was returning but I changed it later and didn't change names for parameters

fiery yoke
#

One thing is that the reflect function probably expects normalized vectors

#

if the player velocity is 0 on all axes then it cant be normalized and the function will not work properly or at all.

mortal star
#

I perform that function while player is in air and chance for him having 0 velocity is quite low

fiery yoke
#

Also not sure how reflect behaves if the reflection normal and the reflected vector are "similar" in their direction

mortal star
#

I suppose I can swap the direction of the inNormal one adding a minus and see if it changes

#

I'll see if normalizing tempVector does anything

#

I normalized wrong one

#

I was supposed to normalize headDist

#

and that totally worked

#

thanks

fiery yoke
#

Heres a few tips:
Do not name anything "temp" unless it really really really is only temporary.
Name it playerVelocity.
Do not name it headDist - name it headDistance. And dont even do that. Its not a distance.
HeadToCeilingVector would be much better suited.

#

Makes your code more readable, more understandable, and gets you less confused about what youre even doing there.

mortal star
#

Ok

fiery yoke
#

Yeah thats intuiton you get when youre a little more experienced with linear algebra. Most Vector methods expect normalized vectors when it comes to these sort of things.

mortal star
#

I see

peak umbra
#

Using Udon Graph, my addition node returns null for some reason. It have 2 valid input. The ? mark gives me an error message. Anyone know how to add 2 vector3s together?

scarlet lake
#

anyone wanna see an object reset graph that i figured out after taking a dab

hearty perch
#

Anybody figure out climbing yet?

dapper lion
#

think someone did, cr who did it though

inner monolith
#

i've got a world with weapons in it and when they're swung and make contact with a collider it sends the player flying. Any idea why?

true valve
#

How do you enable strafing in an Udon world? I've tried to reproduce standard world settings and I've set strafe speed on local player?

hardy fog
vale current
#

Hello, I need to know, are custom render textures supported in udon worlds ?

true valve
#

@hardy fog I believe I'm blind or something... but I can't see it..?

#

@hardy fog You know what.. never mind πŸ˜„

#

Last time I did Udon I had to make the world settings script myself, but apparently I didn't need to now

mighty fjord
#

Hey, so I was wondering how I should approach storing 'levels' for a music/rhythm game. I can imagine that instantiating an entire prefab for each 'level' wouldnt be the best way to do it.

#

So I was thinking of using a text file, maybe even a midi file, or something for each level instead, which would include some meta stuff and all the notes for that 'level'.

cold raft
#

I would put that in udonsharp I think

mighty fjord
#

You mean coding the levels into individual scripts?

cold raft
#

Yes you could have the spawn logic in one object and then just trigger that object by an custom event

mighty fjord
#

Yeah that's essentially what I want to do, but I need some good way to store all the info for the levels themselves, and then read that to instantiate notes at the right time

vale current
#

weird

#

I have a dynamic water setup made with a custom render texture and it works perfectly in unity

#

but not in vrchat

#

ok for some reason it's my camera

#

I have a camera with a render texture

#

and the texture is just black in vrchat, while it works in the editor

#

ok I found out why, I used Legacy vertex lit mode on the camera to make it cheaper but this make it not able to render anything at all

scarlet lake
#

Why doesn't pickup respawning work in the editor play mode?

dusty galleon
#

Hello here! Currently I'm creating asset for SDK 3.0(Udon), but I don't know how the dynamic image from web working on UDON (which is similar like on vrc_panorama in SDK 2.0). I heard it is updated for Udon, but I can't find how to do it.. does anybody knows about this?

gusty geode
#

is it normal to take some time my world to be updated in to the world list?

#

or is it becuase I can only update once per week?

gusty geode
#

even on content managerr with information fetched it will does not update the map to the servers

gusty geode
#

I made a copy of the map and updated that on, is it because it is not the original?

pliant turtle
#

hello

#

I'm sorry for the inconvenience, but I can't start VrChat

#

gives me a unity error

#

gives me a unity error

sharp oak
#

Check the integrity of your game files

vagrant coral
#

is there a simple way to instanciate an object - the same object for everyone that can have synced position? I only seem to manage to make a local one πŸ€”

gusty geode
#

guys I manage to update the world an in browser says corect hours of update, but when I login in to the world its the same

#

any one had problems like this before?

unborn hornet
#

Runtime Network instantiation isnt a thing yet.
You will need to use the pooling method instead @vagrant coral

full hemlock
#

what happened to the poΒ΄s panda avatar in the big alΒ΄s avatar corridor

floral dove
gusty geode
#

guys I am havint 2 warning that I can noot discover were they from

#

The referenced script (Unknown) on this Behaviour is missing!

#

and

#

The referenced script on this Behaviour (Game Object 'VRC_PlayerVisualDamage') is missing!

#

is this important or can they be ignored?

hoary echo
#

You can ignore those. At least.. I have, and nothing has exploded yet

gusty geode
#

can't seem to find were is the root of my problem then

unborn hornet
#

Not sure on that one. I wish you luck on finding the noot root of the problem.

scarlet lake
#

hey anyone know of a udon compatable glowstick prefab?

glossy sky
#

Hello, I was wondering if there was a way to alleviate an issue I'm having with buttons which is-- any buttons I have that are inside a trigger can't be pressed on in VR but in desktop, they work fine. So fox example-- I have buttons on a vehicle that don't work if the vehicle goes into a "combat zone" trigger that enables the weapons. In desktop, there is no problem but in VR, they can't select the buttons.

gusty geode
#

guy I found this on my the editor logs "Native extension for Android target not found"
this does not sound normal, any sugestion?

#

and
"Native extension for WindowsStandalone target not found"

primal ocean
#

If I get the vector3 of a parent object, set it as a vector3 variable, then at a later time send the vector3 back to the parent to essentially reset its position will it also reset the position of the child objects?

scarlet lake
#

yes

primal ocean
#

Thank you, that helps a ton

#

Would I need to set the Sync position option in the udon behavior component to have this be sync'd? Or do I only need to make sure the variable for the transform of the object is set to sync'd?

unborn hornet
#

The component for which the transform's position is being changed needs to be sync'd

unreal marsh
#

Im looking into visualizers. I was curious if UDON had anything for sampling say a youtube link, and what readings it can have.

compact delta
#

anyone able to help me in dms try to make this weird bike thing back into tpose? i looked up youtube videos but nothing is working

vapid yoke
#

furry go zoom on invisible motorcycle

compact delta
#

im just trying to fix it

#

ive asked everyone i know but gotten no responce

fiery yoke
compact delta
#

ok..

robust rivet
#

How can I setup something to be applied for all players instead of just local?
To be exact, I am entering a link into a URL input field, then hitting a submit button which starts loading the video.

I am using a tutorial to get this video player into a world (namely, Vowgen's one) and I have it working, but again only locally.

fiery yoke
#

Networking is tricky. I think Vowgan wanted to make a video for networking video players at some point too, but probably hasnt gotten to it yet.

robust rivet
#

Ah so it would be part of the networking node... Alright, I'll keep an eye out for it.

scarlet lake
#

whats the plugin thingy to update changes while live in vrchat

ancient spindle
#

Hey guys, i followed vowgans tutorial for door animators in udon. i have everything working, but my only problem is the door animates on load as seen in the example, which i would rather not have if possible. is there any way to fix this? i figure it might be something to do with the transitions. but im not sure.

scarlet lake
#

set the default node to the close animation and turn the boolean variable off

#

@ancient spindle

ancient spindle
#

in the udon graph?

scarlet lake
#

in the animator...

ancient spindle
#

you mentioned "node" which confused me.

scarlet lake
#

that way the door closes when you load in, since the variable you set will be checked off by default

#

then when your script toggles it true, door opens

fiery yoke
#

With "node" they meant an Animation State inside the Animation State Machine.

ancient spindle
#

that is how its set in the animator already. i dunno what you mean by the boolean variable though

scarlet lake
#

i forget where it is, but you can set a variable, that you can toggle true or false and the animator reads it

#

rendering the animation to open or close the door

silver forum
#

Why is it that Quest avatars and PC avatars are not able to see each other unless they are specifically tailored to be cross platform visible? Why isn’t there an option to see all avatars and worlds with the sacrifice of a little frame rate?

fiery yoke
sullen musk
#

Pls get new text channel on CZ lanhuage I'm not speak English very well

silver forum
#

Are there any plans in the future to upgrade it to integrate all players?

sullen musk
#

Yeah

#

Pls get new text channel on CZ lanhuage I'm not speak English very well

silver forum
#

What would need to be done in order for this to be a thing? I don’t like the idea of downloading stuff just so I can see my friend’s avatar

sullen musk
#

Ok i for this to

silver forum
#

I have both consoles and I have to say that I’m kind of sad how much the Oculus headsets feel when it comes to the game. If there is any testing needed, I will always be open

fiery yoke
#

This channel is for asking questions about udon. If you want to chat then go to #general-media

silver forum
#

The question was are there any plans on upgrading the systems or really anything to fix this lined up in the near future?

fiery yoke
#

questions about UDON - Udon is VRChats in-house scripting language. There is a reason its not just called "vrchat-questions".

silver forum
#

Oh this is coding questions? My bad sry

tall vault
#

It's a Unity limitation rather than a VRChat one, it's not trivial to use world and avatar assets from other platform builds

ancient spindle
#

@scarlet lake isnt this the boolean variable? if it is, it was already unchecked.

#

its the only thing i could find in the animator controller. i even looked in debug settings. lol

scarlet lake
#

yeah that's the variable you set true or false. you change that on the arrows in between the states

ancient spindle
#

alright i found what you were talking about. its a condition in the transition. however setting it to false did nothing, and setting it to true stopped it from animating on load but then the door jitters initially when you first interact with it in game.

fiery glen
#

How can i use like StartCoroutine in Udon?

#

VRCSDK 3

fiery yoke
#

You cant. Coroutines are not supported in Udon.

fiery glen
#

So..
how do I make a certain animation finish and then execute another animation?

fiery yoke
#

Animation Events

fiery glen
#

Can I use while(!anim.GetCurrentAnimatorStateInfo(0).isName("Complete")) ?

grand temple
#

Probably not. Udon doesn't have any kind of wait or sleep function so unless you change something directly in that while loop to change how it's evaluated, it will just throttle the cpu to the max evaluating it as many times as possible, until udon forcibly times it out after 10 seconds

#

If you want to just do something as long as that's true, then you should add an if statement to the update method. Update happens every frame

scarlet lake
#

Hey so I'm outputting a camera to a texture on a cube but it's like low def

#

Is there a way I can like make it higher definition

#

ah turns out its the size variables

scarlet lake
#

hiya udon peoples, is there a simple way to send a bunch of variables over the network, other than putting stuff into a string to be synced? it need to be sent all at one go

hardy fog
hardy fog
scarlet lake
#

unfortunate 😦 just need to send like ~40 bytes and my project would be done

scarlet lake
#

could probably send a bunch of stuff at once with a loop

#

i recently figured out arrays and loops and lemme tell you

placid kelp
#

How to network sync 'Cloned Object'?

edgy moss
#

Does anyone know what I'm doing wrong here? I just want it so that if the player is in VR, a certain object appears. I know I'm close, but I think I'm missing a piece. thanks!!

scarlet lake
#

you have nothing STARTing the script

#

@edgy moss

#

also you need a branch for true or false outputs if the user is in vr

#

Bool holds the true or false values

edgy moss
#

lol I'm so new to all this, forgive me

#

so how do I start the script? I want this all to happen pretty much as soon as the player spawns

#

oooh

#

would Event On Player Joined do it?

keen imp
#

Where did udon-general go?

#

Oh well

#

When am i getting my TMProUI :l

#

There is no reason for it to not be here it has identical methods

#

it just works 10 times better in unity UIs

#

and has bloody unicode support

fiery yoke
#

Β―_(ツ)_/Β―

keen imp
#

😑

edgy moss
#

is there a node that reverses a bool? one that makes a true untrue, and an untrue true?

#

for instance, I'm using the node IsPlayerInVr to SetObjectActive. but I want if the player is in VR to set the object INactive

fiery yoke
#

Boolean.UnaryNegation

keen imp
#

:what:

#

Thats a very weird method name

fiery yoke
#

Its not at all

#

Unary is the mathematical term for an operation that has a single element as its input

#

The term for an operation with two inputs (such as Addition) is called Binary

edgy moss
#

awesome thank you πŸ˜„

grim pebble
#

Anybody knows how to sync objects (VRC_Pickup) between Quest and PC?

fiery glen
#

I publish a world to VRchat, but I did not display Mine on my world menu tab
I clicked on the world link to open it and I can’t enter in vrchat, I will enter home

#

My world is private

#

is that reason? or Trust level?

dapper lion
#

errors?

waxen breach
# edgy moss would Event On Player Joined do it?

This i think is what you will need. Basically you put this on a udon behavior then when a player joins it grabs their VRCPlayerApi info Checks to see if their vr. If the branch statement sees its true it will show the object. If it does not see that their in vr it will do nothing. Also make sure the game object variable is public so you can set what object you want it to affect.

edgy moss
#

geewhiz, thank you!!

#

i really appreciate that : ]

waxen breach
#

No problem. I like using udon and like helping other people.

edgy moss
#

i'm learning a lot about coding through using udon. it's such a great visualizer to better understand how coding works

crystal torrent
#

hello everybody ive recently brought the oculus quest 2, but for some reason it wont let me link it through steam. When i click device it shows the head set but the controllers say OFF even though they are working. Any help would be appreciated thank you

unborn hornet
fiery glen
#

How to setActive object Sync ? in SDK3

lapis trellis
#

how does this return?

Networking.LocalPlayer.GetPosition();
keen imp
#

the xyz cordinates of the player position on the world

#

if you meant class your ide should tell you

#

im not entirely sure

scarlet lake
#

Can someone help me out in here, still a noob in unity but whenever i try to import the SDK3 Worlds package it yeets me this message
whatever i press when it imports the udon has 300+ errors

keen imp
#

well uhm get started with using the right unity version

#

because that aint it chief

scarlet lake
#

bruh moment

#

anyway thanks

keen imp
ancient spindle
#

does anyone know if udon sharp conflicts with certain shaders? im running into an issue where i am unable to create a U# script after importing some shaders, like poyomi for example.

gusty geode
#

hey ppl any idea how to fix this?

#

my sky box is kinda far away so I had to reference my main camera

#

but it gives me this circular efect

#

I am not finding a way to remov it

valid basin
#

It seems like networking is broken (suddenly?) between PC and Quest

#

it is leading to the chair bug for example

#

somone sits down in a chair and gets teleported across the map to another chair, for PC users

#

or i have a deck with cards that can be shuffled, for PC users they all see the same cards, Quest users see cards consistent wich eachother but not with PC

#

Or pickup objects, they are synced between users of platforms too but not between PC and Quest

#

is there a way to resolve this or is this to do with early development phase of Udon?

mossy anvil
#

networking in vrc is not really poggers in general

#

so i don't think u can fix it

dusk lintel
dapper lion
#

simplelightprobeplacer doesnt work

lone star
#

whats udon

#

?

cold raft
#

the most powerfull world scripting engine ever to exist!

unborn hornet
#

||Debatable||

scarlet lake
#

Will udon ever be coming to quest?

severe tree
#

Considering that Udon is built into worlds, I'm pretty sure it's already accessible to Quest users.

valid basin
#

it already is working with quest worlds @scarlet lake

#

although barely apearantly πŸ˜›

floral dove
gusty geode
#

is occlusion culling suported?

severe tree
#

@gusty geode Yes

urban pivot
#

Possible to run a check to see if an object is already enabled, then enable it locally for a late-joiner? I'm having trouble with syncing global objects.

We have a script running that will globally toggle an object on/off but sometimes has issues with late-joiners, and if it gets desynced in networked traffic it breaks.

floral dove
#

@urban pivot - are you using a Synced Variable to toggle the object or a Network Event?

urban pivot
#

Using "SendCustomNetworkEvent", this will fire when a player uses the Button.

We had for backup, something for "ONPlayerJoin" to fire an enable just in case.- But that would also make it hard for the person(s) operating the button to close or open the gate.

floral dove
#

if you want something to work for late joiners, use a Synced Variable instead. This way, someone joining in after the fact will have that variable set properly in an OnDeserialization event soon after they join, and can update the object to match.

#

The way it works is the Owner of the object changes the variable, and everyone else receives the new value in an OnDeserialization event.

urban pivot
#

Is there a pre existing example inside VRC SDK? - I may be overthinking this.

floral dove
#

sure - take a look at the UdonExampleScene and the Readme alongside it. It has multiple examples of using Synced Variables.

hardy fog
#

Can't you just ask the world owner/master for gamestate in a Start function?

floral dove
hardy fog
floral dove
# hardy fog So if I have variables marked as synchronized, when they are updated on the mast...

Basically, yes - (pushes glasses up from nose) -technically, OnDeserialization is called regularly by our underlying network layer when you receive the latest data. You can use the event to either update all objects you don't own based on the latest variable values, or you can check each new value against a local copy that you've made to figure out exactly which value has changed, and only update that object. You should ignore 'Master' for most purposes and think instead about the Owner of a given GameObject, as that isn't necessarily the Master of the instance.

#

If that's too much information - just use the OnDeserialization event to make any changes you want based on synced variables.

#

Keep in mind that OnDeserialization doesn't fire on the Owner of the UdonBehaviour, so you'll need that Player to make their change locally.

lethal isle
#

excuse the messy web. trying to make a graph that toggles a list of objects, disables a list of other objects, and triggers a audio clip all in one go, but I'm a little stuck cause it doesn't work at all. anyone got any advice for what I might be doing wrong?

urban pivot
#

I'm looking at all the documentation right now.. I would need to have it run a check on every object, then enable it if it finds one previously enabled.
How would I create a "Variable Value" per object? Would this be an int set to 1, or 0?

grand temple
#

@lethal isle a couple things - you're only accessing the first index of the array. You need to plug in the index of the for loop into the gameobjet[] get node

#

Also you're doing getactiveself on the entire array, should be on the specific element within the array

#

Also you're doing the second for loop inside the first and the audio inside that. You should have a block at the very start so you do one for loop, then the next for loop, then the playoneshot

hardy fog
urban pivot
#

The problem I'm having is one of, I have a script that reads a player name, then assigns them an object. I want this object Enable /Disable to be Globally Synced for Late-Joiners too.

Currently the script will only show the object if you are already in the world, and a player that is on the list joins- both will see it.

#

But if I join the world first, than another- the last will not receive the Global Toggle. Testing onDeserialization now;

dapper lion
#

did vrchat just update their servers for udon?

#

all intel users currently using my video player are reporting very low fps counts and im not sure if a new cache system was implemented or something

floral dove
dapper lion
#

ok... something mustve happened avpro's side

floral dove
dapper lion
#

the cache is reflowing rapidly now for some reason and idrk how to fix that via udon or U#

#

and its only intel players, thats the only difference ive picked out from this phenomon

floral dove
dapper lion
#

ive somehow fixed it. i made a temp script that works when a url is inputed to stop the cache reflowing. so far it is working now

flat musk
#

Is there any documentation that describes in detail what synced variables do and their options box that says "none, linear, smooth?"

From what I can guess it is sending variables over the network to other players but I am not sure what the linear and smooth do other than interpreting animation information. I could be wrong about that and it would be nice if this foundational function had something I could reference.

scarlet lake
#

I have no idea what any of this s$%t means but I better find out if I'm making spider lair for quest anytime soon

grand temple
#

That's the interpolation mode. You only receive data roughly 5 times per second so that properly determines how it behaves between the frames where it's not getting any updated data. For something like a bool it's not going to do anything, it's just for numbers and vectors

jaunty schooner
#

I'm making my first Udon world. I haven't even touched the graph yet. How would I go about setting the gravity? I think with SDK2 it was a player modifier script component you added to VRCWorld. How would it be done in Udon?

paper gate
#

there is an example on the VRCWorld prefab included with the SDK

jaunty schooner
#

How do I open it?

#

I assume you mean the UdonBehavior on the VRCWorld prefab is what I want to look at but double clicking it doesn't open it as expected.

native estuary
#

Looks like cinemachine failed to import causing things to break

#

You can either restart project which should make it import automatically or manually get it from the package manager

jaunty schooner
#

By restart project do you mean reload Unity, or start over from scratch?

native estuary
#

As in just close unity and reopen

jaunty schooner
#

Trying that now...

#
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)```
Well, it loaded... gonna see if I can open the graph, but right off I get that error.
#

The Open Udon Graph button still does not appear and when I try to click on the script it says in the inspector that I have to fix any compile errors.

native estuary
#

Check your console again, press clear once and show a new screenshot

jaunty schooner
native estuary
#

If you check the VRChat SDK dropdown is the control panel button gone?

jaunty schooner
#

Hm... something's wrong, I'm gonna reload it again... There's nothing on the VRC SDK menu.

native estuary
#

Try right clicking on the vrcsdk folder and pressing reimport

jaunty schooner
#

Well, it's doing something when I reloaded it again... It's processing all my prefabs and this Thry Settings window whatever that is popped up. What is that?

#

Oh wait it says Thry Shader Editor?

native estuary
#

If that popped up that would mean you have poiyomi shaders imported in the project

jaunty schooner
#

Ah okay. I do.

native estuary
#

But yeah if it popped up everything should function now normally

jaunty schooner
#

Okay... It's working, but I don't see a gravity setting and I have no idea how to add one...

native estuary
#

I don't really do udon so sadly I can't answer that question from the top of my head

jaunty schooner
#

I think I found it. I assume this is the right way to add the setting. I just clicked on the circle and it brought up a search for me.

native estuary
#

Yep that looks about right just gotta define the strength as well like the others have it

jaunty schooner
native estuary
#

The white wire is what activates the set

jaunty schooner
#

Oh wait... the other circles seem to be set from that pink blob.

native estuary
#

The pink blobs are to expose it in the inspector

jaunty schooner
#

So that's probably why it's not ticked.

#

Yeah I thought that might be the case. I feel like gravity ought to be there by default.

#

Little more important than "strafe speed".

native estuary
#

Also good to note that the default strafe speed is 0 currently

#

(pending vrchat update to fix it to not be 0 by default)

jaunty schooner
#

Hmm... Strafing... Is that only used by desktop users? What should it default to?

native estuary
#

When strafe is 0 you can't move sideways at all and can only move forwards/backwards

jaunty schooner
#

Well that's a serious bug... how is that still in there?

#

I mean having every Udon wolrd uploaded be broken by default is kinda bad.

native estuary
#

Strafe was added only recently

#

Like I mentioned above momo fixed it already but the fix just needs to wait for a release

jaunty schooner
#

Only recently? I'm pretty sure I've been able to strafe all along in VR.

native estuary
#

Oh bad phrasing I mean it was added to be changeable by udon

jaunty schooner
#

Ah... Still... It's weird to have different walk and run speeds in the first place with an analog stick. I mean how does that even work? Do they divide the analog 0..1 into 0..0.5 and 0.5...1 and not have smooth transition in speed? And one would expect with strafing there would also be walk and run speeds at the least. And really, with that as well I'd expect a single top speed, and then in your animator you would have transitions based on the current speed for your two different animations walking and running.

native estuary
#

Hmm haven't really thought about it that much ever

#

I just usually keep it in line with walking and it hasn't felt much off in my worlds

jaunty schooner
#

Do I have to hit compile when I'm done or is that just to check that its okay and will compile properly when uploaded?

native estuary
#

If it says OK you should be good but then again I haven't touched udon graphs much at all so not the best person to answer the question

earnest acorn
#

First time udon. No Open button

#

did I do smth wrong?

jaunty schooner
#

Well thanks for the assistance, I think I'm all set for now, building my world to upload...

#

@earnest acorn I don't think the open button appears there. You get a button when you have an Udon script on an object like VRCWorld prefab. And maybe you get one when you create a new UDON script?

earnest acorn
#

nah nothing happens when i create a new script

#

got it fixed. im stoopid

unborn hornet
#

It's a learning process

unreal marsh
#

Feel free to tag me but is there a way in udon to sample audio so it can affect animation, color, or metrics? I am trying to build a music visualizer and this is a key thing im struggling to find the answer to. Feel free to tag me in reply

jaunty schooner
#

how do I make pickups global?

fiery glen
#

Can enter the private world by my publish?

#

Always redirect to home

#

Is there any problem?

valid basin
#

So same scene but diff project if i can put it that way

lyric hamlet
fiery yoke
smoky fossil
#

So i am trying to make a toggle the is operated via a boolean the toggles when ever the object is interacted with. I new to udon so I dont know exactly which nodes to use. I just cant find any info on this on the docs or google.

smoky fossil
#

did some experimenting and got it working. Putting this here for anyone else who has the same issue

dapper lion
#

im not sure what is causing this to happen in game

#

and its only that wall mesh

unborn hornet
#

Interact toggle without needing SetProgramVariable (I try to avoid it in general if possible)

#

In all actuality, this is probably more "correct" as setting the bool to the new value before doing anything else is what usually happens.

floral dove
unborn hornet
#

Is there a built-in way in udon to know if it's running on the PC or Android build? I know a custom variable could probably be set for that... just wondering if something for that is included already...

floral dove
unborn hornet
#

Thought so. Thanks.

olive tiger
#

Heres one for udon so i've got a block of branches, and essentially they run checks if a key is pressed on an update (couldn't come up with a way to run the event only if a key is pressed). now it activates the object just fine if it's disabled. However only in desktop does it readjust the rotation, VR doesn't work, i've tried both the way I did for desktop and using tracking data, neither have brought any success, anyone got any ideas?

valid basin
#

Also i am making separate project because the materials need to be changed for android to standard (lite) shader

floral dove
#

oh wow! Must be a big world, never seen it take so long. Yes, you'd need to change back to Windows. There are Unity Assets that cache your library to make this switching quicker. If you file a Canny with your unique setup, we can test out the multiple-projects issue and see if we can reproduce the sync issue.

cinder forum
#

Hmm, i seem quite a bit stuck is anyone available to answer what they're talking about?

dusk lintel
#

syncing animations work on udon?

scarlet lake
#

How should I be limiting the range on chairs? I can click at least one of these chairs from a mile away in VR

last steppe
#

huh, I coulda sworn it had a variable for that.

olive tiger
#

Just in case anyone answers my earlier question, I split it to a seperate behaviour and used y only, that didn't work, it's because I forgot to call the W variable. works now. πŸ˜„

severe tree
#

@scarlet lake if I'm not mistaken you right click on the inspector tab and go into debug mode. From there when you scroll to the Udon Behavior you should see a range option, as well as the option to change the text from Use

scarlet lake
#

πŸ‘€

#

huh

#

interesting

#

you advice is sound and useful, but the number it gives me does not match up with what i get in-game

#

which is nothing new, but it's always been a desktop exclusive issue afaik

unborn hornet
#

I believe there is a canny open about the topic of VR being able to interact from beyond the specified proximity. Busy atm so I cant confirm directly, but I recall seeing discussion about that somewhere.

#

CC @placid spear @fiery yoke on above.

jaunty schooner
#

I found the Udon docs on collisions, but is there really no way just with Unity's built in physics to have a player collide with, and move an object? https://docs.vrchat.com/docs/player-collisions

#

I made a world yesterday and I failed to put empty scripts on my pickups and set them to sync, thinking I only needed to add vrc_pickup to them, so every time a player picked up an object and threw it, it was local only... But in some cases, I found players were able to knock around objects remotely as well and I'm not sure how they managed that. Perhaps they bumped into an object which was currently moving? Or had colliders on their hands? I wonder... if the object only needs to be moving for them to interact with it like a physics object and push it around, could I get around this by applying a small force in the direction of their movement to the object when they bump into it to then kick start it into motion?

cinder root
#

idk if this is the right channel for it, but I have a question. Do viewpoints differ in sdk2 worlds and udon worlds? I was testing some viewpoints, and with .05 on the Z axis (middle of the model's eyes, sphere clipping halfway into the face) of the descriptor. In an sdk2 world, the viewpoint was a tiny bit further from the face, but enough that it seemed weird. In an udon world, it was perfect, where objects only clipped into the viewpoint when going past the face mesh. Is that just me, or a general udon thing?

severe tree
#

I've noticed that my viewpoint does seem to change positions between certain worlds as well, but I never thought to check if that was an Udon related issue or not. I thought it was just due to something that was going on with VRC not necessarily the worlds.

cinder root
#

I noticed today in Murder 4, which I assume is an udon world

#

if im wrong then it complicates the issue more

severe tree
#

You can usually double check a world by jumping and then trying to move while in the air. If you float it's more than likely an SDK2 world (even though you can toggle legacy movement through Udon) but if you fall somewhat realistically then it's an SDK3 world

cinder root
#

Cant jump in murder 4 lol

#

so i couldn't test that

severe tree
#

Ope.

cinder root
#

but it's Jar so i assume it is udon lol

#

but regardless it's really weird that it does that

#

and it's annoying too bc i started mass updating some models (didn't get very far, fortunately) but now idk if i should be using a viewpoint that's perfect in an sdk2 world or sdk3 world

#

Also, inversely I tried .015 on the Z axis, which is somewhat inside the head, and it's perfect in sdk2

#

but is too deep into the face in udon

scarlet lake
#

@jaunty schooner you need a udon behavior component, doesnt need a script or graph, but set it to sync position

#

I don't think the murder games are udon

#

Theres no real way to tell if a world is sdk2 or udon, for the most part they function the same

jaunty schooner
#

@cinder root Are you sure the issue isn't related to the near clip plane setting for the world rather than anything to do with your eye position? You mentioned clipping, which I suppose could be related to eye position, but generally I assume issues with objects near to you being clipped away, such as your hands when using a tiny avatar, are related to the near clip plane for the reference camera being left at the default of 0.03 rather than being set to the minimum of 0.01.

cinder root
#

πŸ€” Didn't know that, but maybe

#

Thanks for telling me that because the sdk2 worlds that my friends and I usually hang out in are some small worlds I made

#

And most of them don't even use a ref camera so I might actually try and see

scarlet lake
fiery glen
#

2020.12.04 14:11:06 Error - [API] [23, 400, Put, 2] Request Finished with Error!
https://api.vrchat.cloud/api/1/joins?apiKey=JlE5Jldo5Jibnk5O5hTx6XVqsJu4WJ26&organization=vrchat
{{"userId":"usr_cbb68b83-a172-47e8-8902-e7e4adf58b2c", "worldId":"wrld_16522a15-0791-4cb2-b1fe-c98e5d442423:0 "}}
No Exception
{{"error":{{"message":"'0 ' is not a valid instanceId","status_code":400}}}}

2020.12.04 14:11:06 Error - [ApiWorldUpdate] Error posting join:
'0 ' is not a valid instanceId
wrld_16522a15-0791-4cb2-b1fe-c98e5d442423:0

#

What's wrong?

#

I can't enter my private world

#

Can anyone help me?

native estuary
#

How are you trying to join it?

fiery glen
#

I invited my friends to join ,but they can't enter the world too

native estuary
fiery glen
#

OK,wait a second

native estuary
#

Try turning off future proof publishing by pressing the first auto fix?

#

Seeing that the build size is only 156 kb that would sound like something is going wrong

fiery glen
#

so i need to republish world?

native estuary
#

Yeah give it a go after doing the auto fix

fiery glen
#

ok. I will try

scarlet lake
#

Bake your lighting @fiery glen

#

Y so many not know to bake lighting

#

I also bet he doesnt have the vrcworld prefab in it

native estuary
#

He does

#

Would have shown up in the world debugger if not

scarlet lake
#

Maybe it doesnt have the scene descriptor thingy tho

#

I remember having to include the player mods when I first created my world

native estuary
#

Well that would have also shown up in the world debugger

scarlet lake
#

You ever have the problem where colliders make you jump less as high

native estuary
#

Don't think so? πŸ€”

scarlet lake
#

I have a bed with a box collider and when I jump on it, it jumps like half of what I'm supposed to

native estuary
#

Are you hitting the ceiling of the room?

#

Your player collider is always 2 meters tall

#

Doesn't matter what size your avatar is

scarlet lake
#

Ohhh

#

That could be it

scarlet lake
#

The world was made in design for smaller avatars

native estuary
#

Vote for my canny if you want it someday not be like that

scarlet lake
#

Idk if that's a good idea, uniformity is kinda nice

native estuary
#

Not if you want to use it for world mechanics

scarlet lake
#

Like giant avatars would have issues moving through a door

native estuary
#

That's why my post includes having the base value be changeable by udon in addition of it being avatar based

native estuary
scarlet lake
#

I'm at work so I can help all night haha

#

Is there a certain best time to upload my world to get traction?

#

I was thinking of uploading friday night

native estuary
#

That sounds pretty good

native estuary
#

Gotcha

fiery glen
#

It take great amount of time after baking light

native estuary
#

Seeing that your last build size was 160 kb anything else would take longer to build πŸ˜…

scarlet lake
#

Turning off future proofing makes it go like 2x faster

#

Also 160kb is concerning especially since the pic shows something haha should be at least a mb

native estuary
#

Yep that was my main concern

hot oxide
#

hi, is there an SDK3 udon graph equivalent to sdk2 VRC_PlayerAudioOverride? i have been searching for hours and have not found anything. I am trying to create a stage area that makes it so all players in audience can hear the person on stage.

fiery yoke
#

@hot oxide Yes it was recently added. Should be under VRCPlayerApi

hot oxide
#

@fiery yoke how would I go about setting that up? I'm still relatively new to using udon, or scripting for that matter, so i mostly just go off of prefabs

scarlet lake
#

where you would put the audio script component, you put a udon behavior component, then new graph, then create nodes : start > playerapi > whatever option it lets you set

#

it might be under like audio or something when you search for nodes

#

also does anyone know if there was something that said to upgrade to the newest version of udon?

#

idk if i just reimport the sdk or

cunning mist
#

Just load up the newest UnityPackage to import it and you should be good. Depending on how old your SDK is, you may need to go into an empty scene and delete the VRCSDK and UDON folder before importing the new package.

scarlet lake
#

its the last version before this one

#

thanks

crystal osprey
#

anyone know how you change the "Use" that you see on a object trigger. I am not having any luck finding how to do it

#

i am using sdk3

cold raft
#

its on the udon behavior there is a field for it you can edit in unity

crystal osprey
#

the udon behavior component that you are using for the trigger it self?

cold raft
#

wait no its on the vrc pickup

crystal osprey
#

wait isnt vrc pickup for like say picking up like a beachball?

errant pilot
#

@crystal osprey When you set a udon script to interact, the component has the "Use" interaction on the udon component from the gameobject

scarlet lake
#

guys i got animations to be global in udon

#

with graphing

crystal osprey
#

@errant pilot so where do i change the "Use" at

errant pilot
#

Your udon behavior component in the game object. Id send a screenshot but im not at my computer

scarlet lake
#

where it says inspect at the top, right click it and click debug, then in the udon behavior component it lets you change the text

#

then change back to inspector @crystal osprey

thorn compass
#

One message removed from a suspended account.

native estuary
#

Check your console afterwards

scarlet lake
#

why can i not talk in game

thorn compass
#

One message removed from a suspended account.

native estuary
#

Well I won't know either if you don't show those errors

thorn compass
#

One message removed from a suspended account.

dusk lintel
#

as well as avatar audio etc

native estuary
thorn compass
#

One message removed from a suspended account.

native estuary
thorn compass
#

One message removed from a suspended account.

crystal osprey
#

hmm is anyone else having a issue with there projects not working right since the SDK update i had gone from 2020 10 28 15 57 to the 2020 11 16 12 43

#

and made the changes to some toggles and run the test build and the changes are not being applied '

native estuary
#

Usually that would mean something is stopping a new build from happening

#

I would clear your console once try a new build

#

Then see if any errors show up

hollow folio
#

Every other time I try and upload one of my worlds, Unity crashes and the SDK seems to kill itself. I have to go through a full "remove all the SDK, restart Unity, reinstall the SDK" process and it's really annoying and time consuming. Has anyone seen this before and know why it may be happening?

native estuary
#

It's been popping up lately more, but all you should need to do is right click the vrcsdk folder in unity and press reimport. That seems to be working well from my own testing even just right click reimporting any script should work.

hollow folio
#

I did actually twig that before removing it this time after remembering that it was a way to fix broken shaders. Still not ideal though, I wonder what makes it only work a single time.

crystal osprey
#

well i am going to try a backup of my build before the updating

#

apply those new revisions to it and see if it works

humble bear
#

testing out my world

celest solar
#

hi guys, is there a way to sync material changes with custom event with UDON?

floral dove
celest solar
#

Yeah, I had a look at that, but it is local

#

I am not sure how to sync it even with the players' that joined later

unborn hornet
#

In my experience you'd need a way to index the materials, or whatever changes you need to occur, using primitives that do sync, like a string or int.
Then on the remote client, detect the change and grab the local copy of the material or change based on the index and apply.
All index references needs to be known ahead of time though.

celest solar
#

Thanks, ill have a try

grave basalt
#

Hi, I'm having an issue when trying to upload a world I get NullReferenceException: Object reference not set to an instance of an object
VRCSDK2.RuntimeWorldCreation.Start () as an error. The game builds and tests perfectly but when I try to upload I get this

grave basalt
#

Nvm i fixed it i had a prefab in the world that had a script

scarlet lake
#

Those missing scripts will get ya, I get that error when I try to open a prefab to edit it

#

"Cant save missing scripts bla blah"

grave basalt
#

"the referenced script is missing" headass lol

scarlet lake
#

Yo some1 in vrchat team! I need your help!!! There is someone using a client hacking, changing a crash avatar to all the players and they can't join the game!! I know his name! You guys have to ban him!!!

flint urchin
hollow folio
#

I'm not sure how I've done it, but it seemed to happen after I dropped the default Udon example movement prefab in (the one that lets you control movement speed and jumping). For some reason I can't move in that world anymore. Your avatar drops a foot or so out the air when it spawns so it's not "locked" in place by a collider or something (there's also no collider in the world there). Any ideas what else could cause that? It's like the controls simply don't respond.

#

Ah, somehow the variables had been reset to 0, whoops. Solved.

scarlet lake
#

EndLayoutGroup: begin layout group needs to be called first

#

anyone know wtf this means?

fiery yoke
#

UI Layout Problems. Can usually be ignored. Unless youre doing something with Custom Inspectors.

scarlet lake
#

well i have a graph to toggle in between two different cameras and it was working just fine

#

then today i was updating a few things, and decided to set a reset phone toggle

#

and it seems somehow setpositionandrotation broke it

#

but it doesn't make sense for it to break the graph of a completely different object

fiery yoke
#

ohh

#

thats probably the UdonGraph code messing up if I had to guess

#

you probably ran into "unexpected behaviour"

#

Which is programmerish for "shit we didnt think about that"

scarlet lake
#

so allow manipulation when equiped, how do i change orientation then on mouse and keyboard?

#

also the building to test is mind numbing, whats the addon to have a live instance that updates as you change things

scarlet lake
#

Also wtf is the w axis on rotation, I can set it in a node but theres no w axis on the object itself

#

I also fixed the camera being broken issue, I just removed the transform component from a completely different object lol I'm having weird problems

fiery yoke
#

haha cute

#

Rotations inside most Game engines are expressed with the mathematical construct called "Quaternions" https://en.wikipedia.org/wiki/Quaternion
They are mathematically superior to the alternative "Euler Angles" but more abstract.

scarlet lake
#

Rotation is so weird

#

The node literally is like rotation? How about nopetation

fiery yoke
#

You can get the euler angles of a quaternion by calling the .get_eulerAngles method which will you give you a vector3 with the xyz angles from 0 to 360, however understanding what quaternions are and how they work, and why they are being used is a fundamental part of working with rotation in 3D space

scarlet lake
#

I'm guessing to save the initial position and rotation I probably gotta duplicate the object and plug it in with noodles and disable the mesh render of the duplicate huh?

fiery yoke
#

No

#

You can store the position in a vector variable and the rotation in a quaternion variable

scarlet lake
#

Yeah that part is super confusing thanks tho gives me stuff to read

#

Now I wish I remember advanced algebra and matrices

#

You know how we all wondered how any of this will even be used in the real world, now here we are just trying to rotate an object

hollow folio
#

When trying to use the USharp Video Player, it always throws a "Rate Limited" error on world load, but always works if you try it manually. Given that these should both only try and load the video one single time, any ideas why it errors like that the first time?

scarlet lake
#

what happens if my favorites say i have 25 there but there nothing

cunning mist
#

@hollow folio I had this issue appear when I was making my video player as well. What I ended up doing was the OnVideoError event, then if the error it sent was of type RateLimited, I simply tried to play the video again.

hollow folio
#

Good idea. I'll have to learn more about Udon to figure out how to do that πŸ˜›

cunning mist
#

Ahh, are you using the one that Merlin made? If so, you'll want to ask in his Discord specifically, which is linked on the Github page.

hollow folio
#

Yeah, it's that one.

obtuse agate
hollow folio
#

I'm confused how a single attempt causes the rate limit error though? It tries to play on load which is correct, but shouldn't that just be a single attempt?

obtuse agate
#

World load itself counts as an attempt, so if you play it in Udon, it becomes the second attempt

sick dawn
#

I have a question. I want to make 2 types of mirror controls

  1. You can turn on and when you walk away it turns off.
  2. When you turn on the mirror it set to a time then when it runs out it turns off.
crystal osprey
#

is there a way to use texture animation in udon with sprite sheet

mossy sequoia
#

anyone have a script for toggling colliders? ive only figured out how to make a button that toggles the collider on one object. id like to be able to toggle all the colliders on all the chairs and tables in the world with one button.

scarlet lake
#

@mossy sequoia create a gameobject() array variable, put all the root parent objects into the public variable spots, then gameobject() > for loop > gameobject get component > unarynegation > set enabled

#

The for loop can be confusing, the body noodle goes into set active, and int goes into gameobject() so you know which indexed object its targeting in the loop

#

And you gotta use get length to get the length of the array and plug that into "end" in the for loop so it knows when end the loop

pine loom
#

Fake link, dont click it. Look at how the name of steamcommunity is spelled

#

@agile pond

scarlet lake
#

Hey Everyone! Im currently working on a world using 3.0 and tho I've learned a lot on my own Id love to have an experienced creator teach me the basics of Udon and help me look over my world to make sure its ready to be uploaded! I've looked over Youtube tutorials till now but would love to actually work with a person if possible. If anyone's interested please let me know! Willing to pay a bit as well if it means ill get some teachings!

mighty fjord
#

Hey, quick question, is there any way to make 2D arrays using Udon?

fiery yoke
#

No Udon does not support multidimensional arrays or jagged arrays. UdonSharp has a work around for jagged arrays, but doing the same thing in the graph is a little convoluted.

zenith abyss
#

I have a trigger with a script that does LocalPlayer.UseAttachedStation, and it is sucking multiple people into the station. I thought Interact was local? If not, is there a way to make it only run for the player that interacted with it?

coral ridge
#

HELP I can't get mail in my mailbox

#

HELP my email didn't receive verification
mail

unborn hornet
coral ridge
#

still haven't verification email

unborn hornet
#

This channel is for udon specific questions/discussion.

Need some help? Crashing? Not able to get into the app? Please contact our Support Team by creating a ticket at https://help.vrchat.com/new (select "Support" category)

#

If you need to ask additional questions about accessing your account, try #vrchat-general-2

scarlet lake
#

@scarlet lake I'll check it out

flint urchin
scarlet lake
#

hey does anyone know why my avatar's skin flickers now when in the camera's view

coral ridge
#

@flint urchin none any email in spam folder

scarlet lake
#

hey so i wonder if there is a way to have a graph constantly run in the background to save the states that objects are in for future people who load in

hoary echo
#

You'd probably be better off to just have a script that checks the current state of objects run on user join

scarlet lake
#

the thing is, if i get object active states on start, it'll just get the default values instead of what they were before they entered

#

i basically gotta share the active state from the instance owner to the new player

hoary echo
#

Depending on what you're looking to do, on player join have the instance master check the values via custom network event and set a synced array with those values, and have a separate trigger that has those values sync to the new player

scarlet lake
#

i think that might work cause i got a lock script that basically resets the sync

hoary echo
#

Oh, perfect, yeah, that should do the trick. Then that avoids having it run more than it needs to

scarlet lake
#

is there an instance owner node

hoary echo
#

I don't think so, but you can check the owner of any object that doesn't have ownership transfer on, as by default the instance master owns everything

scarlet lake
#

i mean is there a node to see if i personally am the instance owner

hoary echo
scarlet lake
#

there's isMaster, i wonder if that's it

hoary echo
#

I tried that, but I couldn't get it to work in my scripts, but that could just be user error on my part

scarlet lake
#

is there a doc that says how it works?

hoary echo
#

Uhh, probably not

scarlet lake
#

i think its it

peak umbra
#

My Udon Graph addition node returns null but the two vector3s that are used as input return stuff. Anyone knows why?

scarlet lake
mossy sequoia
#

how do i know if something like a mirror toggle is set to global or local?

scarlet lake
#

You gotta send it in a customnetworkevent and use a custom event to start your script, kinda like the two nodes in the pic directly above

#

You name the custom event and use the same name in sendcustomnetworkevent @mossy sequoia

#

You can then toggle its output to be all or owner

tribal meadow
#

I'm having a problem with object pickup in an SDK3 world.... If I pick up the object it streches all to hell. Every video about objects says to use something called VRC_ObjectSync but this does not show up in SDK3? Any ideas?

sage helm
#

oh that pick up object stretching things happened to a friend

#

what happened was that the object was inside of another object

#

the one that was trying to move

tribal meadow
#

OH, I think I see what you mean