Featured Udon Worlds Row

Calling our creators! We’re going to premiere a ‘Featured Udon Worlds’ row on our Worlds menu for a limited time. Create a post in this thread to submit your creation!

  • You must include a link to the world so we can visit it and check it out.
  • Include some simple information or instructions in your post, so we know what we can expect to find in your world.
  • Focus on simplicity, stability and showing off something that’s now possible through Udon.
  • Bonus points for Quest compatibility!
  • Bonus points for including a write-up, example project available for download, or making the graph available for others to remix!

The deadline will be April 24th, 12PM Pacific / 3 PM Eastern / 7 PM UTC. Please make your post by then!

Please limit posts to submissions! Off-topic or non-submission posts will be removed.

8 Likes

Catch’a’Flight!

A superman-like flight system in a randomly generated asteroid field

World Link and a little preview:

In short this world showcases my udon-based flight system that i’ve been working on for quite some time at this point. Oh and it features 10k+ of gpu instanced asteroids in a field for you to fly around in :slight_smile: if you have a slower PC there is also a performance mode switch to help you out.

What to expect from the flight system:

  • Free flight in the direction your hands are pointing
  • Speed control based on how far apart your hands are
  • Automatic slowdown when approaching any surface you can land on
  • Boost gates
  • Desktop support

