Included inside the package is a VRCCustomWorld prefab in the Essentials folder. This is a prefab that includes the world descriptor, the Udon version of playermods, and the playerlocal capsule. I recommend using this as the base of your world, as it has all the essentials needed for almost any world.
A simple counter that can add, subtract, multiply, and divide a float value using the increment provided by the user, and then display it onto a UIText.
List of custom events
Add
Subtract
Multiply
Divide
There are 2 ways to use the counter, which are to directly call the custom events, or to use the provided button events. If you wish to use the button events, you simply activate the gameobject and it will do the event listed.
The distance check will calculate the distance between transfrom 1 and 2, and then display it as both an public float variable and as a UIText field. The ToggleWhole custom event will toggle whether to round the value to the nearest whole number or to display as is.
This prefab will set gameobject active states in their respective array lists. If you wish to only use 1-2 out of the 3 (Set Active, Inactive, Toggle), then you only have to fill that specific array.
Mirrors
This is a simple speedometer that takes the speed of transform put in the Reference Object variable, and then optionally displays it onto a UIText. Users have the option to round it to the nearest whole number, and change the refresh rate.
(NOTE| Requires Playerlocal Capsule prefab in world in order to function)
The teleport pads prefab allows the player to be teleported between 2 pads. Each pad has both a single destination and receive point. The Teleport Point variable is the destination, and the child object Receiver Point is the location in which the user will be teleported to.
There are many different kinds of timers, all of which have their use-cases.
Pulser
When active, this will send a pulse every x amount of seconds to a target udon event.
Phasedragon Delay
This script acts as a helper for other udon scripts, it does not do anything on it's own. This allows you to easily add delays or timers to your scripts.
Basic howto:
1: Make a new gameobject and add the timer script.
2: Set up your main udon script so that it calls the event "StartTimer" on the new gameobject you just created.
3: Specify an udon script in "EventHost". This is the script you want to call an event on when the timer is finished.
4: Specify the name of the event in "EventName".
NOTE | There is 1 major difference when communicating with the script via U# vs a graph! When using a graph, make sure the "UsingUdonSharp" variable is false, and a delay is inputed! When using U#, just send in a float value with the function call as a variable.
Events:
StartTimer: Start the timer
CancelTimer: Cancel the timer
Options:
OverwritePreviousTimer: This determines what will happen when the start timer event is called when a timer is already active. Disabled
will ignore the input, while enabled will restart from the beginning and cancel the previous timer.
UsingUdonSharp: This is to allow the timer to communicate with a graph.
NonUSharpDelay: This is the timer delay for when communicating with a graph.
ProgressAnimatorEnabled: This enables the progress animator.
ProgressAnimator: This allows the timer to communicate with an animator if you want a visual representation of the progress. It will communicate the progress as a float value between 0 and 1.
ProgressBarEnabled: This is an alternative to the animator that will scale the selected object with the progress of the timer.
This is meant for situations where you only need scaling, rather than all the other extended features an animator would provide.
ProgressBar: The object that will be affected when ProgressBarEnabled is true.
ProgressBarMin/Max: These two vectors will be the starting scale and the ending scale of the progress bar if it is enabled.