I just followed another tutorial on how to setup a toggle, and whilst the tutorial was well made and functional, I came out of it not really having a clue what I'd just done. So I'm incredibly glad to see this one. It just explained everything I did, and is the first UDON video I've seen that makes me feel significantly less lost, rather than more lost. I actually feel like I might have a chance of following a logical process of my own design now, without needing to google examples I can "paint by numbers" from. It's always been a key part of learning for me. Unless I understand how and why I'm doing something, absolutely nothing will stick. So thank you for that.
Glad to hear that it helped ^^ It's unfortunate that the video hasn't done as well as I hoped; as I feel like explaining why stuff is written as it is is more helpful than just showing how to do something. That being said, those videos have their place. Hanging out in help threads, I've often seen other people's scripts and found functions and methods that I never thought of, and adapted those into my new scripts. That's what I've hoped my videos can do for others, and it's also why I explain each script once I've finished making it. I always love hearing people take parts of one script, and mix it with another to get something new, or just modifying a part of it, as that is where a bunch of learning happens. However, I didnt see that happen much, as I believe people found it too daunting or confusing, and thus they just sticked to what was shown. This video is me trying to bridge that very early step, where people don't really know anything, so it's harder for them to take that new knowledge and do something with it. Glad it has done that for you (though perhaps the video it's a bit long for some others) I would recommend my video on events that I released just before this one, if you haven't already. Covers basically all the events that you'll use when making your own scripts ^^
@@PlayerBush001 That's unfortunate, since I bet it'd help a lot of people out. But yeah, I'll definitely be checking out some more of your videos. I've been out of world creation for far too long, and have a lot to learn.
Just discovered your channel and so far it's the best I've found for VRChat tutorials. This video in particular is so incredibly helpful for someone like myself who is new to making worlds in VRChat. I also really appreciate your upbeat personality, and your concise explanations. Please keep making videos!
13:50 For the udon graph crashing, I believe I found the issue for this and how to solve it. I noticed my graphs only crashed if I had a public variable with a gameobject set to it in the component and then I deleted the public variable before deleting its references (the gameobject that was dragged and dropped into the component in the inspector as well as the variable's node placement in the graph). My solution was to make sure to delete the references, deleting them out of the component in the inspector and then deleting the node off of the graph. Then unchecking that the variable is public, hitting compile/reload, that way to remove its option from the component, then I can safely delete the variable from the graph. Since doing this, I have no longer had a graph crash on me. If this is the same issue as yours, hopefully this helps you Edit: and if I forgot to do this step and had a crashed Udon graph, when I'd re-open the graph, itd be completely blank. But I believe, if I recall correctly, just creating a new public variable within the graph, I think I usually just did a gameobject, it'd refresh it all and bring all my work back
Interesting... For me udon was crashing as soon as I dragged it into the code, so I don't know if that lines up with what you've seen. It wouldn't correct itself if I hit compile, and even restarting unity didn't fix it. Personally, since I almost always want to rename it anyways, it's often just as fast to just make it manually (also isn't a thing in u#). I only showed it here, as I figured it would make it easier for people to understand variables ^^
Btw, love your tutorials, theyve helped me a lot. And while i like your smaller, bite size tutorials that go over a single scenario where its lessons can maybe be applied to other scenarios, i reeeally like these last couple of tutorials that are longer form and give info that can be used more generally. Its like a "The Basics of Udon/Unity" series where it covers only one small category, but every single subcategory of that category. I would really like one of these on networking, since i think thats one of the biggest headaches for new world makers. Like the differences between continuous/manual/none syncing, what different nodes that are related to networking and how they can be used, etc. I know these things are touched on here and there, depending on the situation you have yourself in during said tutorial (like the cube color only changing for one player or the one tutorial you did in the past that i think covered a door or a toggle that needed to be synced up with late joiners), but it'd be great to have all of this info in a one stop shop video
Glad your liking the udon101 series; it's been a long time coming! Networking is certainly something I want to cover in this series; though I'm debating about how to approach it. Last time I tried explaining networking it didn't do well, and barely anyone has watched those videos. Even making it a playlist didn't help ^^' (th-cam.com/play/PLj9bdRmMxX-4XVo_25-ttr2zxP094bkoM.html) Certainly something I will/ want to cover, and this time I'm sure I'll make it more approachable ^^
I wish there more videos like this when I started to learn world development, this is so helpful. Good job with the video, I know this will help many people significantly.
This answered a long standing question for me: How the heck do people know what nodes to look for? Thanks for the explanation of how nodes are determined!
Thanks for covering the basic of using nodes, Its been the most helpful tutorial I've seen so far for us fresher scripters. Would love one on setting up and controlling animations and materials from Udon Graph.
Id love to see more of these, id suggest talking about the differences and how they work between Local and Global, partly id just like to seem more ways to make scripts global and optimized for global
Your tutorials are very helpful. They helped me a lot ^^ So clear and simple! Also i have a question, is there any possibilities to create a simple version of minigolf using only udonsharp?
Glad it helped ^^ Walking sounds has been something request a couple of times so I may cover it in the future. I am a little torn on how simplified it should be though
Like the movement method used in some vr games, or something different? If you instead want to shoot a player, things get a bit of a pain due to the player's gameobject being protected/ not exposed in udon
@@PlayerBush001 I just want to shoot at players and they will be teleported where or an effect comes from the bullet and explodes or that you can shoot an object and it disappears
Sure, though it is done a little different. If you just want to change the first material on an object, you can use the node 'meshRenderer, set material' to change it (It's a bit more of a pain of it's the 2nd, 3rd, 4th, etc... For that, you would need an array). You can then use a bool variable and flip it, and then plug it into a branch node to do one node if true, and a different if false. Have a look at my video all about events (one fore this one) for more on that. I also have an example that toggles the color on the object, that I use to showcase when events play
@@normioffi You can use the node 'Material, EnableKeyword (_EMISSION)' and 'Material, DisableKeyword (_EMISSION)' to enable and disable emission. Simply use a branch node to choose if it plays the enable or disable node
Eh... kinda. If you make every player enter a station (set to mobile) when they enter your world, you can then locally set that station to be immobile, and move it far away. This will lock the player's position to the station's, so you can locally change their position. However, doing so, anything they pickup will still show in their hand, but as they are miles away, you won't see it in the same position as they see it (as they on their end, will still be in the map). A fix for that would be to make your own object sync, but I haven't covered that on my channel. Lastly, you also won't be able to add any seats or such to your world, as it may mess it up. Also also, player's temporarily leave their station when loading, and can also enter each other's station during that time, so people may not be in their station and/or may be loading for you, and thus won't disappear Alternatively, you could use the camera technique shown in my jumpscare tutorial, and update the camera's position and rotation each 'event, post late update' frame; but if they ever update the vrc camera by taking a screenshot with f12 or updating the clipping range on their camera; they will need to restart vrchat to see the disappearing effect again. Also, quest users will see it delayed by a frame, which is very much not ideal. So yea, hope that helps.
I just followed another tutorial on how to setup a toggle, and whilst the tutorial was well made and functional, I came out of it not really having a clue what I'd just done. So I'm incredibly glad to see this one. It just explained everything I did, and is the first UDON video I've seen that makes me feel significantly less lost, rather than more lost.
I actually feel like I might have a chance of following a logical process of my own design now, without needing to google examples I can "paint by numbers" from. It's always been a key part of learning for me. Unless I understand how and why I'm doing something, absolutely nothing will stick. So thank you for that.
Glad to hear that it helped ^^
It's unfortunate that the video hasn't done as well as I hoped; as I feel like explaining why stuff is written as it is is more helpful than just showing how to do something. That being said, those videos have their place. Hanging out in help threads, I've often seen other people's scripts and found functions and methods that I never thought of, and adapted those into my new scripts. That's what I've hoped my videos can do for others, and it's also why I explain each script once I've finished making it. I always love hearing people take parts of one script, and mix it with another to get something new, or just modifying a part of it, as that is where a bunch of learning happens. However, I didnt see that happen much, as I believe people found it too daunting or confusing, and thus they just sticked to what was shown.
This video is me trying to bridge that very early step, where people don't really know anything, so it's harder for them to take that new knowledge and do something with it. Glad it has done that for you (though perhaps the video it's a bit long for some others)
I would recommend my video on events that I released just before this one, if you haven't already. Covers basically all the events that you'll use when making your own scripts ^^
@@PlayerBush001 That's unfortunate, since I bet it'd help a lot of people out. But yeah, I'll definitely be checking out some more of your videos.
I've been out of world creation for far too long, and have a lot to learn.
Just discovered your channel and so far it's the best I've found for VRChat tutorials. This video in particular is so incredibly helpful for someone like myself who is new to making worlds in VRChat. I also really appreciate your upbeat personality, and your concise explanations. Please keep making videos!
You've helped me more than any teacher I ever had 😊 Thank You!
Your welcome ^^
13:50 For the udon graph crashing, I believe I found the issue for this and how to solve it. I noticed my graphs only crashed if I had a public variable with a gameobject set to it in the component and then I deleted the public variable before deleting its references (the gameobject that was dragged and dropped into the component in the inspector as well as the variable's node placement in the graph).
My solution was to make sure to delete the references, deleting them out of the component in the inspector and then deleting the node off of the graph. Then unchecking that the variable is public, hitting compile/reload, that way to remove its option from the component, then I can safely delete the variable from the graph. Since doing this, I have no longer had a graph crash on me. If this is the same issue as yours, hopefully this helps you
Edit: and if I forgot to do this step and had a crashed Udon graph, when I'd re-open the graph, itd be completely blank. But I believe, if I recall correctly, just creating a new public variable within the graph, I think I usually just did a gameobject, it'd refresh it all and bring all my work back
Interesting... For me udon was crashing as soon as I dragged it into the code, so I don't know if that lines up with what you've seen. It wouldn't correct itself if I hit compile, and even restarting unity didn't fix it.
Personally, since I almost always want to rename it anyways, it's often just as fast to just make it manually (also isn't a thing in u#). I only showed it here, as I figured it would make it easier for people to understand variables ^^
Btw, love your tutorials, theyve helped me a lot. And while i like your smaller, bite size tutorials that go over a single scenario where its lessons can maybe be applied to other scenarios, i reeeally like these last couple of tutorials that are longer form and give info that can be used more generally. Its like a "The Basics of Udon/Unity" series where it covers only one small category, but every single subcategory of that category.
I would really like one of these on networking, since i think thats one of the biggest headaches for new world makers. Like the differences between continuous/manual/none syncing, what different nodes that are related to networking and how they can be used, etc. I know these things are touched on here and there, depending on the situation you have yourself in during said tutorial (like the cube color only changing for one player or the one tutorial you did in the past that i think covered a door or a toggle that needed to be synced up with late joiners), but it'd be great to have all of this info in a one stop shop video
Glad your liking the udon101 series; it's been a long time coming!
Networking is certainly something I want to cover in this series; though I'm debating about how to approach it. Last time I tried explaining networking it didn't do well, and barely anyone has watched those videos. Even making it a playlist didn't help ^^' (th-cam.com/play/PLj9bdRmMxX-4XVo_25-ttr2zxP094bkoM.html)
Certainly something I will/ want to cover, and this time I'm sure I'll make it more approachable ^^
I wish there more videos like this when I started to learn world development, this is so helpful. Good job with the video, I know this will help many people significantly.
Same, but at least they're here now
The hardest part is getting started, so I'm happy to be a jumping of point for others ^^
This answered a long standing question for me: How the heck do people know what nodes to look for? Thanks for the explanation of how nodes are determined!
Thanks for covering the basic of using nodes, Its been the most helpful tutorial I've seen so far for us fresher scripters. Would love one on setting up and controlling animations and materials from Udon Graph.
Great to hear!
These last two videos have been a while in the making, but if they are help get new coders of the ground, then it's worth it ^^
this is so eye opening thank you so much
@@NekoCube glad you found it helpful ^^
Id love to see more of these, id suggest talking about the differences and how they work between Local and Global, partly id just like to seem more ways to make scripts global and optimized for global
This was super helpful, thank you 🙏🏽 😊
Glad I could help ^^
Your tutorials are very helpful. They helped me a lot ^^ So clear and simple! Also i have a question, is there any possibilities to create a simple version of minigolf using only udonsharp?
Thank you for making this video! Very helpful!
Also, I’m curious if there will be a tutorial on “walking sound” in the future.
Glad it helped ^^
Walking sounds has been something request a couple of times so I may cover it in the future. I am a little torn on how simplified it should be though
Can you show how to make a pistol where to shoot or teleport
Like the movement method used in some vr games, or something different? If you instead want to shoot a player, things get a bit of a pain due to the player's gameobject being protected/ not exposed in udon
@@PlayerBush001 I just want to shoot at players and they will be teleported where or an effect comes from the bullet and explodes or that you can shoot an object and it disappears
Or the ball falls to the ground and disappears after a while and if a player steps on it before, the player is teleported.
i need one with enabling portals. it either stays one even with the boolean and unary or stays off if i try to hide the hierarchy
Hello i have a question, with a toggle, can we change a material??? Because i need to make a system like that when a player collide with a object
Sure, though it is done a little different. If you just want to change the first material on an object, you can use the node 'meshRenderer, set material' to change it (It's a bit more of a pain of it's the 2nd, 3rd, 4th, etc... For that, you would need an array). You can then use a bool variable and flip it, and then plug it into a branch node to do one node if true, and a different if false. Have a look at my video all about events (one fore this one) for more on that. I also have an example that toggles the color on the object, that I use to showcase when events play
And what if i just want to disable a keyword like emission?
@@normioffi You can use the node 'Material, EnableKeyword (_EMISSION)' and 'Material, DisableKeyword (_EMISSION)' to enable and disable emission. Simply use a branch node to choose if it plays the enable or disable node
Is there a way to toggle hide all players and show all players from a click of a button?
Eh... kinda.
If you make every player enter a station (set to mobile) when they enter your world, you can then locally set that station to be immobile, and move it far away. This will lock the player's position to the station's, so you can locally change their position. However, doing so, anything they pickup will still show in their hand, but as they are miles away, you won't see it in the same position as they see it (as they on their end, will still be in the map). A fix for that would be to make your own object sync, but I haven't covered that on my channel. Lastly, you also won't be able to add any seats or such to your world, as it may mess it up. Also also, player's temporarily leave their station when loading, and can also enter each other's station during that time, so people may not be in their station and/or may be loading for you, and thus won't disappear
Alternatively, you could use the camera technique shown in my jumpscare tutorial, and update the camera's position and rotation each 'event, post late update' frame; but if they ever update the vrc camera by taking a screenshot with f12 or updating the clipping range on their camera; they will need to restart vrchat to see the disappearing effect again. Also, quest users will see it delayed by a frame, which is very much not ideal.
So yea, hope that helps.
Can I switch lightmaps this way?
Possibly. I haven't played around with changing light maps, or seen anyone doing so. Not going to say you can't but if so, I wouldn't know