#udon-general
59 messages ยท Page 33 of 1
Yup
I discovered why nothing is working on my end Momo
TMP pro has 2 scripts the UGUI script and the standalone script guess which one is not whitelisted
@hollow juniper you can read up on the details regarding PlayerCollision here: https://docs.vrchat.com/docs/player-collisions
The short answer is - use Triggers instead of Collision when you want a Player to walk into something and fire an event. OnPlayerCollisionEnter is only fired when an object runs into the player, not vice-versa. You can see that one working in the UdonExampleScene where we fire a projectile at the Player in order to trigger it
Will the LODGroup to be exposed in the future?
You need new user rank
Make some friends and spend some times in publics
Its quite easy to get
rip, alright
RIP? Use a trigger area with a separate non-trigger collider if you need that effect.
What would be the best way to detect players in an area?
I have a trigger that gets enabled in an area but it's a 50-50 chance of activating
make sure your trigger goes all the way down to the ground - remote players only have colliders at their feet.
@floral dove Would you mind taking a look as to why TextMeshProUGUI is not whitelisted but TextMeshPro is the functions are identical the only difference is 1 works on a canvas the other one does not
the trigger teleports all players locally, or do they only have it at the feet to?
the 'why' is that we just added the TMPro.text and related functionality to the whitelist, we haven't added TextMeshProUGUI yet. If you want to request and track adding TextMeshProUGUI.text, you can make / find a Canny for it.
Any ETA i was so hoping i could finally finish my projects
Have it so the green region would spawn on button press to trigger a local teleport, but it's been unreliable
@hollow juniper - hm, I don't understand. I thought you were saying that the trigger only works half the time.
sometimes it wont teleport until the user exits and re enters it
@keen imp - sorry, don't have an ETA on that. Workaround for now is to use the non-Canvas version, or to use a UI Event to change the text.
First one does not work well with the UI as you can imagine and the 2nd workaround does not support unicode ;-; Oh well ill wait longer i guess
@hollow juniper - are you using VRCInstantiate on the area or just turning it on?
Was just enabling the gameobject
Sorry, @keen imp
ah, ok @hollow juniper - you could use OnPlayerTriggerStay instead, which fires continuously while players are in an area. The 'Enter' function really wants the players to 'Enter' the area through a physics update, not just by suddenly being inside an area.
Will give that a try, ty
Well the first frame that you are inside the collider should register you as "entered" tho right? Or does it really have to be "moving inside of it"?
would have thought, but the server delay might make it not trigger sometimes i guess
@fiery yoke - we'd have to dig into the Unity Source to know for sure. The event triggers when an object collides with another object. ๐คทโโ๏ธ https://docs.unity3d.com/2018.4/Documentation/ScriptReference/MonoBehaviour.OnTriggerEnter.html
Should video players, e.g. the USharp player currently be working?
Yes last time i checked they work fine
unless your trying to access something you cant access yet or your running outdated SDK
1st one USharp will yell at you 2nd one Unity will yell at you
Latest SDK, latest USharp. Hmm. Or is it that they don't work in CyanEmu mode?
Ah, should they work in local test mode?
yes
Cool, I'll try that then, thanks.
because the scripts in unity are proxy scripts
so they are not the actually avpro scripts
those are inside of VRC
Hmm, manually putting URLs in works, but the (single) entry in the playlist doesn't seem to autoplay. I saw a "Ratelimited" message on the player initially which was a bit odd.
whenever i put a long playlist into the video player it seems to not like it so i assume its getting ratelimited
why i dont see the mirrors?
@cold crest this channel is for questions relating to Udon, maybe try #user-support-old
sorry
But thats actually an interesting question lol
never seen that before
@glacial oasis It only has one in there though, not a load.
Sometimes my world just refuse to load. is there's a way to tell what happend?
your logs are a good place to look first: https://docs.vrchat.com/docs/debugging-udon-projects#log-options
What is Debugging? Debugging is how you learn about what's going on under the hood in the VRChat client and your world. It's a key skill to develop for programming in general, and for building your worlds. VRChat Logs When you use the VRChat client, it saves logs about things ...
I checked the log
Nothing really helpful
It basiclly just stuck at here
After a while it ways VRC timeout and reload the map
Maybe because the youtube-dl is having issue?
why does this happen? haha
If you're looking into a mirror then it's because you haven't messed with the layers and removed the one that the hud shows up on. If you're just talking about seeing that in a random place in the map then I have no clue I've seen that in SDK2 worlds too
yea its not in the mirror
so I made a script to disable objects when a player enters a trigger. However, the system is global, and I want it to be local. Is there a way to do that?
If you're using the PlayerEnterTrigger or whatever it is node, then just branch off the playerAPI that it provides and feed it into an IsLocalPlayer. Use the bool from that to feed a branch.
Im having trouble understanding what you mean. are you saying to feed the IsLocalPlayer into the SetActive functions?
No you feed the IsLocalPlayer into a branch node, and then use the true from the branch node to feed the setActive execution
ah, ok. I think I got it. thanks!
i added these crystals
to be able to pick them up / throw them
but they fall through the floor
while the players dont xD
am i doing something wrong ? ( retorical question )
nevermind figured it out
@verbal socket make them hav udon behavior and set them to sync
perfect
is OnPlayerTriggerEnter not working?
@verbal socket - you need a program assigned to that UdonBehaviour. We included one called 'empty' that you can use. BTW - check out the UdonExampleScene for a working example of Synced Pickups and much more ๐
@light fjord - check out the UdonExampleScene for a working OnPlayerTriggerEnter example.
@placid elbow https://docs.vrchat.com/docs/what-is-udon
Whatโs this Udon thing anyways? VRChat Udon is a programming language built completely in-house by the VRChat Development Team. It is designed to be secure, performant, and easy to use via the VRChat Udon Node Graph, a built-in visual programming interface that uses nodes and ...
hmm seems like it wont.
@light fjord hm - your name doesn't show up above the trigger area when you Build & Test and walk into it with your Avatar?
???
@stark adder - looks like you don't have TextMeshPro in your project. Window > Package Manager > Import Text Mesh Pro
I had it.. I tried removing it minute ago.. to try and fix this
i have a question
i have a problem that is that i dont see the mirrors
what can i do?
Ahh yeah youre the second person that got that now
You need to setup mirror layers i think
@scarlet lake Did you use the Mirror prefab that comes with the SDK?
@stark adder - looks like you don't have TextMeshPro in your project. Window > Package Manager > Import Text Mesh Pro
@floral dove I added TMP back into project and still
@stark adder try closing Unity and reopening. When do you get that error?
I have a question
today
its the first time i get that problem
Can you get custom skins on the quest
@scarlet lake - this channel is for questions about our programming language "Udon"
Oh
All the time.. when in unity.. As soon as i startup project it does this..
I think my project is corrupted :/ NICE
@stark adder - try clearing out your library. You've got TextMeshPro in your Packages folder?
Where can I ask my question?
@scarlet lake - you can try #user-support-old
Ok thank you so much
also, the #faq is a good place to find out which channels to go to for specific things
Ok sounds good
is it possible to not be the owner of an object if im one client testing
@glacial oasis - no, you need to launch 2 clients if you want to test Sync.
having an issue where things just disappeared and was just making sure it wasnt because i was not the owner for some reason
@stark adder - looks like you're missing Cinemachine as well. Try importing that through the Package Manager as well. If that doesn't help:
- Close Unity
- Delete the folders
Assets/VRChat Examples,Assets/VRCSDK,Assets/UdonandPackages/com.vrchat.vrcsdk3 - Delete the contents of your Library folder
- Reopen Unity
- Re-import the latest SDK
Well would like to try the first thing.. But ill try the other thing
@stark adder what version of Unity are you using?
That's not the issue.. It worked yesterday
Ok, just checking since it looks like you don't have the Package Manager in that menu
Yea its because VRC is throwing error and package manager doesn't load up ? Or that's what it seems to be happening
Seems to solved that issue.. now new one popped up.. But that seems to be U# iissue i guess
ah yeah, didn't know you had U# as well, probably worth a fresh import of that as well
.. well
After doing all the fixes removing and reimporting VRC SDK + U# I am back to missing TMPro
does it exist in your Packages folder?
My manifest seems to look fine
Hm - your manifest shows that you have TextMeshPro installed though
does it appear in your project pane?
Seems i fixed it ? maybe?
Tried replacing manifest i had with manifest it generates when you create new project
And to your question Yes but it seems to be solved THANK GOD
glad to hear it!
Thanks a lot! ๐
you're welcome ๐
how would you go about changing text on a canvas in the world using U#?
@vivid prism - the UdonExampleScene shows how to change UI text in a couple of different ways. If you want to learn more about U#, check the pins on this channel for a link to the wiki and discord.
Once again I'm blind.. Thanks, I'll take another look!
question , every time I upload to vr chat via unity it says successful but when I try to access the world I get error
em I missing anything?
did you try finding it in the app?
I am having a little problems with understanding the difference between stuff like rotation and localRotation
when would you use which ?
@valid basin World rotation is rotation along the world axis. Local rotation is rotating in relation to the parent of the object. If an object is rotated 45 degrees, and you attach your object to it, it becomes a child of that object. In that case, you could locally rotate your object around on that 45 degree angle that is it's parent, or you could rotate along the world axis.
I need some help. I'm trying to create a chair that allows players of whatever size to sit on them correctly. I have successfully made it work by taking the height of the left foot bone compared to the hip bone, but while it works locally, it just won't work globally. From what i could tell, it seems that everyone in the world sees one person that it works for besides them and no one else. but it also seems random for who it works for and some people it works for no one. I don't know too much about networking, so some advice would be awesome
here's the udon graph for it
I also tried doing it in Udon# incase there was something I was missing. Also easier to read what's going on
And finally, here is the test package, incase you want to have a look
@indigo finch i am doing
Quaternion _RblockRotation = new Quaternion(RblockOrigin.rotation.x, RblockOrigin.rotation.y, RblockOrigin.rotation.z, RblockOrigin.rotation.w);
to give a game object its rotation upon creating it, but it seems not to work, but that i have to Euler it. Now my question, does it matter to use localRotation or rotation for setting euler, to solve this?
I instantiated a interactive prefab that creates a gameobject on a click among other things
turned the prefab 180 deg but its still creating the blocks in the same direction, when it should be 180deg the other way
(these are on opposite ends of the table, the top picture is the desired look, the bottom picture is the result of blocks being instantiated in the same direction, even though the whole prefab is 180 degrees rotated)
if your just after the rotation to be the same, i believe all you would need is
this.transform.rotation = referenceObjectTransfrom.rotation // as transform.rotation returns a quaternion
Trying to make a simple teleport but odd things are happening when trying to move a player in vrc x,x green circle is where it should be and where the endpoint is after replacing the player position with a dummy block that u have selected.
but when it uses the player position from the same spot it ends up a long way off
Here is the same script with the dummy objects
@hollow juniper from what I can tell, your grabbing the player position, subtracting the position of the This.Gameobject, adding that with the 'target' position to catapult yourself somewhere else, but staying at the same height as the target. If your wanting to teleport to the target, I would simply plug the target 'GetPosition' node straight into the 'TeleportTo' node
Teleporting to the target with an offset, it's so multiple people can be teleported at once and wont be inside each other
hmmm... everything seems to check out right...
Was hoping it might have been a silly mistake T-T but i can't see anything wrong to, double checked everything with the dummy objects and rewrote it in c#
must be something with local player or the teleport node
@hollow juniper using udon#, I drafted up this code that seems to be behaving. I couldn't get the 'getPosition' out of the localPlayer, but that's probably just lack of vocab more than anything. Still don't know what's going wrong with the noodle graph. Perhaps try grabbing the hip bone position as a long shot guess? anyways, this 'might' help.
Another guess would be to change it up so that you find the difference between target and self, and then add that to the player position. it's basically the same thing, but perhaps it might uncover a silly mistake
i dont understand at all -...- new player pos
just telling it to use the bones instead made it go even more away
i hate vrc :/
reloaded it and teleported from same spot with same code and now ended up here
is it possible to flip a player upside down so they can walk "normally" on the ceiling?
nope
ya that's what i thought ):
Been trying to make my own udon based vehicle. its been going pretty good, but when I test 2 cars with 2 clients (local testing), and have the non-master go into a car, the master gets teleported in the car and their viewport gets locked, with the mouse only working in the y Axis. It then gets stuck this way. My Udon scripts are assigning ownership to the person who used the car, and it still does this. Is this a known issue or am I missing something?
Stations are not properly supported in multi client local test builds. You'll have to publish and launch two separate accounts
Is there a node to take in 3 different values to put into a XYZ?
Its position synced, but that makes sense. Thanks
for a few weeks there, it was possible to rotate handheld objects with keyboard letters I, O, P, 9 or something like that. but now it isn't working and I don't see it listed online in the vrchat docs? was it already done away with?? ๐ฆ
I j k I believe
it still works, they just dont want you to use them often cus lag
How would that lag more than rotating your hand in vr?
OH wait
ith its for the low end users, when i used my old computer, rotating would take a sec to load
howd you make that happen? use your arrow keys
hmm?
arrow keys also not work?
?
let me try
did you mess with your keyboard? the arrow keys shouldnt be your movement
oh oh oh oh oh
sorry I had a brain fart. I use VR 99% of the time, and I'm only using desktop right now to test my world for desktop users.
WASD is to move, of course
They do. Look for the SyncVideoPlayer prefabs that come with the SDK
One can. I dont know if you can :P
Unfortunately networking is pretty finnicky and its easy to break things.
Basically the control over Ownership and syncing is in Udon. Which you can adjust and modify in any way. But knowing how to do it is the complicated part.
generally, only the owner can control a synced object, so your script must either be able to transfer ownership of the object to the individual controlling it, or the object must communicate with the owner when a non owner interacts with it, to update the status
tbh look at the beer pong prefab for udon, its actually really well written and I started learning networking from there
Is there a node to take in 3 different values to output into a XYZ?
Vector3.ctor
You should probably read up on what a Vector3 is on Unitys Manual first tho...
Thank you
I am having some troubles with the lighting color of a world when changing it using nodes. It could be I am using the wrong node in the first place maybe but here it is what I have so far
It makes it so I can't change how red it is, it is either plain bright red or not red at all. I am using a slider to change the value. It also makes it so when I lower my intensity it still stays a very vibrant red until I lower the intensity to 0 using a separate slider
@primal ocean - you could try using the four-float constructor for the Color and set the fourth value to 1 in case the light is getting an alpha value of 0.
(taking a guess here, may not help at all)
Something like this?
@floral dove I am still learning this all so this is the only thing I can think of as a four float constructor you are talking about
How do you allow untrusted videos to play on udons video playuers?
its a setting under user settings, allow untrusted domains. Players have to change it themselves. best you could do is have a sign on your map asking users to do so
does anyone see why this does not work, sets the player way off target
#udon-general message
more on what it's doing from post last night
@primal ocean - use the Color constructor, but choose the (float, float, float, float) selection from the dropdown in the node
Sorry to pop in and immediately start asking for help:
I'm currently trying to build a world and test locally. I'm using SDK3 and Unity 2018.4.20f1. When I try to build from Unity's normal build dialogue I get the error:
The Assembly UnityEditor is referenced by VRCCore-Editor ('Assets/VRCSDK/Plugins/VRCCore-Editor.dll'). But the dll is not allowed to be included or could not be found.
When I try to build using the "Build and Test" locally button from the VRChat SDK window I just boot into the default Home world instead of my scene.
quoted from a message I sent in another channel
@glacial oasis perhaps actually. If there is any hope, it would be using negative gravity along with the player being in a station that doesn't disable movement that is flipped upside down. However, with all that said, I believe you get problems with vr so that's probably a no go
if you code world portals you could abuse that
Got a question on something before I get to far into world-building for the first time: Are normal-mapped materials supported on Quest? I found that there is the VRChat/Mobile/Bumped Diffuse shader available, but wanted to be absolutely sure it would be compatible before I started using it in my first world.
@prime vortex - I recommend you read the docs on using Build & Test: https://docs.vrchat.com/docs/using-build-test
Check to see if you have any errors in your console that may be causing your build to fail.
@rigid plume - yep! Stick to the included Mobile shaders and you'll be good.
thanks!
@floral dove Problem was solved either by changing the Installed Client Path to the correct one or first launching outside of VR. Thanks for the assistance!
stupid noob question: how do I set up my directional light in my scene so that shadows aren't pitch black? Is there a setting for ambient lighting somewhere?
I think I figured it out. In the Window > Rendering > Lighting view, I changed Environmental Lighting's source from skybox to color.
So I'm now learning that normal MonoBehaviour scripts can't run on VRChat worlds. I've written a script that dynamically plays audio via an AudioClip.PCMReaderCallback which works perfectly in editor. Is there really no way of running normal Unity scripts in VRChat? Is what I'm trying to do even possible in VRChat, or is it impossible due to security?
I'm new at this, but from what I understand from the docs, you have to do it through Udon.
Can we even register a PCMReaderCallback via Udon? :/
closest thing to normal c#
You're the best
Does not mean what you want will work tho, but gl ^^
I'll see if I can get it working. Considering everything outside of one call to AudioClip.Create is my own code it should be fine?
I'm curious, how would I edit this to keep the door triggered on for a certain amount of time and then automatically switch back off? This is what I use for basic open/close doors but want the doors to automatically close after a couple seconds.
Should I UdonBehavior.SetProgramBehavior to set variables in an Udon program? Older Udon videos appear to have a Set Variable node, but I can't find that anywhere when searching through the different node types.
Nevermind, found in the docs that I can ctrl - drag the variable to create a Set Variable node
Something is busted with Teleport to
made a test script to workout what was not working
public Transform Target;
public Transform fakePlayer;
public Transform fPEndpoint;
private void Update()
{
Vector3 EndPoint = Networking.LocalPlayer.GetPosition() - this.transform.position;
EndPoint.y = 0;
fPEndpoint.position = Target.position + EndPoint;
}
[System.NonSerialized]
public VRCPlayerApi followedPlayerApi;
private void Start()
{
followedPlayerApi = Networking.LocalPlayer;
}
private void LateUpdate()
{
if (followedPlayerApi != null)
{
fakePlayer.position = followedPlayerApi.GetTrackingData(VRCPlayerApi.TrackingDataType.Head).position + Vector3.up * 2f;
}
}
With the test script i could see the endpoint where i should teleport to
but i end up over here
Think it's teleporting multiple times and doubling the length
but no clue how to fix
Nevermind on that "should be fine" part - does Udon not have callback delegates (yet)?
Edit: looks like Udon doesn't expose the callback version of AudioClip.Create which... is frustrating.
I'm trying to check if a certain collider is using the right PhysicMaterial, but by using the node Get sharedMaterial, I'm getting the (instanced) version of the material
is this intended? The object is a prefab, if that changes anything
That's strange... sharedMaterial was getting me the non-instance versions just fine before. I'll double check what changed
Question is there a prefab for video for all players instead of just owners only? ive heard someone here was trying to make that happen for people
...
@ashen bolt there is
Is there a way to test 2 client, with one in vr and the other in desktop?
Do I literally just put 2 in the box and not tick 'force desktop'?
Mind showing me a link to the prefab? @dapper lion
@ashen bolt udonsharp or sdk2?
Udon
ok
@ashen bolt the prefab I posted in #udon-showoff does that if I'm understanding you correctly...
@scarlet lake The way I do that I build and test one at time, first one being force non-VR, second being VR.
and they launch into the same instance?
I've done that with force desktop multiple times just to test stuff for super late joiners
Like in my TV demo I posted in #udon-showoff
What i did was make basically one that enabled it but also started a timer set to the same length as the animation
i will send a photo in a min
@atomic shale this is what i did. Probably a better way to do it but it works. Also instead of a custom event use a interact event. (i used that since i use actual buttons to open my doors)
ooh that's a nice looking graph
thanks
Very interesting, this is probably pretty close to what I need. Basically what I'm needing is for the door to complete the opening animation, sit for 2 seconds, then automatically close.
I'll do some mixing up tonight and see what I can do, thanks for the tip!
If the opening and closing is on the same animation then it should work. Just make sure the max time is setup correctly so it doesnt just instantly reset it back to close.
Hm, well I have an animation for opening and closing, so it's two
Now that I think about it..I could just add a 2 second delay and then the closing animation in the same animation, couldn't I
I think you could do that but i have not tried it
i have this graph for a card reset button in my world how would I connect this to the cards to reset them?
set your cards as the members of the Objectsz array
also, you can use Transform.SetPositionAndRotation to update both the Position and Rotation in one Node
@floral dove how would I set the cards as members?
@edgy blaze take a look at the Inspector for this UdonBehaviour. If you've set the Objectsz variable as public, then it will appear in the 'Public Variables' section. Set the 'size' of the array to the number of cards you have (I'm assuming 52), then drag eachwant to drag and drop them into the slots under the Objectsz variable. Will probably look a bit like this:
@floral dove thx for the help much appreciated
sure thing! If this is all a bit confusing and you're new to Unity, check out their tutorials to learn your way around the UI: https://learn.unity.com/pathway/unity-essentials
That's the great thing about VRChat - Unity is so widely used, so you can rely on many resources outside the VRChat community.
hm - your For loop goes from 0 to 55, so it likely throws an error the first time it runs when it tries to access object 53, again assuming that you have 52 cards.
you'll want to use GameObject[].GetLength to set the 'end' property of the For loop so it will always do the right number of Loops.
Everyone's Udon is the nice new one, but I'm using the WorldSDK3 from vrchat.com - Am I just stuck on a legacy version?
Sorry if I'm being dumb, I'm very new to this :^:
@dusty thistle time to update!
Download the new one from https://vrchat.com/home/download
Close Unity, delete the old SDK folders (probably Udon, VRCSDK, maybe VRChat Examples? That might not exist in your version).
Import the new package
Enjoy the sleek new version!
Thank you so much
I was installing the wrong version
Is there any way to have a custom event node fire itself with a parameter it gets from the event call?
You can fire a Custom Event from the same UdonBehaviour (this is a way to keep your graph neat), but CustomEvents cannot pass parameters yet.
If you can describe the problem you're trying to solve, I may be able to suggest another way to do it.
I like the sound of "yet" x)
Oh nothing fancy so far, right now I'm just setting up the activation plate for a multi-quality mirror and figured it should be able to do that with just one event instead of three.
Currently just trying to figure out how the visual programming on udon works, because that's probably the biggest shift in syntax from C# I've encountered so far ^^'
You could set a local variable and then fire the event
You know, that would actually cut me down from three full trees to just three little heads on one full tree. Thanks!
you're welcome! Also, if you don't know already - you make a 'Set Variable' node by dragging a variable from the window into the graph and holding control.
I was stubbornly trying not to ask that right now haha thanks again x)
np, I know it's one of those things that eludes a lot of users. We've got to find a better way to teach / show that. FYI lots of good tips on using the graph here: https://docs.vrchat.com/docs/udon-node-graph-upgrade and in all the other pages linked alongside
Uh, sorry if that's a stupid one, but how do I eradicate the "An item with the same key has already been added" error I'm being given for this code?
Basically event sets quality variable, depending on quality variable I turn mirrors on or off.
The int constants at the start are there because it kept resetting the value inside of the Set mirrorQuality to it's default value of 0.
I mean it breaks straight into System.Collections.Generic.Dictionary, so that doesn't seem to be an actual code issue. Here's the traceback.
Hey @floral dove Do you remember 1-2 days ago i had a issue where it said TMPro could not be found ? I found what caused the issue.. Plastic SCM is for some reason incompatible with VRChat SDK
Update, apparently calling a "method" (in this case beginning with my for loop) from multiple start points (multiple Set mirrorQuality) breaks internally. Does that go into #657398370377269249 or is that already tracked?
@celest olive - I've seen this before but I don't think there's a bug entered for it - you can file one here: https://feedback.vrchat.com/vrchat-udon-closed-alpha-bugs
A workaround in the meantime would be to have each SetMirrorQuality fire a new Custom Event like "TriggerForLoop", then attach the handler for that event to the For loop.
https://feedback.vrchat.com/vrchat-udon-closed-alpha-bugs/p/calling-method-tree-from-multiple-parent-nodes-causes-exception I'm just a junior dev, my bug reports might not be as quality as they should be. Hope this helps O:
that's a high-quality bug report, thank you! I took a quick look at the compiler code and I can see the general problem, so we'll be able to work on a fix. Having multiple flows into one input was added somewhat recently, and the For node in particular was never updated to handle this gracefully.
yo didn't touch udon since a bit, can we load a picture from the web or do I still have to use sdk2 and panorama ?
theres acc a udon image url reader somewhere, if thats what you mean
What's the current workaround preferred for script permanence? This specific snippet falls off upon loading the scene both during playtesting and at runtime in VRC.
Parent object for every button that holds the UdonBehaviour instead?
(The onclick clears itself, specifically.)
Anyone know how to do pickup on sdk3?
I think you could do that but i have not tried it
@waxen breach Heh, yep this actually worked perfectly. All I had to do was put together a new animation that included a pause and then move back to the original position.
does anyone know of a udon prefab that has a toggle for a Optimized mirror and a High Mirror?
Hm shit. I'm finding out my solution isn't really totally working because when the door is triggered again while it's open, it'll start "re-opening" instead of close.
Can udon use on awake?
@waxen breach I'm trying to recreate what you showed me in your screenshot but I'm having trouble finding where you got the 'Set IsActive' node? I'm terrible at finding what I need in this
I have that problem as well. I think adding a extra branch statement could fix that but i have not tried it yet.
Hmm interesting
I think having another check to prevent the trigger from working while animating could fix it.
True. My problem is that I'm trying to replicate a really specific behavior. The way I want it to work is that you can trigger it open and closed at will but if it's open, it will automatically close after X seconds.
I'm recreating Marathon 2 (old 90s FPS) and the way doors / elevators trigger is really important to how levels work.
How would you build the check to prevent a trigger from working while animating?
well im not exactly sure how that would be done. For me personally i would have to experiment since im still semi new to udon.
Heh I'm extremely new. Definitely a learning curve here
So far my approach is fuck with stuff until it works and copy other things
I would recomend looking at the udon prefab examples and see how they did it. I used a combination of a few to make a amplified voice area.
Can anyone show me how to make my interactable objects float in udon
it keeps dropping
when I release it
I need it to float like it's in space
Ah - the UI events are limited to a whitelist, UdonBehaviour.OnMouseDown is not on that last. Instead, use UdonBehaviour.Interact for that sort of Behavior. You can also use UdonBehaviour.RunProgram, and enter a custom event name as the static string.
turn on IsKinematic
where is that under @floral dove
on the Rigidbody of the Pickup
you can learn about Rigidbodies here: https://docs.unity3d.com/2018.4/Documentation/Manual/class-Rigidbody.html
If you turn on IsKinematic, you don't need to turn off gravity, as your item will no longer be driven by physics. If you want physics (like being able to throw the item, etc) then you can leave IsKinematic off and yes, turn off gravity, then play with the two drag parameters to change how much your object will be affected by physics.
awesome
Hi Im trying to get a mirror working, a toggable one however it won't work. here is the graph and errors (I'm not sure if these errors are the reason why and if so how can i fix them?) https://gyazo.com/c560693548dcf745e87317adc297c099
Was that caused by trying to build using Unity's typical build tools? If so, here's where you can learn how to build VRC Worlds: https://docs.vrchat.com/docs/using-build-test
@floral dove sorry to bother you
but is there anyway I can like scale the interactive objects?
like while in the game
that's what caused it! We don't use Unity's typical build pipeline. Read through the linked doc and all will be revealed.
Sure, but I'm afraid I'm off to bed. So I'll tell you this - you want to modify the Transform Scale of the given object. If you don't know what that means, I recommend you take some time to learn about Unity and how to work with GameObjects and components.
I recommend you start by reading through the doc I linked, and check out the Readme.pdf that comes with the SDK. The UdonExampleScene already has a Mirror Toggle in it and the readme explains how it works. Good night and good luck.
@floral dove
add me
We have much to discuss when you wake up
hopefully I will have figured it out
sorry, I don't add friends on this server. I'm off work for the weekend but I wish you the best of luck!
Pay special attention to the "Setting Up Your Settings" part of the docs, I think that's what's causing your problem: https://docs.vrchat.com/docs/using-build-test#setting-up-your-settings
how to fix video player?
@waxen breach I actually found something that helped me get this working with the method you suggested. It's not 100% the way I want it yet but it'll definitely do in the meantime.
Basically just put the number of seconds in the GreaterThan node that you want the trigger to not do anything after hitting it once
Now I just need to figure out how to hide the trigger cube outline or whatever that's called.
Actually having trouble with that one. How do I go about hiding the actual "trigger" itself so it doesn't get highlighted in game?
Any links or anything ? Because google don't give me any good result :(
Is there a bug or something where you can't Build and Test anymore? It always just brings me to my homeworld.
That's usually a problem with the world itself feel free to import this and check VRWorld Toolkit > World Debugger
https://github.com/oneVR/VRWorldToolkit/releases
Should show you the cause immediately
I'll give it a look but it's literally just a blank world with vrcworld, a cube to stand on, and the sdk.
This does not exist yet.
Fair enough, i'll wait then https://cdn.discordapp.com/emojis/385992597048393738.png?v=1
Thanks you !
Oh lol thanks, it was because I installed a new ssd and moved vrchat over, but the editor didn't know where the game was located haha, thanks!
Glad it got solved ๐
has the issue with spawning pickup prefabs been fixed yet? or is there a workaround?
Does anybody know why some worlds cause Quest to become blind in one eye (except for mirrors, other VRC prefabs, avatars, and UI elements)? I thankfully didn't run into this issue with making my first world, but I'm curious what causes it so it can be avoided.
that is pretty weird, i wonder if its an issue with shaders
when i change the build target to android i get crazy shader errors
also the guy with issues with his door animations, i can help
in fact if anyone needs help i'm pretty keen on most of the udon stuff
Completely blind can be caused by grabpass shaders for example
@lilac hatch i have not found it publicly posted, i just remember seeing a super fancy udon world having a previewer
Interesting. Thanks for showing me your version. Looks like a simpler version than what i did for the timer.
No problemo. My only issue now is that I can't figure out how to hide the 'interact' cube outline
Hi, I've been trying for a while but how do you toggle collider on and off? I tried with collder nods, meshcollider and boxcollider.......but I guess thats not the problem.
Obviously you need the specific collider you are using. Try not having the GetComponent feed into two different child nodes, maybe that helps - There's some wonky internal behaviour I've encountered when connecting up multiple nodes from one parent node. If that doesn't help, try debugging to see where the code path actually gets executed and what states are being affected.
thank you, I'll try it out, first day messing with udon 
Yeah I'm not that far in as well, but mind it being an early alpha still - they're juggling content updates with bugfixes and bugs popping up all the time right now ^^' I've been trying to stubbornly make a simple mirror on/off - quality script for multiple hours now because I tried to make it at least somewhat close to my usual programming principles. Sadly only the very broke down and basic version works so far. (Namely no generics, no multi-purpose methods, everything gets it's own dedicated block of code-nodes) It's a little of a hassle, but understandable from vrc's standpoint. They can't just give us straight up access to C# coding, or it'd take me literally one line to make everybody farm bitcoins for me x)
Hey, does anyone know what the problem is with UI's in udon
because the UI works fine in desktop mode but when i go into vr mode i can't interact with the buttons or sliders
I haven't tried VR yet. What interaction method are you looking for and how is your code logic set up? Are you looking for direct interaction like how you pick up an object/use an object, or are you looking for the laserpointer-aiming kind of clicking?
If so, which specific event are you firing/listening to?
yea laserpointers for UI buttons it just does not show any lasers in vr mode
even the example code does not work
all the UI are on the default layer
Hm.. Mine personally are on the interactive layer, but again I didn't try them in VR yet. I'll take a look in a sec. Debugging something, myself.
Canvas is interactive, button children as well.
I do have an empty game object as a container on the default layer above that, though.
ah okay. i will try that now to
@lusty flicker do the canvases in the UdonExampleScene work for you when you Build & Test that?
Default layer is fine, make sure you have a VRC UI Shape component on the canvas
@celest olive if you're proficient with C# then take a look at UdonSharp, it's pinned on this channel. It's not an official tool but it's very well made and highly compatible.
I actually thought about that but for now decided against it, because while Udon itself is a little volatile already, an unofficial tool might just cause more headaches ^^' Although I'm slowly losing faith in my abilities here.. Oh well. Learning process. I'm sure once I figure out my beginner mistakes things will creep back up to my normal speed
How do I set Video URL via an editor script when adding the vrc unity video player component?
I want to accomplish the same thing as entering a url via the gui.
Essentially I want to statically set hundreds of videos worth of urls. So they can't be changed during runtime.
you can make an UdonBehaviour with a public variable of type VRCUrl[] and fill that array from your editor script.
Does anyone know how to import a powerpoint presentation into VRchat?
Is there a way to check for the height of an avatar (and maybe if it's a humanoid model) in order to lock out "unfit sizes and shapes" from a game for example?
I can't seem to fill that VRCUrl array from an editor script. Do you mind giving an example?
Is your array public so it shows up in the editor in the first place?
Yep. I added a public variable of type VRCUrl[] to the udonsyncplayer prefab and dropped a copy in my heirarchy.
I'm not even sure how to even reference the variable from a separate script.
Sorry, I'm on mobile so I don't have the exact info. But poke around the UdonBehaviour class, you want to change the publicVariables member variable on it from your Editor script.
so for example:
UdonBehaviour testplayer = (UdonBehaviour)GameObject.Find("/testplayer").GetComponent(typeof(UdonBehaviour));
VRCUrl[] test = (VRCUrl[])testplayer.GetProgramVariable("myurls");
How do I even fill that array from my editorscript? I can't seem to create vrcurl objects to fill it with.
Harambe, maybe the easiest way is to convert the powerpoint into pictures or recreate it as separate unity ui text objects/textures, and just create a next/previous button system that advances the slides?
for which part?
I'm new to Udon but I have like a deadline to make for it to show my collegues that VRchat might be a viable option for teaching
for ummm recreate it as separate unity ui text objects/textures, and just create a next/previous button system that advances the slides
well. If i were you. Convert the power point to individual pictures. https://www.techrepublic.com/blog/microsoft-office/turn-powerpoint-slides-into-image-files-to-use-in-other-apps/
once you have those pictures, load them into unity. stick them all as seperate gameobjects
and then use udon to hide/unhide the gameobjects
fade?
how familiar are you with unity or the vrc sdk2 or even udon?
I installed it 2 days ago
LOL
I don't have the time to learn all the basics
right now
I just need to get it done
um, i suggest trying something else until you get used to the programs
what do I do then?
uhhh.... does it have to be a powerpoint? perhaps showing them a teaching world someone else has created might be more doable.
ummmm
at least the animator part that ithink you want should be rethought
bob maybe it is easier if I show you the world
perhaps.
@silent mortar thanks!
I'm trying to add a teleport Udon to a door in my scene but I'm having trouble. Every example I find online has nodes that I can't find via Udon's search thing
Does anyone have a teleport Udon graph they could share with me? I just need the player to teleport to another location in the same scene, after interacting or touching the door
I found this example online, and I can't even find the "target" node anywhere, it doesn't even come up in the search
(I'm extremely new to Udon, so this is probably a stupid question, sorry. This is my first time attempting udon at all)
isn't that just a public variable, which is then assigned via the inspector to a target gameobject?
Yup
Hm - wonder if it would be helpful if variable nodes had their own header colors to make it more obvious that they're different than the others.
Hmm yeah that wouldnโt be too bad. At least something that would say itโs a variable
How do I make player collider triggers local only?
Either use the isLocal node and check that with the player that collided or put the collider on the mirror reflection layer
Thank you
What would be the name of a node that only fires if true? If there is one
Vrcplayerapi islocal
I have that part.. The node the gives me a bool for if the player is local, what I am struggling to find is a fire if true node. So the logic would be is player local? If true > fire 'set object active.' And if it were not true it would not fire to the 'set object active' nodes
Basically the flow only continues if true
You rock, thank you so much! I used to use NEOSVR so the nodes are kinda way different and categorized different so this is all confusing in udon
anyone able to help me with door animations? iv watched vowgans video on how to animate doors when you interact with a knob. my setup works, only problem is when someone loads in, they see the door do a "close" animation. and ill be putting this animation on more than one door, i kinda want to avoid seeing doors close when loading in an instance. lol any help would be appreciated
hi guys, I have UI buttons in my udon world that I uploaded, the USharp Video player and things, I cant seem to get it work in VR but I can interact with in on desktop. Anyone have an idea?
Seems like you got a collider blocking the ui then
Anyone know how to programmatically (via unity editorscript) populate the url of the vrcunityvideoplayer component? Can't seem to do via script what you can easily do in the gui. I've got hundreds of video gameobjects so I manually entering these in isn't really realistically feasible. Creating an array of these to load ingame isn't really appealing because of the data structure I've got I'd have to somehow programmically duplicate a jagged array 4 levels deep into a vrcurl jagged array of the exact same size and dimensions in order for that to really work.
What I've got so far looks like this:
Except it errors out with "Object reference not set to an instance of an object"
The script works as in it adds the vrc unity video player component, but the url is blank.
I've been banging away at this for almost 13 hours now and I wish you can just disable getting player names in your world so the stock unity video player would just work without all this anti-doxing workaround.
Hello folks, I'm new here so hi to everyone.
So I got the Udon Example Scene working fine. But when I add 4 walls to it i can only see two of them? I have tried changing their position so they are inside the perimeter of the floor but it makes no difference. WHere am I going wrong?
(I'm kinda new to Unity)
UI interface of USharp Video Player stopped working for me, some elements still work like entering a video, but the volume bar and slider don't register interactions. Any tips what i should do to fix this ?
lol I thought this chat was about soup ๐
imagine my pain when i search solutions for VRChat stuff and google just gives soup recipes
lmao
@valid basin i was having that issue when i was trying to use a variable incorrectly, i think the program was just dying midway and my sliders/buttons just wouldnt work
what kind of variable @glacial oasis ?
i am using USharp Video Player just out of the box
and it was perfect before
did find this though in the log
VRC.Udon.VM.UdonVMException: The VM encountered an error!
Exception Message:
An exception occurred during EXTERN to 'VRCSDKBaseVRCPlayerApi.__get_displayName__SystemString'.
Parameter Addresses: 0x00000168, 0x00000151
Object reference not set to an instance of an object.```
i was a ui text that i tried to concat to strings, then assign to a ui text
Oh nevermind, I see what's going on, sorry.
Check which way your walls are rotated on the Y axis, try flipping them 180.
Hey, I just wanted to clarify something for myself: is Udon visual scripting currently the only way to program? Or can we use C# scripts?
@lyric mason
Udon works on the basis of a Virtual Machine. It processes instructions from an intermediary language which is called Udon Assembly. There is multiple ways you can assemble those instructions. You can straight up write in Assembly if you want to torture yourself, or you can use the inbuilt Udon Graph to have a visual interface. There also is a C# compiler from the community member Merlin which is called UdonSharp (U#). It can ofcourse only assemble a small subset of true C# based on the limitiations of Udon.
If you have basic knowledge of C# I'd say U#is the best choice as sometimes 2 lines of code in U# can be 20 nodes in Graph editor ๐
Can they be mixed?
i like the idea of u# but there was no override for ontriggerenter, so i went back to scripting
Merlin only creates virtual stubs for VRChat's methods. OnTriggerEnter is a method that is native to Unity, therefore it does not have an overridable virtual method.
Also both are forms of "scripting" so that last part made no sense.
do you got any examples on how to implement standard unity methods?
i am a c# dev irl zo i prefer to use c#
You just use it the same way you would do in a normal C# script in Unity
e.g.:
public void OnTriggerEnter(Collider collider)
{ }
Its 1:1 the exact same way you would use all other unity callbacks in a normal C# script that you would use in Unity.
intresting ill give that a try tomorrow
Guys is udon linked with hologram tech
Because i think 4 layer hologram is more light
Is there a way to have a player inside a station and keep playing animation like they aren't inside one ?
Does an UdonBehaviour's "Sync Position" also synchronize instantiation of new objects in the scene?
No. That feature (Networked Instantiation) is currently not implemented in Udon yet.
Yikes uh.. Now that's an issue if I want to shoot bullets I guess. Is raytracing a thing?
I think you mean Raycasting. Raytracing is usually a technique associated with Graphics.
And yes thats a thing you can do. I would also advise against instantiating Bullets or whatever on the network even if you could :P
Be warned that Networking still is rather complicated. Even outside of VRChat making a well networked FPS is difficult, and VRChat has a relatively bad ping considered to normal FPS games, since they usually run on dedicated servers in localized regions.
Oh right, my terminology is a tiny bit rusty haha. Hm.. So either it's using raycasts for shot interaction, or I guess having a box with 1k bullets pre-spawned and iterated over x)
Oh I'm aware of the ping issues. I'm still trying to figure out how to play around with that so that it might not feel "woah AAA game in VRC" but at least "Hey this is playable."
I do have some experience with netcode, so it won't blow me up all too much I suppose. For now I'm really just learning Udon anyway, so mostly exploring possibilities etc. :) Thanks!
Yeah there is probably some lag-compensation techniques you can make systems for. Also Favor-the-Shooter vs Favor-the-Target are both possible.
And object pooling would probably work, but you dont want fast moving objects that are position synced. Thats just generally a bad idea.
You would rather simulate the bullet locally and only network the information about when a bullet was shot and from where.
Generally: If the object cant be interacted with, dont network it directly. Rather network the cause of the objects movement.
Fair enough actually. I'll figure something out c:
Can't seem to find an answer for the SDK3 stuff. Just trying to figure out how to reset item positions on my world. Anyone familiar?
Even something that simple isnt that simple in VRChat lul:
If the object is not networked and does not have a Rigidbody you can simply set the Transforms position and rotation.
If the object has a non-kinematic Rigidbody you also need to set the (linear)velocity and angularVelocity to 0.
If the object is networked you can generally do the same, but it will lerp the position on remote clients which can look weird and cause unwanted behaviour.
In that case its usually easier to set the objects position below the respawn height (default is y = -100) and let VRChat handle that, since VRChat has a special method on networked objects to teleport them without the lerping behaviour that we dont have access to.
it appears the -100 respawn is in the VRC Scene Descripter. How do I call that exactly? Does it just automatically do it via the VRC script after some time, or is it after the object falls off the world only?
The respawning of networked objects is handled by the VRChat client. You do not need to do anything. As long as the object is below the respawn height, VRChat will attempt to reset the objects transform to its starting state.
I think I get it now! I appreciate it!
So, in the VRC Scene Descriptor, do I need to add spawns for each object that should respawn?
It seems changing the height in the Respawn Height is also making it an issue for my avatar as well. Is there a way to make this effect world objects that you can pick up only?
No thats why I said: You teleport the objects below the respawn height. You dont need to change the respawn height.
I see, I may be confused on how to teleport the objects then. Do I have to create a teleportto trigger for it? I'm just unsure how I'd go about doing that for a full set of different items.
Well you "teleport" an object by setting the position of the transfrom of the object.
How you do that for a set of items is up to you. If you just want to reset all Items, then there is different ways to do that.
But frankly there is no "no click wonder" for that.
So doing something like a large box area that is at the floor height as a trigger would work right? LIke having the object enter the trigger space for like x amount of time then changing it's transform down to like -110?
Where would I need to look if I want to add an udonbehaviour to all players joining my world? Is there a simple way to attach that, or would I have to make the player carry around an empty gameobject that houses it instead? If so, any way to do so that it's synchronized between all clients?
is there any performance impact on me splitting a large udonsharp file into multiple programs that reference each other? (for local play, not multiplayer)
Depends on how your referencing works, I'd assume. There usually is none in regular programming - and since as far as I can tell, Udon is using dictionary based method storage, there shouldn't be any in Udon either, unless you're switching from a flow based interaction within your class to an event based interaction instead.
And even then, for listeners to be performance heavy you'd need literal tons of them - Speaking about enterprise level applications here.
alright, sounds good. my projects are becoming way to messy to do as a single cs file at this point without having to rip my hair out
Fair enough! What I just mean is that the bulk of performance load will still come from what you're actually doing, not from how you communicate within your file. I'm at least 90% positive that there shouldn't be too much of an issue in that regard.
On that note, anybody know how to go about a try/catch behaviour inside udon? I just encountered the fact that shooting something without an udonbehaviour on my gun kills the script on that gun entirely.
I mean duh it wouldn't like that part..
was using this script and testing via Unity Editor, but apparently Forced Desktop returns true with this node. Is this just the way it works in Unity Editor?
strange, for me (in udon sharp) it will not on desktop, then aghain I am testing in game locally
fixed it, in case anyone has the same issue somewhen while searching. I just forgot that a check against null was a thing, so branch -> component equality between the getcomponent and const null did the trick.
Using Udon or other methods, is it possible to save player data after leaving and rejoining a world?
Is there a reason why my UI slider is not being interactable? I have a vrc ui element script on the canvas and canvas + children are on default layer and I can use the mouse in Play mode to drag the slider and my udon script works fine
But in Build + Play I cant interact with the UI slider at all
Since worlds in general are instantiated, I'd assume only with an external database. There may be ways to send your data off to a server/webhook and read from that again upon a player joining your world, although that might be a tiny bit hacky currently.
Anyone worked with OVR Lip Sync component and vrchat?
I believe you can accomplish this by having Exact Grip and then not placing anything into the Grip target.
how do i hide layers from the player view? I did it in the obvious way and although it works in editor, it doesn't work in-game
iv been trying some udonsharp and this
var owner = Networking._GetOwner(otherObject);
doesnt compile, it gives System.Exception: Invocation requires method expression. any idea why?
the _ methods are only for some special handling.
Just remove the underscore and youll be fine.
riiight i found the underscore sus, didnt notice the normal method ๐
thanks it works now
the culling mask on the main camera is set by VRChat. You can change it on cameras you add to the scene, but not on the main one provided by the Client.
Udon Graph Question. I have a Udon Graph with a bunch of "Set Time"'s in it and a bunch of different custom events to fire to set a audio clip to various times in it. Attaching this one big graph to all the buttons is fine as long as each button has it's own unique CustomEventString to send right? It won't cause any issues or lag? Or should I make a individual graph for each button that only says to set the audio to a certain time? I have 23 buttons to skip to 23 different spots so I would end up having to do 23 different graphs for that. I would like to try and avoid that but I don't know if my method of avoiding it will cause any issues.
Would this be where i ask for help? I noticed most of the VRC_ components are missing for me, and i get a few errors in console when i open my project
Assembly 'Assets/Udon/Editor/External/VRC.Udon.Compiler.dll' will not be loaded due to errors:
Reference has errors 'VRC.Udon.Graph'.
``` would be the first error
@floral dove so there's no way to hide layers in game?
wondering what would be the best way to get layers to only show up in cameras in the world (and not for you, the player) 
I haven't checked in a while but is a version of VRC_PlayerAudioOverride working in Udon?
I'm able to build and test my world fine, but i get these errors when i load my project, and most components (like VRC_Player mods for jumping) dont show up in the search on add components
Yes - check out https://docs.vrchat.com/docs/player-audio
Thanks momo!
you can manually import Cinemachine from Window > Package Manager > Cinemachine. You don't need VRC_Player for jumping, set the jump strength in the provided UdonBehaviour on VRCWorld.
hm, no - 2.6.3 is the version we include, best to stick with that one.
it's there
Do the errors only show up on first import? Do they appear again if you clear them out and Build & Test?
They do not show up on sdk import, only a warning about a certain shader, and ill check if they appear again on build&test
level loads fine in build and test, getting this output
i also can't strafe with a or d for some reason, lol
ah - that's just the Unity Editor complaining about GUI stuff. I don't love it, but it shouldn't affect your build at all. What is your Strafe Speed set to?
I've never played vrchat outside of vr so it very well could just be me not understanding what im doing lol
and yep that was it, thanks!
So all of these errors are ignorable?
Yes
Is there documentation for UDON integration with Cinemachine?
Not yet - but you can see what's available in the node search menu. Basically, you can set the Priority on Virtual Cameras and move carts around a bit
I'll check it out, thank you
why do players glow when they are near a spot light, even if the light is not pointed at them?
I am trying to triggering custom events across udon behaviors but can't seem to set it up correctly to make it work without it throwing an error. Is this more or less the idea of how it is supposed to work?
This graph should run the event named in the 'Event' variable on the UdonBehaviour referenced in the 'Main' variable when the 'Interact' event is triggered on this UdonBehaviour. If that's what you want to do, then yes.
Yes that is exactly what I want it to do. Does this work if this graph and the 'Main' graph are different graphs?
Or do they have to be the same?
It will work on different graphs.
This is how you trigger an event on another UdonBehaviour, yes.
That is what I was thinking. Time to debug why it halts the udon behavior when the interact is called
you can take a look at the way the InteractCube works in the UdonExampleScene, it does exactly this.
Oh thank you. I will look at that if I am still having trouble making it work (:
Is this the node I would use if I wanted to get all the current players in an instance as an array?
Yes, but you need to feed a VRCPlayerAPI array into it, with a big enough size to hold all the possible players in your world. Take a look at the programs under PlayerAudio which show how to use this. I highly recommend you go through all the examples and the Readme to learn about these things.
Hello everyone
Why do I declare the public variable in usharp and put the unity object, it will disappear after the start?
before start
after start
I might be wrong but I don't think doing that is supported. You can work with .txt files though, they're called textassets
How to conver int to string?
I use Tostring() not working
System.ExecutionEngineException: String conversion error: Illegal byte sequence encounted in the input.
Tostring should work just fine. That's a strange error, are you doing something weird with that int?
@grand temple lol seems to be a mono thing with certain (chinese) characters:
https://github.com/mono/mono/issues/7117
Can't really submit the bug into forums right now, but just wanna put this out there:
I had a prefab which has UdonBehavior component attached to it. However, I couldn't change some of its parameters (Synchronize Position and Allow Ownership Transfer On Collision). I can click the checkbox, but it reverts after I build and test. Changes to it made in prefab doesn't seem to be detected by Unity (the * of unsaved files didn't appear). I circumvented this by changing the parameters in prefab, then shuffling the Transform position a little bit so Unity detects a change and prompts a save.
Looking for help, I'm trying to play an audio clip, that is on a gameobject, with multiple other audio sources...
I thought this was set up right, but it's playing all the sources at once instead of picking the one clip out of them...
Any help would be appreciated, otherwise I'd have to make separate empties with sources for each clip...
Is there any chance that the other clips could be playing unintentionally from somewhere else in your code?
They're all built like that one, with different event names to run each
Like here is the Graze, plays an animation, then the sound
The only thing that I can think off is how the audio source is placed?
Like the emptyobject has all the sources, but in the code there is nothing saying which source to look at
But IDK how to put that in there, other than just dragging the emptyobject holding them
I may have found a bug? Or maybe I am just setting this up wrong. For some reason, if I disconnect the custom event and print the value of 'currentPlayerIndex' it displays the correct value at the start ('1'). However, if I connect up the custom event and print the value, I get a null value at the start
If you want to get one of those, you need to first get them with GetComponents and store that into a AudioSource array. (Do this in Start)
Then you get access them all by using AudioSource[] Get to get the specific index
Running multiple flows into the same directly from the start could be a bit buggy afaik. Just call SendCustomEvent in Start instead and send it to the custom event name
Ok, I will try that and see if it behaves differently
I'm still having trouble replicating this example teleport script... I just can't even find like half of these nodes in the search
like... I type Network into the search and that Networking node does NOT come up at all. Can someone please explain to me what I'm doing wrong
This is such an unintuitive system. I wish it was more like Blender's node search.
It shouldn't be this hard just to make a measly teleport from point A to B lol
that Transform Get Position node wouldn't come up either, I had to do it this way instead and I'm not even sure if it'll work the same way:
no clue how to create that "Vrcplayer api Teleport To" node either. I wish the person who posted this example had provided more details xD
@grand temple My script
private int times = 0;
void start(){}
void start(){
times += 1;
string num = times.ToString();
}
what's problem ?
I see no reason why that wouldn't work
are you sure that error is coming from that code?
What does the error actually look like in the console. Is it coming from Udonsharp?
yes is coming from UdonSharpBehaviour
private int times = 0;
void Start()
{
times += 1;
string num = times.ToString();
Debug.Log(num);
}``` ยฏ\_(ใ)_/ยฏ
why.....
Always Compile Error.....
System.ExecutionEngineException: String conversion error: Illegal byte sequence encounted in the input.
if it's a compiler error, that's very different
it could be coming from any script in your entire project
you're really not giving us much to go on here... did you import some package with scripts in it? Anything?
I only import Udonsharp and Udon SDK3
do you have any non-english characters in any of your scripts?
using UdonSharp;
using UnityEngine;
using UnityEngine.UI;
using VRC.SDKBase;
using VRC.Udon;
public class trigger : UdonSharpBehaviour
{
private int times = 0;
void Start()
{
times += 1;
string num = times.ToString();
Debug.Log(num);
}
}
this is my script
I don't think there is a mistake
yes I understand that.... Are you telling me that your project contains SDK3, Udonsharp, this script, and LITERALLY NOTHING ELSE?
Only this script error
I couldnโt succeed with this "trigger" compile program
idk, ask in the udonsharp discord. Maybe merlin can get to the bottom of it
I mean, it does say in my post that itโs expected that you have basic knowledge of Udon Graph ๐
Oh my bad, I missed that part ๐ ๐ I guess i need to watch a tutorial on the basics of Udon then...
But if you look at the very first part of the name, that will tell you what to look for
Networking -> VRCPlayerApi
Well
VRCPlayerApi is by itself too
So just hit space and type the name. Then you got to look for the method
well when I type Networking, a list comes up but VRCPlayerApi is nowhere in the list
if you're ever not sure what category something is in, you can press tab to do a full search instead
omfg. That was what I was missing. THANK YOU
I didn't know that ๐ญ I was doing right-click -> Create Node
Sorry for my noob moment @flint urchin Thank you for your script, I just got it working. Sorry for being a noob
How can I check if an udon behaviour I procedurally send an event to even has the event I'm trying to send in the first place?
There seems to be issues arising, if I force sending said event - which would be fine if I could just add it without any logic to every udonbehaviour I'm using as a workaround, but the respective players in the world do also cause that problem.. :/
to learn about the different ways to search for nodes, check this page in the docs: https://docs.vrchat.com/docs/searching-for-nodes
Quick Search Press the Spacebar to open up Quick Search, then type in the first few letters of the class you want to interact with. Full Search Press Tab to open up Full Search, then you can search for any method on any object. For GameObject.GetName, you could just search for 'getname' and see all ...
You can get a list of events in editor with udonsharp and editor scripting but that's really complex and might be overkill. I'm pretty sure events just get discarded if the target doesn't have the event. What do you mean by problems?
Well the specific behaviour is: I have a gun, an object that I can shoot (which reacts to the event) and plays a sound, environment (no udonbehaviour) and obviously players.
If I shoot the object it plays the sound, if I shoot the environment the script broke before, but I fixed that by checking against null (see screenshot)
If I however shoot another player and then the sound object again no sound is being played anymore for that specific gun. All other guns that never shot a player before still work.
the sound script really is nothing special.. It's supposed to be the basis for anything shot-related, though later.
You're checking null on the udonbehaviour correctly, but you also need to null check on the transform itself. Some objects are protected so trying to access anything about them will cause your script to crash
if an object is protected, then equality null will return true
anything vrc related like players, menus, and cameras are protected
Oh. Well that explains things, then. In that case how would I go about attaching things to the different players if I cannot access their transforms for position synchronization? Because that's the next thing I was gonna do
I'd assume the playerapi has methods for that?
Not yet. We're working on that as part of a larger system. In the meantime, you need to come up with some sort of proxy system.
you can't get the transforms of course but you can get the positions and rotations of all their bones
Like, when a Player joins the world, pull a Behaviour from a pool and attach it to them, give it a reference to the VRCPlayerApi
then you can go through the pool (or an active array subset) to get to each player.
OR - if you're doing stuff with Physics, you can use OnPlayerTriggerEnter/Stay/Exit or OnPlayerCollisionEnter/Stay/Exit to return the VRCPlayerApi directly
OnPlayerParticleCollision would work pretty well if remote client's hitboxes weren't just a sphere around their feet
maybe it works with combat system enabled? I've never tried that
Roger that. Also no physics, I'm probably going to use a similar solution as I've seen in FreezeTag of attaching a fixed size capsule collider to the player. That simultanously avoids the problem of me having to deal with differently sized avatars. The rest is just pretty simple game logic for now. Capture points, rudimentary health system etc. I'll peek into the combat system when I'm done with this map, as it's mainly meant as practice.
if you want to attach objects to everybody in the instance, check out my "simple object pool" prefab on the database at https://vrcprefabs.com/browse
it's made with udonsharp, but you could totally make a child script that uses graphs
you don't need to touch the parent script, but the child script is meant to be modified to fit whatever you want to do
there we go, that's everything you need for an object pool child when working with my simple object pool
in order to make this follow it's owner, all you would do is say something like on update > if owner is not null > transform set position to owner's position
Sounds simple enough x) Which script specifically are you talking about, though? I can't really find anything with the name or description with your name attached to it. The Toybox does come with object pooling, however it seems.
... And that's the moment she looked up at the tabs
Oh boy, ok I'm new to arrays, so I'm lost, I got the array made in variables
I understand the AudioSource[] Get that will be used to play the audio, but I don't understand the GetComponents on Start
Using an AudioSource GetComponents just causes an error when I connect Start to it
Itโs GameObject/Transform GetComponents<AudioSource>
The gameObject/transform is the gameObject those sources are on
But with Udon you donโt need multiple sources if youโre going to do play one shot
Just use AudioClips[] and a single audio source
How do I hide the in-game "interactable" highlight on things? I've seen it a lot of places but can't figure it out.
Just a quickie, I've been playing around with udon behaviour variable pass-through and for example if I set the interactions to a cube it works fine, it stores the sent value (gameobject) and will replace the old one if I change it dynamically, however this variable won't pass through to for example a UI button to be stored. Do UI buttons on a canvas element not handle this well? It's kind of the missing link to get what I'm working on to work. I have the script set both to the cubes and UI to a tee and only the cubes for setting and using the set value work.
I'm trying to figure out how to change variables through Udon Graph.
So say I have a variable isOn and I want to toggle it between true and false for something like a lightswitch, how would I go about doing this?
Using a branch with input of isOn should do. If true, set isOn to false. If false, set isOn to true
Ctrl + Drag a variable out of your variable list to get a Set Variable node. Kudos to Momo for telling me about that one x) With that you can simply set the value of a variable through your regular workflow however you want.
Anyone have an issue trying to build and test a world with "vrchat sdk3 worlds"? Build 2018.4.20f1
bro, just build and publish, its the best thing to tell if somethings the matter next to checking for errors
Ok. Im new to this so I didnt know thats what people normally do. ๐คทโโ๏ธ Thanks.
some people do
Thanks guys!
Can I ask for UdonSharp help here? How do I get the tag of a game object in udonsharp? Since .tag and CompareTag arnt exposed?
- You should probably head to Merlins Discord (on the UdonSharp GitHub page is a link) 2. You dont. Tags are inaccessible from within Udon. Not sure anymore if custom tags even exist in VRChat.
udonsharp โค๏ธ
hI ๐ Has anyone got tips on upgrading a SDK2 world to Udon? I tried deleting the VRCSDK folder and meta file and then opened the project and imported SDK3 but i'm getting a bunch of errors.
what do you mean by change the scripts? I removed sdk2 and imported sdk3, is that what you mean?
what scripts, if any, were used originally?
if none, then there should be no errors unless something else is occuring
none, i just used triggers ๐
what kind of triggers
the normal sdk2 trigger stuff for buttons
When I was updating my world to Udon, I found it was far easier to just start from scratch
But I also didn't have too much, so shrug
sdk2 triggers will not work
as they are sdk2
you will need triggers made from udon graph or U#
yeah I have removed all the missing components from my objects but i'm still getting errors. not sure where else to check
i'm not looking to use the old triggers, I will new ones but first I need to be able to setup udon correctly
The main thing you need to change is the scripting defines in your project settings since they are still set to sdk2
Project Settings > Player > Other Settings > Scripting Define Symbols
Switch 2 to a 3
i ll try that now
It worked :) thx a lot. One more question tho, why can't I walk properly? I can only walk forwards and back, not side to side
The default prefab has strafe set to 0
oh what are the default (sdk2) values for walk/run/strafe?
false is what i usually set them to, but i belive the number should stem from the normal wal speed
Is there persistent data storage? Can I store a user's data (like their high score and custom color) and can I store a high score that all users on every instance of the map can see?
How unfortunate
So, how would I go about setting a audio track's time globally off any players interaction? What node would I need to make me sync something globally?
The easiest way to sync one off things is using Networked Events.
However be warned that this will not sync up for late-joiners until the next event.
Ah I see, that works perfectly then. I have a audio player that plays everyone's audio separately but wanted a option for any individual to set their audio's position in time to everyone's on the click of a button. I imagine I would make it so it would pull their time off their audio source then globally set it
I am not seeing a networked event node though. Maybe I am just not looking in the right spot?
Well events can only be distinct "named" events. You currently cant pass any values with it. The node is under UdonBehaviour.SendCustomNetworkEvent(string name)
Ah, thank you. So I take it if I use a Custom Event SendCustomEvent to pull the timer for the local player, then make a second Custom Event SendCustomNetworkEvent with the same string name to fire on a delay ( I don't know if delays are currently possible) It would grab the time first and take a second to buffer before applying it locally if I am correct? (Edit: I can pull it without using a local custom event which I am stupid for not thinking about but I am not curious if it will pull everyone's own personal time and set it as that for every individual)
I guess my next question, I am sorry for so many questions, Is there a node to delay a flow/fire?
just fixed this issue for next release btw - thanks for helping people around it in the meantime
Good job Momo ๐
I'm having an issue in my world where I can't strafe left or right. I've tried it both on desktop and in VR and I can't seem to get it to work.
The default prefab has strafe set to 0 right now
As momo said right above he fixed it for the next release
I see it! Thank you so much!
Now I'm running into a weird issue when I hit "Build & Test" it's not actually building the world I have created... it's loading a build I made about 2 hours ago.
What's in your console after trying to build?
Can you show?
"Two delegators in existence"
Those wouldn't really stop a build from happening
Anything besides them?
How do I find out which one to delete?
The assets?
Just the single file
"Assets"(Aka all your project assets which you usually browse while inside your unity)"AllSkyFree"(Folder inside your assets folder)"AllSkyFree_Menu.cs"(The file itself with the problem)
Got it! Thank you for your help!
Can you make a ConditionalAnd for strings?(NVM Think I found it finally) Lastly, Is there a way I can call on the player name for who pressed a UIButton?
Depends on what you're after. But the display name is always accessible locally. Remotely you either got to sync the name (or player instance ID) or get it based on who is the owner.
I made a board game in udon, but the gamestate is not synced between players, so it can't be played. Are there any good tutorials to synchronize that stuff?
Run around the game a few more hours. Or something.
ooo ok
You can start by taking a look at the sync examples in the UdonExampleScene and the Readme alongside.
Why can't other players in my world hear the gun shooting? presumably i need to sync the sound somehow? edit: network events
error dowland vr chat sdk ==> https://docs.vrchat.com/docs/vrchat-home-kit
Resource Links Download Unity - Find the correct version at Current Unity VersionVRChat SDK - http://vrchat.com/download/sdkHome Kit - https://assets.vrchat.com/kits/VRChat_HomeKit_v1.unitypackage Description Home Kit is a Unity Package with the assets youโll need to customize and upload your own ...
fixed, thanks
How would I possibly make a button to show hidden rooms only for whitelisted players?
you could check if a user's display name is in a string array, you'll have to re-upload the world with updates to the array to add/remove users
im very new to scripting/udon noodles, is there a way to get a quick tut?
Welcome! I don't know of any tutorials incorporating this system but you can learn about using Udon here: https://docs.vrchat.com/docs/getting-started-with-udon
Alright! thanks a ton ๐
What layer should world UI be on, to avoid colliding with things (but not require the user to open their menu to click it)?
UiMenu I think
i'll try, thanks
thought that might require the menu to be open
Yeah thats why Im saying its confusing
the one that requires the menu to be open is UI
which is the default
oo
Thank you, I'll give that a read.
@fiery yoke sorry bub
uimenu does require the menu to be open
maybe UI is the one i need
Ohh really?
Was convinced its the other way round
Well then
Ohh I misread. Didnt see that maybe
i also applied it to the wrong canvas and broke my fancy buttons and spent half an hour being very confused :aaa:
my fault on that one
and UI is the same
so uh
It looks like this is the only channel active
so uh i got glitched
and now i cant search for avatars
i even reseted the game
@scarlet lake you can check the Physics matrix to see which layers will block the Player. Walkthrough is a good one if you want the player to be able to walk through it but still want it to respond to their raycast
ook
Im still pretty sure it should be UiMenu
this channel is for questions about our programming system Udon, check out the #faq for guidance on where to ask other questions
i tried both Helper - both require the menu to be open to click on
i wasn't sure which layers collided with the players... raycast? So hopefully walkthrough does the job
Well but we've been using Canvases for years now. And it always worked with some UI layer. So either youre testing is wrong. Or my memory is really fucked :P
i think back in the day, they only worked when you opened your menu
so behaviour has changed
since now they work on the default layer without needing menu to be open
If youre talking about 2018 maybe
2018 perhaps ye
But even then I dont think so. The canvas raycast behaviour hasnt been changed in a while
I'm trying to have a door that animates open and closed. I think I'm getting it. In C# I need to set the interacting player to be the owner of the object in an Interact() function, and update that player's door. Then, set the variable to close/open the networked doorway. Does the variable need to be special to trigger the OnDeserialization event? Or do all value changes on an owner's client trigger that in other players? And then update the other player's worlds in the OnDeserialization() function
I think there must be an Udon method that swaps ownership
i feel like my master checks rely on gameobject not changing owner
Interact does not automatically transfer ownership no
but to answer your question, i think all you need to do is send a network event to All when on Interact
but how will everyone else know
Then that state will reflect back on all users
You have a synced variable that keeps track of the door state
otherwise it would get out of sync for new joiners
Thanks, Blue and Help, I'll try to find the documentation for sending network events.
SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.Owner, "OpenDoor")
I need to learn to declare synced variables, and send network events.
and you can check the owner with Networking.IsOwner(_localPlayer, gameObject)
*Networking.LocalPlayer
if you want only the owner to do something
*owner = master
owner is not always master. But by default the master is the owner of all objects.
Also @scarlet lake Youre right, my memory is apperantly very bad on UI stuff in VRC
Is there part of the documentation with all the methods like "SendCustomNetworkEvent?"
Here is my first pseudocode for the networked door.
there's some auto-generated documentation at Assets\Udon\ReferenceDocs\index.html but there's nothing too helpful for SendCustomNetworkEvent. Basically, you need a target UdonBehaviour (can be self), then choose whether only the Owner of the object should fire the event, or if everyone in the instance including the owner should fire it.
Probably not exactly what you want to do
you can use Networking.IsOwner(GameObject obj) if you want to check if the person interacting is the owner
Networking.IsOwner (Networking.LocalPlayer, SomeGameObject)
This return true or false depending if LocalPlayer is owner of SomeGameObject
not sure why you care, though - if you have Interact broadcast an event to everyone including the Owner, then have the owner update their own synced variable, that would work. Or just have everyone listen to that broadcast and update their object locally.
The problem is (as always) late joiners
The only means to convey information to late joiners is by having a synced variable keep track of the current state
Yea everyone's gotta hate late joiners.. ๐
For a boolean state you can also rebroadcast the current state after they have joined, but for non-discrete values and anything that has more than just 2 states that gets complicated quickly
OnJoin() we could pass them the current state of synced variables
Thats unfortunately not how synced variables work
You can't pass them anything
Thanks so much for helping me out. I hope soon I can answer some questions on here, too
Yea that's true..
Synced variables are constantly sent. Their content is always being sent every "network frame".
It has some benefits but also huge cons.
One of the cons is that if you overload the network then RIP syncing and nothing will get synced so you need to be careful on what you sync
I found non-owners sending an event to the master to not propagate to other players
This worked for 4 test clients
But it still has the problem for late joiners.
events are (mostly) reliable but not buffered - they will happen for everyone but disappear, so late joiners have no way to know that they happened. That's where Synced variables come into play - a late joiner will get OnDeserialization events with the current state of all synced variables so they can catch up.
If you're uploading a world to Community labs and your limited to 1 upload a week.... if I update that map and try to upload the update, is that considered more than the 1 upload a week?
Is it possible to create variables in an UdonBehaviour that cannot be read from or written to by other UdonBehaviours? I'm using U# if that makes any difference, but I'm wondering about both graph and U#.
Updating your world is not considered more than one upload, it will remain and community labs and you can continue to update that specific map. You just can't upload a new map until after the 1 week period.
This is what i did. You would remove the debug stuff and replace it with what you want to do.
I didnt think anybody was gonna figure it out but you did!, thank you soo soo much ๐ @waxen breach I will test and build, test and build.
i had to make a button like this for a new world i was helping with.
ah i see, i might still struggle with udon a bit, still learning this new language
nonetheless 1000 thanks
@waxen breach one more question, is the text field and player trigger have public or synced checked for either one?
text field variable is not needed and was for the debug part. PlayerTrigger is a public variable. I have not messed with synced alot so i left that unchecked,
can someone help me, when making a world in sdk3 and using a blank canvas world my charachter/ other people can't walk sideways, just forwards and backwards, any help?
nvm i am just stupdi
Anyone know when animation sync will be fixed?
I am currently trying to use the editor to convert a bunch of RenderTextures(or RenderTexture[]) into a RenderBuffer[] array but the ctor for RenderBuffer[] only takes an int, and even if I initialize it to a fixed size, I can't typecast the RenderTexture to the RenderBuffer for RenderBuffer[].Set any ideas there?
Hi guys I got a problem in my world.
The problem is that I try to create two separate areas to connect to each other using the portal. In order not to make the two areas affect each other, I moved one of the areas to a farther place (for example, 1000 meters or longer). However, some texture errors started ๏ผlike glitching when I rotate my vision) to appear in the area furthest from the start of the test world. At the same time, I noticed that my character will also glitching in this area. Is there any way to fix this problem?
Just wanted to let anyone who sees this know, I ended up just doing it in U# ๐
public RenderTexture RT0A;
public RenderTexture RT1A;
public RenderTexture RT2A;
public RenderTexture RT3A;
public Camera CAMA;
void Interact()
{
RenderBuffer[] renderBuffersA = new RenderBuffer[] { RT0A.colorBuffer, RT1A.colorBuffer, RT2A.colorBuffer, RT3A.colorBuffer };
CAMA.SetTargetBuffers(renderBuffersA, RT0A.depthBuffer);
}
hey i dont know if this is neccessarily udon related but when i hit play my world crashes and i do not see any visible errors in my console. like none at all two warnings ab overlappings uvs but regardless it will open when i run a test build but when i go to publish it crashes after building the scene
is your unity crashing and giving you that red "!" when you try to publish? I have that sometimes but i just redo it and it eventually works but idk if theres something causing it specifically
so i basically get to the point where it is about to let me put in the world info and #s and etc but then a few seconds go by vrchat doesnt open and it just ends up crashing/closing
but unity doesnt tell me it crashed it just sorta disappears
well when you publish from unity it doesn't automatically open vrc, at least for it. Only when i build and test does it open vrc
but thats likely separate from the unity crashing anyway i don't know what would cause it and when it happens to me i dont get any errors back either just closes it self with a standard we encountered a problem message
hmm alright you said one solution is that it eventually works for you?
Ya it closes unity and i just reopen the project go through the process and it goes through, idk if something was running or hadn't finished loading and restarted cleared that up
ah alr well im stubborn ash so ill be reloading it for a min
hopefully this works ty
I'm not getting right click options in Unity for udon. for example, i don't have an option for creating a U# script. any ideas?
i've tried removing and reimporting but it isn't helping
what exactly are you trying to do?
learn, i haven't messed with it and am working on some stuff. some guides say make a u# script and do X for things
to me it sounds like you do not have anything imported, at least: not correctly
what is your sdk3 number/date? and then tell me what version of U#
well i downloaded the sdk yesterday from vrc so, thats up to date, and unity is 2018.4.20f1
thats not exactly what i asked but ill take your word for it lol, what about U# then? what version is stated on the unitypackage
well i don't have a u# package, that'd explain that
you might want to get that lol
where do i? google is useless for it
i thought u# was an udon thing for some reason
i would give you mine, but i am celebrating a holiday where innocent people died and were replaced afterwards
also udon is a lot cheaper than you think
as in no scripting required cheap?
no just in general, i can send you my package for U# when availible, otherwise, i suggest using bing to find the U# unity package
thats how i found it
thank you. and enjoy your thanksgiving!
you too
You don't need U# it you're just learning Udon - it's an unofficial add-on for advanced users. It can be found pinned to this channel if you want to learn more.
For world assets, do models HAVE to be exported to .fbx, or can I just use .blend files if I wanted?
thank you momo
What shader should I use on world assets that use textures with alpha transparency (supported for PC and Quest)?
Blend files have issues with vrc as far as I recall
Any recommendations on Quest-supported shaders that allow alpha transparency for world assets?
trying to create a button that gets the name of the player when pushed and if they are on the whitelist, then the button activates game objects
when i test this, the button disappears and the other game object i want to appear stays hidden
Is there a way to have background music in a world sound like it's playing in the background instead of originating from a single point in space?
like a 2-d source?
i know how to do it on sdk 2 but not 3
Right now my workaround is to have it set up with a high near distance, but even then that effects the volume levels from the left and right speakers depending on which way I'm looking.
There's two settings under VRC Spatial you need to set to encompass your entire map, I don't remember what they are exactly called, but you need to click to expand to see them by default
One sets the near distance, the other changes it from originating at a point, to originating from a sphere. So, when those two are set at whatever the size of your map is, it'll be even volume and not be coming from any one point
And please, for the love of god, set the volume to like 5% by default, and give users the option to turn it up on their own
Thanks! Volumetric Radius was exactly what I needed.
Does the Unlit/Transparency shader work on Quest?
Ok I had somebody make me a world and then they sent it to me so I can upload it however whenever I open it up and click the VRC SDK It only shows my sign in information not the ability to upload it
How do I fix that?
nevermind crisis aborted
When I try to upload my world to VRC servers, nothing happens?
also, happy thanksgiving:)
You most likely have two pipeline managers somewhere in the scene, you can search for them with the hierarchy search by doing "t:pipelinemanager"
The world debugger in my world tools also includes detection and an autofix for this ๐
https://github.com/oneVR/VRWorldToolkit/releases
I recommend that debugger, super useful tool ^
Thank you so much! @native estuary
guys i need to get my phone out on pc what keybind is it?
@scarlet lake is it a udon avatar?
yes
how do i make certain meshes/ materials ignore the Fog I have set in the Lighting tab in my world?
fog disabled
i'd like the fake skybox to be excluded from the fog
(and it it looks terrible maybe i can exclude all the buildings from the fog effect, since i like the subtle effect it has inside the room itself)