How it works

  • The whole thing was originally made in Udon Graphs, then remade in UdonPie (which prompted me to make the UdonPie getting started guide back in the day. Then finally ported to UdonSharp to get to its current state.
  • The overall system tries to recreate Stormland’s flight and glide (I removed the glide for this particular world as there was no place for it in space)
  • The flight uses a sum vector of your hand forward vectors and a dot product between them to determine the base direction and speed. The speed is lerped for smooth acceleration. The slowdown is lerped faster so you can stop on a moment’s notice
  • I then also track the head forward dot with the hands to check if the user points backwards and to nullify their velocity if that’s the case. Reason for that being that flying back felt kinda off and way to finnicky. With this kind of check in place - hovering is very natural and easy to use. I’ve seen many people just hovering in place and talking with others, which is something I hoped would happen and it did so completely naturally.
  • The takeoff / landing system works by doing a raycast to the floor and then scaling your speed value based on that (just an arbitrary min/max distance value). I also don’t slow players down below 20% (unless they do so themselves), because it felt very slow and boring to take off and land like that.
  • Just as a bonus: the glide system is utilizing the same ground distance check and then adjusts your velocity to always be in a 1-2m range above ground. It also checks for ground slopes by using vector projection to make it so you get the most speed while pointing parallel to the ground (that makes gliding across steep hills feel natural). The glide stops if you spread your hands (drop speed below 50%) or if you take off by pointing your hands above the horizon (or holding down a key on desktop).

I plan to share some U# source code, but currently the system is very specific to my own tasks so I would need to clean it up first. Plus I want to add some neat QoL improvements to it as well.

Current to-do

  • Add one-handed flight support (done)

  • Add player trails (done)

  • Add an option to sync the asteroid field random seed from master, so everyone sees the same set

  • Add general slowdown zones around points of interest

  • Add a slider for arbitrary asteroid field density, radius

  • Dynamically generate new asteroid fields when the player reaches the edge of the field to allow for a virtually indefinite flight

  • Add quest version. Technically the main blocker there is the field itself, but i should be able to sidestep that by making a version with less asteroids and make them way lower poly. Since they are all GPU instanced - they are pretty fast as is and should fit into quest at least in some capacity

  • Bonus: if at any point Particle Triggers would be exposed - i’ll be able to add collision support that would slow players down when hitting an asteroid or maybe even taking a “life” from them, to power some kind of racing mechanic through the field.

Hope you have fun in the world!

My personal recommendation is to play around with “Regenerate Asteroids” button and see if you come up with a cool pattern to take nice pictures of while hovering with some friends :slight_smile:
Or you can just chill at one of the rest stops and watch the star slowly float around in the distance

3 Likes

I’ll fill out this pitch in the coming week, but for the time being here is a link to my Codenames world.

WHERE

WHO
I’m FSP, I like code and anime.

WHAT
This is a fully-working implementation of Czech Game Editions’ fantastic card game Codenames, working as a network-enabled game inside of VRChat with the help of Udon.

The world is very light on graphics but quite dense on code. The world doesn’t rely on complicated movement changes, but instead highlights the capability of Udon to allow people to play games together over the internet in a way that simply was not possible (beyond the absurd amount of time it took to build and debug triggers) in SDK2.

ALSO, this world features the latest version of UdonChat, the system I have been working on to add text chat functionality to Udon. Although there are many improvements to be made, the current featureset of UdonChat is as follows:

  1. A UI that sits on the VR player’s right hand allowing them to view the chat log or open a keyboard.
  2. A keyboard hidden behind a keyboard input on desktop mode that gives access to the log and keyboard.
  3. A fully-implemented UK English-layout keyboard with working caps and shift key, and a text input box for people especially on desktop who just want to use their real keyboards.
  4. The keyboard also has a character freeze function which allows for easier real keyboard typing (due to how VRChat doesn’t discard player keyboard input during inputfields, for some reason)
  5. Powering all of this is UdonStringEvents, a system I wrote that enables complex network interactions via synced strings.

WHY:
Codenames is great, text chat is needed, I am a big nerd.

Hope to see other cool submissions in the coming week.

3 Likes

– You must include a link to the world so we can visit it and check it out.


–Include some simple information or instructions in your post, so we know what we can expect to find in your world.
This is a bird game that can be played in a controlled manner by waving wings
Focus on simplicity, stability and showing off something that’s now possible through Udon
Operation and gameplay are very simple
There is only one score, the highest record score,
PC jumps through spaces, VR swings arms
Know the rules of the game without any reminders

Stability is not good
Because VRCInstantiate () is used to generate the map infinitely (and destroy the first generated after a distance)
However, I did not use any synchronization function, the network error will occur in the generation, and sometimes cause the stuck
like this->
[PhotonView ID duplicate found: 13. New: View 13 on wall2 (scene) old: View 13 on wall2 (scene). Maybe one wasn’t destroyed on scene load?! Check for ‘DontDestroyOnLoad’. Destroying old entry, adding new]
Even if I use random number naming, it also causes this error

3 Likes

This world showcases script for grabbing in mid air and also how removing or decreasing gravity in combination with other mechanics makes for a fun time. Focus is on exploration with use of flying.

What to expect: simple flight system where you fling yourself around in low gravity.
lots of places to fly to.
time trial fly race track with high scores for everyone in the current instance.
Simple quests that encourage you to explore and find stuff.

future plans:
currently doesn’t seem to lag even with full lobbies, but will try to optimize further.
More Udon gimmicks if i can come up with any will be added in world for people to play.
more stuff far far away so people have en excuse to fly around more.

4 Likes

Udon Day Night Haven

Haven is a day-night simulation that allows real-time syncing of time between players. Udon has allowed me to get a players system time and network sync the time to other players. Allows awesome moments like watching the sunrise or sunset in VR in real-time with your friends!

Features:

  • Custom interpolation and lerping for 360 sun direction.
  • Real Life Clock sync
  • Sun full rotation manipulation
  • Global Time Syncing
  • Fireworks
  • Ability to stop-start rotation simulation
  • Advanced Performance Settings
  • Mirrors
  • Quest Optimized

The skybox used is RED_SIMS, RED_SIMS has designed the skybox to handle a lot of real-world sky features including:
Sunsets, Clouds, Full-blown accurate Star map from NASA. manipulation over the full simulation.

Beyond the day-night system, the world is using the most realistic lighting setup that I can currently achieve.

Including (please remember that this is all configured and handle through my settings manager)

  • Real-Time reflection probe (updates over 8 seconds)
  • Real-Time global illumination
  • Baked global illumination (bakery SH directional lighting)
  • ACES lighting with bloom.
  • Real-time directional light shadows
  • Light probes

The world’s Assets are included in the Assets tab on the UI in the world.

Simplicity

  • I have spent a fair amount of time simplifying the menus as much as possible for anyone to use, as well as building the world in a way where settings manipulation is hardly required for everyone but the master.

Stability

  • The project was created in UdonSharp
  • I have built a settings manager to handle the performance of the world. (shadow quality, Post-processing)
  • The performance is great thanks to running the only parts in a timed interval manner.
  • Only network continuous interval sync is a float value for the sun’s x-axis rotation. (y-axis are accounted for when interacted with through the UI)

Todo

  • Add more sounds and toggles of sounds.
  • further Skybox Material property manipulation
  • Korean & Japanese translations
  • Real World mathematical model of seasons and potential more advanced manipulation
  • Allow reassigning of the (“Player in charge”) when not in local mode.
  • Port code from my settings manager
3 Likes

World Link

Information

This is a simple excavator simulator.
You can learn how the right and left joysticks control the cab, boom, stick, and bucket.
The controls are perfectly similar to those in the real world.
There are many objects you can touch with a bucket of excavator, so also can play simple games like moving spheres from a big trash container to a small one.

About Stability

So far, everything is stable, but sometimes occupational accidents may happen such as tipping over.
In this case, you will need to make a new instance.

Anyway, this is complete as a game.

Bounus

  • Quest compatibility : No
  • Available for download : No ( Because I used UdonSharp. )

But this world itself will help others in creating a world of vehicles.

1 Like

Link:

information
It’s a world including
・TETRIS
・2048 (2048 is the name of the game)
・"Standable"floor (a moving floor that you can keep standing on it without “moving”)
・Desktop / VR controllable airplane
・Music visualizer
・other stuff that I’m working on…

stability
・TETRIS won’t sync correctly sometime but other stuff seems to be fine

Quest compatibility
yep!

example project
umm no (I’m using udon sharp so…)

2 Likes

this world have seven analog clocks, They display different time for each:

  • User’s Local time
  • UTC
  • JST(Japan), KST(Korea)
  • IST(India)
  • CST (Switzerland,Germany,France)
  • EST(New York)
  • PST(California)

What to expect :

the wall clock with options.

  • Switch UTC/Local Time/Selected Time zone
  • Any tick sound.
  • Switch Sweep/Step Movement.
    you can change these in editor.

Simplicity, stability :

It’s primary, and maybe is stable, because clocks don’t need sync.

Sample project and Graph :

You may downloading in Here

Future plans :

to be added:

  • Play gong every hour
  • Alarm clock function
  • Cuckoo clock function
  • Swing Pendulum
2 Likes

Allomancer’s Playground

World link

I’ve put together a small slice of a city and a few points of interest as a playground for game mechanics based on Mistborn. Allomancers can push or pull on nearby metal objects. If the metal object is heavier than you or is anchored in place, the force you exert is redirected back at you: granting limited “flight” and speed.

Basic Instructions

  • Trigger pushes, grip pulls (or left mouse to push and right mouse to pull in desktop mode). Both hands can independently push or pull, and pushing or pulling with both at the same time is necessary to get up to full speed.
  • Push on an anchored metal object below you to fly up, or pull on an anchored metal object above you.
  • The closer you are to the metal object, the more force you can push or pull with.
  • Unanchored objects like crates can be pushed around, but if you push them against a wall or floor, you will be pushed back instead. You can move crates around and use them as portable launch pads.

Other Info

  • Inputs are read directly, no pickups are required to start using Allomancy.
  • Pointing at a metal object with your hand doesn’t have to be exact – I’m sending a broad spherecast out, so a general direction is enough.
  • Hundreds of high-performance blue lines! This took me a while to solve, since solutions that required lots of UdonBehaviours were not cutting it for performance. I’m now using a single Udon script to toggle lines comprised of a skinned mesh renderer and two bones placed using animation constraints, and I’m able to hit 90 FPS on my fairly old PC.
  • Dynamic audio that shifts in pitch and volume depending on the player’s speed.
  • There’s a low gravity zone, where Allomancy can be used to push around objects that have no gravity or fly with much more ease than outside the zone. Objects can also be pushed out of the zone and will start falling again.
  • Works in desktop mode.
4 Likes

Play Udon Reversi

You can play Reversi against Udon-AI or another player!

Simplicity

  • As I implemented Reversi’s rules and simple AI, you can play alone or with friends comfortably.
  • All you have to do is select playing first or second and click once a turn, and then finally you’ll see the result!

Stability

  • Game state synchronizes for all players in room except late-joiner
  • Late-joiner can play or inspect new game
  • You can start new game anytime, so you can stay room even if current player leaves or in case somthing has broken

AIs currently do

  • Animate in game and react the result
  • Take the corners and avoid to be taken them
  • Put a piece to turn over as many pieces as she can (the middle character)
  • Consider to reduce opponent choices (stronger one)

Todo

  • Upload for quest users
  • Serialize the game state and deserialize for late-joiner
  • Make its AI stronger (avoid being wiped out, and complete foreseeing in end game)
  • Simplify its ownership-taking system and publish the UdonSharp code!
3 Likes

Udon Bingo

Show off

  • Fully event driven udon sharp scripts.
    • Not used Update and FixedUpdate event!!
  • Pickupable Udon state synchronization well done.
  • It’s a small world (under 200kB).
  • Quest compatibe.

Simplicity

  • Implement well-known game: Bingo
  • UDON generate a bingo board and cards.

Stability

  • Late joiner can play bingo togother.
  • PC and Quest users play bingo togother.
  • Ownership is controlled well.

ToDo

  • A quest user see a pc user behaiviour high latency.

Project

The project is published.

3 Likes

The Shrink Table

Its hard to explain what it does, but to make it short: You can shrink yourself, and others can move objects that you can walk on. The red plate is what you want to step on. Other than that I hope the rest is pretty self-explanatory. This is not meant as a “singleplayer” experience!!

World Link:

Some important info:
This world uses ‘special rendering’‚ your (stream) camera will not work correctly! You will also not be able to HEAR or TALK TO people that are shrinked, unless you’re shrinked as well (untill PlayerAudioOverride gets re-added).

Please report any problems you find so I can fix them .-.

And special thanks to Merlin for creating UdonSharp <3

3 Likes
  • You can ride a motorcycle
  • You can fall a lot
  • Realistic handle operation
  • The difficulty of operation is intentional
  • The body leans in turns
  • Gradually changing engine sound
  • Synchronized steering angle, wheel rotation and engine sound
  • Old Japanese countryside summer
  • Supports both of VR and desktop

I haven’t been able to publish this world in the Community Lab yet because I published another world this week.

3 Likes

Sky Rings

World Link

What is it?

Sky Rings started off as a playground for testing personal things but quickly turned into a small competition map of collecting rings in the sky.

The Map currently includes:
  • Personalized colors that players can pick for themselves and show off to others.
  • Rings that display the player’s name and color when captured.
  • Synchronized score counting.
  • Combo counting if you fly through the rings fast enough.
  • Thrusters with varying power levels that you can use to fly around.
  • Placeholder graphics!

Instructions

When spawning in, you're met with the player color picker. You can use the color sliders or available color presets to get your desired color that you want to show off to the world.

After being satisfied with your color or just simply letting it be what it is, the thrusters are located in the middle of the spawn platform with an instructions button next to them.

To fly properly, you want to pick up one for each hand. Any rotation works, but it's suggested to aim the wider part downwards for the Ironman style of flight.

After you get the hang of that, you're ready to capture some rings and show others how you dominate the skies with your color!

If you're fast enough, you'll even score some combos!

In case you don't want to see your score and speed displayed in front of you, you can toggle the HUD by clicking behind your head or pressing E on desktop.

Remember: Never go full power, small thrusts will keep the flight accurate.

Plans

There's a lot possibilities I want to create but some of them are:
  • Actual graphics and bigger environment. (Though I love the cubes.)
  • Scoreboard that shows current instance’s top players.
  • Synchronized time challenges of who can collect the most points within a limited time.
  • More personalization like player specific thrusters and secondary colors.
  • Proper flight for desktop users

Shooting Game with a Flight System

Flight system

VR Mode

  • Can be operated with one hand.
  • You can move in the direction of the arrow in the air if you pick up and use the object of the arrow type that tracks the player.

Desktop Mode

  • You don’t need to have any special object.
  • You can enable or disable the flight system by pressing the Enter key.
  • When enabled, the direction of the viewpoint can be moved forward with the WASD key.

Shooting game

  • When you pick up a gun in the world, your Display Name will be displayed on the scoreboard.
  • When you are ready, the master of the instance presses the switch to start the game.
  • The goal of the game is to fly around the world in 3 minutes and score more points by hitting more targets.
  • You can play together with up to 20 players.

World link

Udon

Flight System (UdonSharp)


Shooting System (UdonSharp)

Todo:

  • Create generic shooting game samples with more in-depth program design.
  • Create more exciting game stage!
1 Like

Grabbity Gloves UDON

Grabbity Gloves is a Half-Life: Alyx-inspired world with the post-apocalyptic bunker environment and the gravity gloves mechanic similar to Alyx’s one. It has a bunch of stuff to grab just to play around as well as a simple quest / easter egg to get a headcrab hat.

World features:

  1. Stylized assets that remind the Half-Life: Alyx ones yet nothing was ripped from the original game
  2. Super optimized for performance with fully baked lighting and many enclosed rooms and corridors for even better occlusion culling.
  3. A little fetch-quest to find 10 Combine resins in order to open the vault’s door with a headrcab and a mirror waiting for you.

UDON features

  1. Online players list with an indication of master, VR/Desktop mode and current user. Works robustly for any amount of players (no hardcoded max value) and performance friendly (only updates on player join and left events). Udon# compiler by Merlin was used for this one.
  2. Gravity gloves-powered pickups that work both for VR and Desktop made with 200 lines of C# code and Udon# compiler by Merlin. For these I’ve decided to use standard VRChat pickup system as it is robust and controller-invariant (meaning controller pointer direction). “Use” event is…well…used here which allows the pickup highlighting via default VRChat highlight. On use the pickups get a velocity to balistically fly to your hand’s or Desktop user’s chest location. On top of the the XZ-velocity is enforced for the short period of time after launch too in order for the pickups to work better in cases they are stuck between colliders. But not only it launches an object towards your hand. It also orients is while it’s approaching you in order to make sure its rotation is correct (with a possibility to specify a transform which should coincide with the player’s view, like the custom grip on pickups. Special tweaks were made for the small distance pull as well in order to improve it’s robustness.
  3. Udon was used for the quest pickups and door + headcrab jump and following your head management as well which made it many times easier than it could be with VRCSDK2.

Here’s a Tweet with video which shows off the gravity gloves mechanic and teases the vault’s doors opening.

3 Likes


This is a simple flight system based on the movement of the player’s hands, hold both triggers and move your hands to fly, desktop players can fly by pressing the spacebar. The world has sliders for players to locally adjust their gravity and the force they exert on themselves. This was a collaboration between peptron1 and akalink who created the udon scripting and environment respectively. Peptron1’s flight system is available for download on the prefabs database: https://docs.google.com/spreadsheets/d/e/2PACX-1vTP-eIkYLZh7pDhpO-untxy1zbuoiqdzVP2z5-vg_9ijBW7k8ZC9VP6cVL-ct5yKrySPBPJ6V2ymlWS/pubhtml

The world also happens to be quest compatible!

1 Like

Title is a little self explanatory. Its a game world were users can play freeze tag. taggers which are indicated by red capsules try,This text will be hidden and freeze the runners indicated by green capsules. when you are frozen you cant move and have your capsule turn white. other runners can unfreeze frozen users to get them back into the game.

I do believe I can make this quest compatible, but will need some time to convert it over.

This mainly shows off what we can do just from accessing the players api in udon. With the immobilize bool players can be frozen. create a favor the shooter system for the tagger. as well as making a networked object pooling system for the capsules.

I have the project files uploaded to my patreon. (will be uploaded in the morning)

2 Likes