action nodes - Suvidriel/VNyanDoc GitHub Wiki

For information on how the Node Graph System works, see the Node Graphs page.

Action nodes are nodes that perform a specific action. They characteristically consist of a (teal) Listener socket, and optional (red) Variable Input sockets. They do not have (yellow) Call sockets. They cannot directly activate other nodes (but see Trigger Nodes).

Types of Action Nodes:

Input and Output:

  • M - Manual input
  • T - Trigger output*
  • S - Socket input/output**
    *Action Nodes as a rule do not have Call Socket that signal if the the Action Node was activated or not. No Action Node will send trigger output.
    **Action Nodes do not have Output Socket Values, and so S will exclusively refer to Socket input.

For more details on node input and output, see Input and Output methods


Action Triggers

Action Trigger Nodes are nodes that will perform a specific action when they are triggered.

Throw Item

Triggering this node will cause copies of an item to be thrown at the avatar.

Input Values:

Name Method Type Description
Items M - Which throwable item to throw when throwing items. When multiple items are selected, the node will randomly select one of the toggled items each time an item is spawned. The list only contains throwable items loaded into VNyan, loaded from items\throwables when starting VNyan.
Amount to throw M/S Int The amount of items to throw. When multiple items are selected from the Items list and Amount to throw is larger than 1, multiple different items can be thrown per trigger, with the total amount thrown equal to the value set in Amount to throw.
Destroy after seconds M/S Int Number of seconds to wait after a copy of an item is thrown before despawning.
Flinch Power M/S Float The amount that the head flinches when hit by the throwable. 0 = none, 1 = max.
Time between throws M/S Int When Amount to throw is larger than 1, the amount of time between each thrown item, in milliseconds.
Sticky Override M - Set whether thrown items stick to the avatar or not.
  • Default - Only items that internally have the sticky property will stick to the avatar.
  • Sticky - All items thrown by the node will stick to the avatar.
  • Not Sticky - No items thrown by the node will stick to the avatar.
Volume M/S Float Volume multiplier applied to all audio sources in thrown items.
Item Tag M/S String A user-specified item tag used by the Collision node to filter events. Empty = not in use.
Scale M/S Float A value by which to scale thrown items. Values smaller than 1 will shrink the thrown items, values larger than 1 will expand the thrown items.
Throw Direction M - Specify the direction where items are thrown from.
Throw Target M - Specify the avatar bone that should be targeted by the throw node.
Throw Height M/S Float Height added to the throw direction. Can be used to correct the throw when the target is over/undershot.
Force M/S Float The amount of force with which the item is thrown.
Stick for milliseconds M/S Int How long sticky items will stick to the target after hitting, before falling off.

Community Note: We are currently unsure whether Flinch Power is applied only to the Head bone, or to whichever bone is set as the Target bone. Please let us know if you can confirm.

Bubble

Fires 2D images from the camera towards the Avatar. Bubbles will always face the camera. Bubbles can be added by placing .png, .gif images inside `vnyan/Items/Bubbles`.

Input Values:

Name Method Type Description
Items M - Which images to fire when firing bubbles. When multiple items are selected, the node will randomly select one of the toggled items each time an item is spawned. The list only contains images items loaded into VNyan, loaded from items\bubbles when starting VNyan.
Amount to throw M/S Int The amount of images to fire. When multiple items are selected from the Items list and Amount to throw is larger than 1, multiple different images can be fired per trigger, with the total amount fired equal to the value set in Amount to throw.
Flinch Power M/S Float The amount that the head flinches when hit by the bubbles. 0 = none, 1 = max.
Item Tag M/S String A user-specified item tag used by the Collision node to filter events. Empty = not in use.
Scale M/S Float A value by which to scale thrown items. Values smaller than 1 will shrink the thrown items, values larger than 1 will expand the thrown items.
Bubble Speed M/S Float The speed at which bubbles travel to the target.
Pop Particle M/S Bool Toggle whether to play a pop particles effect when the bubble is destroyed.
Is Sticky M/S Bool Toggle whether the bubble sticks on the avatar instead of destroying it right away.
Sticky Destroy Time M/S Int If Is Sticky is toggled on, the amount of time to wait after bubbles stick to the target before being destroyed, in milliseconds.
Direction M - The direction from where the bubbles are shot, relative to the camera.

Community Note: We are currently unsure whether Flinch Power is applied only to the Head bone, or to whichever bone is set as the Target bone. Please let us know if you can confirm.

Food

Spawns food item in either avatar's hand or floating around the head. Food items are loaded from the items\edibles folder.

You can adjust the placement of the food item on the right or left hand of your avatar with the sliders provided in the Colliders etc menu.


Input Values:

Name Method Type Description
Position M - The position where the food item is spawned.
  • Floating - the food item is spawned floating in front of the head.
  • Right Hand - The food item is spawned attached to the right hand. The food item will follow movement of the hand.
  • Left Hand - The food item is spawned attached to the left hand. The food item will follow movement of the hand.
    Items M - Which food item to spawn when spawning food items. When multiple items are selected, the node will randomly select one of the toggled items when an item is spawned. The list only contains food items loaded into VNyan, loaded from items\edibles when starting VNyan.
    Item Tag M - Item tag for Collision-node's filtering. Empty = not in use.
    Scale M - Sive of food item.

    Drop Item

    Triggering this node will drop copies of an item onto the avatar.

    Input Values:

    Name Method Type Description
    Item M - Which droppable item to drop onto the avatar. When multiple items are selected, the node will randomly select one of the toggled items each time an item is spawned. The list only contains droppable items loaded into VNyan, loaded from items\droppalbes when starting VNyan.
    Destroy after seconds M/S Int Number of seconds to wait after a copy of an item is dropped before despawning. If the value is not set, droppable items will not despawn.
    Amount M/S Int The amount of items to drop. When Amount is larger than 1, copies of the droppable item will spawn over a short period of time, rather than all spawning simultaneously. When multiple items are selected from the Items list and Amount is larger than 1, multiple different items can be dropped per trigger, with the total amount dropped equal to the value set in Amount.
    Random Spawn M/S Bool Toggle whether to randomize the spawn location and the rotation of the droppable item upon spawn.
    Volume M/S Float Volume multiplier applied to all audio sources in dropped items
    Override Mass M/S Float Specify the mass of the droppable item instead of using the internal mass value of the droppable item.
    Override Drag M/S Float Specify the drag of the droppable item instead of using the internal drag value of the droppable item.
    Item Tag M/S String A user-specified item tag used by the Collision node to filter events. Empty = not in use.
    Scale M Float A value by which to scale dropped items. Values smaller than 1 will shrink the dropped items, values larger than 1 will expand the dropped items.

    Confetti

    Blasts a 3D onfetti effect at your avatar and plays a party popper sound effect. This node has no input or output values.

    For custom confetti, it's recommended to use custom Throwable Items instead.

    Bonk

    Bonks the avatar four times with a baseball bat, and plays a hitting sound effect on each hit. This node has no input or output values.

    For a custom bonk effect, you could use the Props system instead.

    Headpat

    Plays a simple headpat animation. This node has no input or output values.

    For a custom headpat effect, you could use the Props system instead.

    Yeet

    Yeets the avatar in ragdoll mode.

    Input Values:

    Name Method Type Description
    Yeet Power M/S Int The amount of power to apply to the yeet. Setting this value to 0 will simply turn on ragdoll mode.
    Seconds to respawn M/S Int The number of seconds to wait until the model respawns back in the tracking position.
    Yeet Direction M - The direction in which your model is yeeted (Backwards, Forwards, Left, or Right)

    Flinch

    Adds a brief flinch effect to your avatar when triggered. This can be used to recreate a flinching effect for objects that do not normally have a flinching effect.

    Input Values:

    Name Method Type Description
    Flinch Power M/S Float The power of the flinch, scaled from 0 to 1.

    Add Force

    Applies a specified amount of force onto the avatar and activates ragdoll mode on the avatar based on exact values.

    Input Values:

    Name Method Type Description
    Force X/Y/Z M/S Float The amount of force applied in each direction based on world space.
    Torque Force X/Y/Z M/S Float The amount of torque applied along each axis based on world space.
    Seconds to respawn M/S Int The number of seconds to wait until the model respawns back in the tracking position.

    File Loading

    Play Sound

    Plays the loaded sound file when triggered.

    Input Values:

    Name Method Type Description
    Sound File M/S String The path to the sound file to play (.mp3, .ogg or .wav).
    Volume M/S Float A multiplier for the playback volume of the sound effect, ranging from 0 to 1.
    Duration in milliseconds M/S Int The amount of milliseconds to play the audio.
    Fade Out in milliseconds M/S Int The duration of a fade-out effect at the end of the sound effect in milliseconds.

    Play Music

    Plays an audio file when triggered. Only one audio file can play at a time.

    Input Values:

    Name Method Type Description
    Sound File M/S String The path to the sound file to play (.mp3, .ogg or .wav).
    Volume M/S Float A multiplier for the playback volume of the music, ranging from 0 to 1.
    Loop M/S Bool Toggle whether the audio loops when it finished playing.

    Stop Music

    Stop the currently playing audio when triggered. This node has no input or output values.

    Load Avatar

    Load in an avatar and unload the current one. VSFAvatars can be cached under Miscellaneous Settings to swap between avatars faster, at the cost of memory.

    Input Values:

    Name Method Type Description
    Avatar File M/S String The path to the avatar file to load.

    Load World

    Load world a new world and unload the current one.

    Input Values:

    Name Method Type Description
    World File M/S String The path to the world file to load.

    Animations

    Set Pose

    Load and set a static VNyan Pose on the avatar.

    VNyan Poses are JSON files that can be created with the VNyan SDK. A tutorial on how to create VNyan Poses can be found here: https://www.youtube.com/watch?v=XWGh7iv9O6Q

    Input Values:

    Name Method Type Description
    Pose M/S String The path to the pose JSON file to load.
    Blend Values M - A list of floats that describe the degree to which each bone's pose values are applied and override tracking values. These settings can be used to mix a pose with tracking.
    Smooth milliseconds M/S Int The amount of milliseconds over which the transition from tracking to the pose is smoothed.
    Leap Motion after motion M/S Bool Toggle whether to apply leap motion tracking after posing if hands are tracked.

    A tutorial for how to create VNyan Poses can be found here: https://www.youtube.com/watch?v=XWGh7iv9O6Q

    Known issues:

    • While there is an input socket for the Blend Values, no node exists that outputs this value.

    Clear Pose

    Clear the loaded VNyan Pose. This node does not have input or output values.

    Save Pose

    Save the current avatar bone rotations as a VNyan Pose that can be loaded later.

    Input Values:

    Name Method Type Description
    Pose file M/S String The path where the pose JSON file will be saved to.

    Play Animation

    Play a VNyan Animation on the avatar.

    VNyan Animations are vnanim files that can be created with the VNyan SDK. These files must be placed in the Items/Animations directory and a restart of VNyan.

    Input Values:

    Name Method Type Description
    Animation to Play M - The name of the animation to play.
    Blend Values M - A list of floats that describe the degree to which each bone's animation values are applied and override tracking values. These settings can be used to mix an animation with tracking.
    Smooth milliseconds M/S Int The amount of milliseconds over which the transition from tracking to the animation is smoothed.
    Animate Eye Bones M/S Bool Toggle whether the animation should override eye bone rotations.
    Leap Motion after motion M/S Bool Toggle whether to apply leap motion tracking after posing if hands are tracked.
    Pause Tracking Effect M/S Bool Toggle whether tracking animations should be disabled while the animation plays.

    Known issues:

    • While there is an input socket for the Blend Values, no node exists that outputs this value.
    • Toggling the Pause Tracking Effect setting may cause strange deformations during the animation.

    Set Animation Speed

    Set the animation injector playback speed.

    Input Values:

    Name Method Type Description
    Speed M/S Float The speed multiplier for the animation playback. Can be negative as well.

    Stop Animation

    Stop the currently playing VNyan animations. This node does not have input or output values.

    Record Animation

    Record your movements for a specified amount of time and save that as a unity humanoid anim-file. Writing the file is resource intensive, so it is not recommended to use this node while streaming.

    Input Values:

    Name Method Type Description
    Anim file M/S String The path where the animation file will be saved to.
    Milliseconds to record M/S Int The duration of the recording.

    Play MMD motion

    Play a VMD motion on the avatar and camera. Note that not all motions play well on Unity humanoid rigs without more precise retargeting. If your motion does not work as intended, then we recommend using tools like MMD4Mecanim and adding the motion to the vsfavatar file.

    This node can also add Camera VMD motion. However, Camera motion will not work without a VMD motion.



    Input Values:

    Name Method Type Description
    VMD File M String Path to the character motion file.
    Camera VMD File M String Path to the camera motion file. Requires Character motion data in order to work.
    Music File M String Path to the music file to play during motion.
    Volume M/S Float A multiplier for the playback volume of the music, ranging from 0 to 1.
    Lipsync from motion M/S Bool Toggle whether to apply lipsync blendshapes from motion data.
    Head Stiffness M/S Float A modifier to adjust how much the motion data influences the head movement. Some motions may move the unity humanoid rig head too much, which can be corrected with this value.
    Camera Y-adjust M/S Float A multiplier to move the camera along the Y-axis.
    Distance multiplier M/S Float A multiplier for camera distance.

    Known Issues:

    • VMD-files are loaded at startup, and accessed when the node is triggered. Consequently, despite the fact that the node has input sockets for the VMD Character and Camera files, the node will not work as intended when setting these file names through the sockets.

    Community Note: We would like to include (a reference to) instruction on how to add MMD motions to a vsfavatar file, as suggested in the node description.

    Stop MMD motion

    Stop the currently playing MMD motion. This node has no input or output values.


    Camera Nodes

    Camera

    Move the camera to a saved camera position. Camera position presets can be created in Miscellaneous Settings.

    Input Values:

    Name Method Type Description
    Camera M/S Int Slot number of the saved camera position that needs to be activated, as listed in the camera settings.
    Transition milliseconds M/S Int The number of milliseconds over which to move from the current camera position to the target camera position.

    Camera Look At

    Set the camera to follow the active Avatar with specified behavior.

    Input Values:

    Name Method Type Description
    Active M/S Bool Activate or deactivate camera following when the node is triggered.
    Smoothing M/S Float How much the camera lags behind avatar movement, creating smoother camera movement. 0 = camera is perfectly follows the avatar, 1 = camera movement is maximally smoothed.
    Distance M/S Float The distance/zoom of the camera. Valid input values range between 0.2 and 15. -1 = not in use.

    Camera Smooth

    Set smoothness of camera movements.

    Input Values:

    Name Method Type Description
    Smoothing M/S Float How quickly camera movements are completed. 0=instant, 1=max smoothing.

    Camera Tilt

    Oscillates camera tilt around a specified angle from the original position, with a specified repetition time. Deactivating restores the camera tilt to the original position.

    Input Values:

    Name Method Type Description
    Active M/S Bool Activate or deactivate oscillating camera tilt when the node is triggered.
    Duration M/S Int The number of milliseconds between the far points of the oscillation (i.e. a full loop takes two times the specified amount of time).
    Tilt Angle M/S Float The maximum angle that the camera should tilt away from the original angle.

    Note

    The tilt effect is not automatically disabled upon switching cameras.

    Camera Orbit

    Rotate the camera around the avatar, with offset.

    Input Values:

    Name Method Type Description
    Active M/S Bool Activate or deactivate camera orbit when the node is triggered.
    Orbit Milliseconds M/S Int The amount of milliseconds to make a full rotation.
    Mirror Direction M/S Bool Toggle whether the camera should move clockwise (on) or anti-clockwise (off).

    Note

    The orbit effect is not automatically disabled upon switching cameras.

    Known Issues:

    • Disabling the orbit effect in the same frame or later as a Camera node is activated will result in the wrong final camera position. This can be avoided by waiting one frame between disabling the camera orbit effect and activating a Camera node.

    Save Camera

    Save the current camera configuration to a preset slot.

    Input Values:

    Name Method Type Description
    Camera M/S Int The preset slot to which to save the current camera configuration.

    Set Focal Length

    Set the camera's focal length to a given value.

    Input Values:

    Name Method Type Description
    Focal Length M/S Int The value to set as the new focal length. -1=set the focal length to the default value.

    Custom Objects

    Spawn CObject

    Spawn a copy of a Custom Object with specified properties.

    Input Values:

    Name Method Type Description
    Item M - Which Custom Object item to spawn. When multiple items are selected, the node will randomly select one of the toggled items each time an item is spawned. The list only contains custom objects loaded into VNyan, loaded from items\Objects when starting VNyan.
    Position X/Y/Z M/S Float The position value along a given axis.
    Rotation X/Y/Z M/S Float The rotation value along a given axis.
    Unique ID M/S String A string given to the specific instance of the Custom Object. This can be used to identify the specific instance of the Custom Object during interactions. Giving multiple instances the same ID will have all instances respond identically to nodes that call for the ID. If no Object ID is set and despawn time is set to -1, the custom object is only removed upon restarting VNyan.
    Destroy after seconds M/S Int The amount of seconds until the object automatically despawns. Default = 30 seconds; -1/ = object is not destroyed automatically.
    Scale M/S Float A scale multiplier to spawn the custom object in bigger/smaller.

    CObject Transform

    Move a custom object to a specific position, rotation and scale. Specific instances of objects can be selected by their Object ID that was set when spawned.

    Input Values:

    Name Method Type Description
    Object ID M/S String Value used to identify the instance(s) of the Custom Object.
    Position X/Y/Z M/S Float The target position value along a given axis.
    Rotation X/Y/Z M/S Float The target rotation value along a given axis.
    Scale X/Y/Z M/S Float The target scale value along a given axis.

    CObject Force

    Apply force and torque to a Custom Object, causing it to move. Applied force can be either relative or in world space. Specific instances of objects can be selected by their Object ID that was set when spawned.

    Input Values:

    Name Method Type Description
    Object ID M/S String Value used to identify the instance(s) of the Custom Object.
    Force X/Y/Z M/S Float The amount of force applied along a given axis.
    Torque X/Y/Z M/S Float The amount of torque applied along a given axis.
    Relative M/S Bool Toggle whether applied force should be relative to the object (i.e. additive; on) or to world space (i.e. overwrite current force; off).

    Destroy CObject

    Destroys Custom Object by ID. Specific instances of objects can be selected by their Object ID that was set when spawned.

    Input Values:

    Name Method Type Description
    Object ID M/S String Value used to identify the instance(s) of the Custom Object.

    Trigger Nodes

    Start Timer

    Start a timer with the given name for specified duration of time. Once the timer ends it sends a trigger signal to all Timer callback nodes listening for the specified name. Timers are shared between all graphs

    Input Values:

    Name Method Type Description
    Timer Name M/S String Name of the timer to set.
    Milliseconds to Trigger M/S Int The number of milliseconds before timer nodes of the same name are activated.

    Notes

    The node generally works by checking every frame if Milliseconds to Trigger has elapsed. This means that there is a lower limit for how short you can make timers based on framerate. For example, 60fps means that each frame runs every 16.667ms, making this the fastest the timer can run. However, setting the timer to be smaller than this will reduce any error in the timing.

    Setting the timer to 0ms will ensure that the timer will trigger every frame. For graphs that need to be running constantly and shouldn't have any skipping to occur, for instance if you are animating bone rotations on your avatar, best practice is to set the timer for 0ms.

    Call Trigger

    Signals all Trigger callback nodes with the specified name either instantly, or on the next frame. This allows the creation of 'functions'. Triggers are shared between all graphs.

    Input Values:

    Name Method Type Description
    Trigger Name M/S String Name of the trigger to call.
    When to trigger M - Whether the trigger should be called immediately, or on the next frame. When multiple Call Trigger nodes are set to execute now, the triggers are called synchronously according to the order of execution.
    Value 1/2/3 S Int An integer value that is forwarded to the listening trigger nodes.
    Text 1/2/3 S String A teext value that is forwarded to the listening trigger nodes.

    Notes

    VNyan's API can be used to listen to Call Trigger nodes, allowing plugins to interact with node graphs. The name, and integer and text value inputs of the Call Trigger node are also forwarded to Trigger Listeners in the API. See VNyan Plugin Interface for more details.

    Websocket Message

    Send websocket-message to a specified server. To use this node, you will need to activate the WebSockets Receiver under Miscellaneous Settings.

    Input Values:

    Name Method Type Description
    Server Address M/S String The address to send the message to.
    Message M/S String The message to send.

    Toggles

    Effects that can be turned on/off by triggering the same node multiple times.

    Toggle Prop

    Set or toggle the visibility of a prop.

    Input Values:

    Name Method Type Description
    Prop M - Which prop to adjust the visibility of. Props must be set up through the Props menu before they can be selected in the Toggle Prop.
    Status M - Select whether the visibility of the selected prop is toggled, set on, or set off when the node is activated.

    Spinner

    This node toggles the avatar spinning in place. Activating the node a second time will turn off the effect.

    Input Values:

    Name Method Type Description
    Spin Speed M/S Float The speed of the spin. Setting a negative value will spin the avatar opposite way.

    Water

    Toggle a water effect.

    Input Values:

    Name Method Type Description
    Active M/S Bool If Is Toggle is off, set whether activating the node will turn the water effect on or off.
    Direction M - The direction from which the water effect is launched (front, top, left, or right).
    Water color M/S Color The color of the water.
    Opacity M/S Float Adjust the transparency of the water.
    Is Toggle M/S Bool Indicate whether activating the node multiple times will deactivate and reactivate the water effect.

    Slime

    Toggle a liquid slime effect. Collides with the torso collider.

    Input Values:

    Name Method Type Description
    Active M/S Bool If Is Toggle is off, set whether activating the node will turn the slime effect on or off.
    Slime color M/S Color The color of the slime.
    Absorption M/S Float The amount of light absorbed by the slime. This value filters all colors except the selected Slime Color. A lower value makes the slime more transparent.
    Scattering M/S Float The amount of light being scattered by the slime. Visually makes the slime cloudier. Max value makes the liquid opaque.
    Is Toggle M/S Bool Indicate whether activating the node multiple times will deactivate and reactivate the slime effect.

    Wind

    Toggle a wind effect on VRM springbones.

    Input Values:

    Name Method Type Description
    Wind Direction M/S Vector3 Select whether the wind comes from the left, right, front, back, or top(up). More detailed wind directions can be specified using the Decimal to Vector3 node.
    Wind Power M/S Float The power of the wind in the effect.
    Is Toggle M/S Bool Indicate whether activating the node multiple times will deactivate and reactivate the wind effect, or adjust an on-going wind effect.

    Rain

    Toggle 2D rain effects on or off. Up to five concurrent rain effects are supported. Toggling rain off will stop the emitter, but will not clear the already created particles.

    Input Values:

    Name Method Type Description
    Rain Slot M - Which rain slot is toggled by the node.
    Rain Type M - Select whether the toggled emitter behaves like rain, snow, or falling leaves.
    Rain Texture M/S String Path to a PNG file to use as particle graphic.
    Density M/S Float The density of rain particles.
    Speed M/S Float A speed multiplier for the simulation behavior.
    Size M/S Float A size multiplier for the particles.

    Integrations

    Emote Dropper

    Adjust the Twitch emote dropper settings.

    Input Values:

    Name Method Type Description
    Emotes per emote M/S Int The number of emotes dropped for each emote used in chat.
    Spawn Radius M/S Float The radius in which emotes are spawned.
    Size Multiplier M/S Float A value with which the size of the emote is multiplied.
    Gravity Multiplier M/S Float A value with which the effect of gravity on the dropped emote is multiplied, causing it to fall faster or slower.
    Lifetime milliseconds M/S Int The amount of time after spawning the dropped emote before it despawns, in milliseconds.
    Emotes Face Camera M/S Bool Specify whether emotes falls across the screen as 2d objects facing the camera, or 3d objects that can turn away from the camera.

    Community Note: It is unconformed whether the Spawn Radius is centered around the avatar or the world origin.

    Twitch Shoutout

    Shout out a Twitch user by raining down their Twitch profile picture as an image. Twitch integration must be enabled in the VNyan settings. Use with caution; ToS unfriendly profile pictures may evoke a response from Twitch.

    Input Values:

    Name Method Type Description
    Username M/S String The username of the Twitch user to shout out.

    Load Twitch Profile

    Fetch details for a specific Twitch user. The node calls the Profile Loaded node, which can be used to extract the results.

    Input Values:

    Name Method Type Description
    Username M/S String The username of the Twitch user whose profile to load.

    Edit Twitch Redeem

    Edit the settings of a Twitch Redeem. Twitch integration must be enabled in the VNyan settings and the redeem must have been created through the VNyan Integration.

    Input Values:

    Name Method Type Description
    Redeem to edit M - The redeem whose settings should be modified by the node.
    Is Enabled M/S Bool Specify whether to enable or disable the redeem.
    Title M/S String Set the name of the redeem. Required.
    Channel Points Cost M/S Int What to set the cost of the redeem to.
    Require User Input M/S Bool Specify whether the redeem requires user input when redeemed.
    Prompt M/S String The prompt asking for user input.
    Use Global Cooldown M/S Bool Specify whether the cooldown is shared across chat or specific to each user.
    Cooldown Seconds M/S Int The length of the redeem cooldown, in seconds.

    Community Note: We would like to add more details about the Promt input. Please let us know if you have more information about it.

    VTSPog TTS

    Send a message to the VTSPog application. VTSPog needs to be running and correctly configured for this node to work.

    Input Values:

    Name Method Type Description
    Target M - Specify whether to use TTS or AI voice.
    Message M/S String The message to send to VTSPog.
    User's name for AI M/S String What username VTSPog should use (only applies to AI).

    Lovense Action

    Send an action to a connected Lovense toy.

    Input Values:

    Name Method Type Description
    Action M - Which action the toy should perform.
    Strength M/S Int The strength at which the action will be performed. Most values accept values between 0 and 20. Pump and depth actions accept values between 0 and 3. Decimal values are rounded down by default (for example, 2.4 will become 2).
    Seconds M/S Int The duration of the action, in seconds. Does not support milliseconds. 0 = active until disabled.
    Stop Previous M/S Bool Indicate whether to stop any already active actions when the node is activated.

    Note Although Seconds does not support millisecond input, the node can be activated at intervals smaller than a second.

    Lovense Preset

    Start a preset on Lovense toy. The presets must be defined in Lovense Remote-app.

    Input Values:

    Name Method Type Description
    Preset name M/S String The name of the preset to start. Currently only the 4 builtin presets (pulse, wave, fireworks, earthquake) are supported by Lovense Remote.
    Seconds M/S Int The duration of the action, in seconds. Does not support milliseconds. 0 = active until disabled.

    Note Although Seconds does not support millisecond input, the node can be activated at intervals smaller than a second.

    Community Note: It is unconfirmed whether the builtin presets are still the only presets supported by this node. Please let us know if you can confirm.


    Avatar Settings

    Blendshape Tracking

    Enable or disable VMC, ARKit, and lipsync-based blendshape tracking.

    Input Values:

    Name Method Type Description
    Disable Tracking M/S Bool Specify whether activating this node will disable or enable blendshape tracking.

    Blendshape

    Set an existing or create a non-existing Blendshape Clip value. This will override blendshape tracking.

    This node only works with VRM Blendshape Clips; Mesh blendshapes are not supported by this node.



    Input Values:

    Name Method Type Description
    Blendshape name M/S String The name of the blendshape to set.
    Blendshape value M/S Int The target value for the blendshape between 0 and 100. Setting the blendshape to 0 through the Blendshape node will remove the Blendshape-override. If the blendshape needs to be set to 0, the Expression Mapper should be used.
    Constrained blendshapes M/S String A semi-colon delimited list of constrained blendshapes. The Blendshape value set in this node will be subtracted from any active blendshapes in the list each time this node is triggered. Will not reduce constrained blendshapes' values below 0.
    Smooth Multiplier M/S Float A value to indicate how smoothly the blendshape turns on. 0 = instant, 1 = very smooth.
    Use as toggle M/S Bool Specify whether the node is treated as a toggle. Toggles turn themselves off when triggered a second time with the same Blendshape value. Otherwise triggering the node multiple times with the same values will not do anything.

    Reset ARKit

    Reset all ARKit tracking blendshapes that were overwritten with the Blendshape node. This node does not have any input or output values.

    Reset All Blendshapes

    Reset all blendshapes that have been set with the Blendshape node. This node does not have any input or output values.

    Bone Reset

    Reset values set by Bone transformation nodes of a specified avatar bone.

    Input Values:

    Name Method Type Description
    Bone to Reset M - The avatar bone to reset.
    Reset Rotation M Bool Whether the node resets the target bone's rotation.
    Reset Scale M Bool Whether the node resets the target bone's scale.

    Object Reset

    Reset values set by Object transformation nodes of a specified avatar child object.

    Input Values:

    Name Method Type Description
    GameObject Name M/S String The name of the GameObject to reset.
    Reset Position M/S Bool Whether the node resets the target object's position.
    Reset Rotaion M/S Bool Whether the node resets the target object's rotation.
    Reset Scale M/S Bool Whether the node resets the target object's scale.

    Bone Rotation

    Set the rotation of an avatar bone, overriding tracking and animations.

    Input Values:

    Name Method Type Description
    Bone to Rotate M - The avatar bone to rotate.
    Rotation X/Y/Z M/S Float The target rotation for the bone along the specific axis, in Euler-angles.
    Smooth Time M/S Int The amount of time to move from the initial rotation to the target rotation, in milliseconds.
    Is Toggle M/S Bool Specify whether the node is treated as a toggle. Toggles turn themselves off when triggered a second time with the same Rotation X/Y/Z. Otherwise triggering the node multiple times with the same values will not do anything.

    Community Note: We are currently unsure whether the Rotation X/Y/Z values are Euler angles in local or global space. Please let us know if you can confirm.

    Additive Bone Rotation

    Add a specified rotation to the tracking of an avatar bone. These values do not stack, and triggering multiple Additive Bone Rotation nodes will override each other. This value is also applied to animations.

    Input Values:

    Name Method Type Description
    Bone to Rotate M - The avatar bone to rotate.
    Space M - The space in which bone should be rotated (World or Local).
    Rotation X/Y/Z M/S Float The target rotation for the bone along the specific axis, in Euler-angles.
    Smooth Time M/S Int The amount of time to move from the initial rotation to the target rotation, in milliseconds.

    Bone Scale

    Scale a selected bone by specified values along each local axis.

    Input Values:

    Name Method Type Description
    Bone to Scale M - The avatar bone to scale.
    Scale X/Y/Z M/S Float The values by which each dimension of the bone will be multiplied.
    Smooth Time M/S Int The amount of time to change from the initial size to the target size, in milliseconds.
    Is Toggle M/S Bool Specify whether the node is treated as a toggle. Toggles turn themselves off when triggered a second time with the same Scale X/Y/Z. Otherwise triggering the node multiple times with the same values will not do anything.

    Object Position

    Set the position of a child object of the avatar, overriding tracking and animations.

    Input Values:

    Name Method Type Description
    GameObject Name M/S String The name of the GameObject to move.
    Position X/Y/Z M/S Float The target position for the object along the specific axis.
    Smooth Time M/S Int The amount of time to move from the initial position to the target position, in milliseconds.
    Is Toggle M/S Bool Specify whether the node is treated as a toggle. Toggles turn themselves off when triggered a second time with the same Position X/Y/Z. Otherwise triggering the node multiple times with the same values will not do anything.

    Object Rotation

    Set the rotation of a child object of the avatar, overriding tracking and animations.

    Input Values:

    Name Method Type Description
    GameObject Name M/S String The name of the GameObject to rotate.
    Rotation X/Y/Z M/S Float The target rotation for the object along the specific axis, in Euler-angles.
    Smooth Time M/S Int The amount of time to move from the initial rotation to the target rotation, in milliseconds.
    Is Toggle M/S Bool Specify whether the node is treated as a toggle. Toggles turn themselves off when triggered a second time with the same Rotation X/Y/Z. Otherwise triggering the node multiple times with the same values will not do anything.

    Community Note: We are currently unsure whether the Rotation X/Y/Z values are Euler angles in local or global space. Please let us know if you can confirm.

    Object Scale

    Set the scale of a child object of the avatar.

    Input Values:

    Name Method Type Description
    GameObject Name M/S String The name of the GameObject to scale.
    Rotation X/Y/Z M/S Float The values by which each dimension of the object will be multiplied.
    Smooth Time M/S Int The amount of time to change from the initial size to the target size, in milliseconds.
    Is Toggle M/S Bool Specify whether the node is treated as a toggle. Toggles turn themselves off when triggered a second time with the same Scale X/Y/Z. Otherwise triggering the node multiple times with the same values will not do anything.

    Object Visibility

    Set teh visibility of a child object of the avatar. Turning off visibility on an object through this node stops it from being rendered, saving your computer's resources.

    Input Values:

    Name Method Type Description
    GameObject Name M/S String The name of the GameObject to set the visibility of.
    Object Visible M/S Bool Whether triggering this node turns the object's visibility on or off.

    Avatar Position

    Move the avatar to a preset position. Avatar position presets can be created in Miscellaneous Settings.

    Input Values:

    Name Method Type Description
    Position Slot M/S Int Slot number of the saved avatar position that needs to be activated, as listed in the position settings.

    Tracking Effect Status

    Enable or disable Tracking Effects. Tracking Effects that have been disabled in the Tracking Effect Settings cannot be enabled through this node.

    Input Values:

    Name Method Type Description
    Expressive Body Tilt M/S Bool Specify whether triggering this node enables or disables Expressive Body Tilt.
    Breathing Motion M/S Bool Specify whether triggering this node enables or disables Breathing Motion.
    Arm Sway M/S Bool Specify whether triggering this node enables or disables Arm Sway.

    Tracking Layer Status

    Enable or disable Tracking Layers. Tracking Layers that were not activated at application start cannot be enabled through this node.

    Input Values:

    Name Method Type Description
    ARKit Tracking M/S Bool Specify whether triggering this node enables or disables ARKit Tracking.
    Web Camera Tracking M/S Bool Specify whether triggering this node enables or disables Web Camera Tracking.
    LeapMotion M/S Bool Specify whether triggering this node enables or disables LeapMotion tracking.
    Steam VR M/S Bool Specify whether triggering this node enables or disables SteamVR tracking.
    Lipsync M/S Bool Specify whether triggering this node enables or disables audio Lip Sync tracking.
    VMC Layer 1/2/3/4 M/S Bool Specify whether triggering this node enables or disables the specified VMC Tracking Layer.

    Various

    Time Scale

    Adjust the time scale with which Unity physics are calculated.

    Input Values:

    Name Method Type Description
    Scale M/S Float The time scale with which Unity physics are calculated, ranging from 0 to 1.

    Take Screenshot

    Take a screenshot of VNyan when the node is activated. Ignores UI elements. Screenshots are stored by default in the Pictures directory, in a folder called VNyan. This node does not have input or output values.

    Set Resolution

    Adjust the resolution of the VNyan window.

    Input Values:

    Name Method Type Description
    Width M/S Int The number of pixels that resolution of the width of the window is set to.
    Height M/S Int The number of pixels that resolution of the height of the window is set to.

    Known Issues:

    • VNyan's window size is currently linked to the window resolution. Adjusting the resolution values currently also adjust the window size. This will be fixed in a future update.

    Send Keys

    Send a keystroke action to the currently active window through VNyan.

    Input Values:

    Name Method Type Description
    Key to Send M - The keystroke to send to the active window.
    Key State M/S Int The type of keystroke data to send to the active window. Can be set to downstroke, upstroke or a complete press.

    Known Issues:

    • If either VNyan or the programme in the active window are ran as administrators, this may not work.

    Effects

    Post-processing etc effects

    Digital Glitch

    Add a post processing effect that mimics a digital visual glitch.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Float Specify the intensity of the effect.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Ambient Occlusion

    Add an ambient occlusion post processing effect.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Float Specify the intensity of the effect.
    Thickness M/S Float Specify the thickness of the occlusion.
    Color M/S Color The color of the ambient occlusion effect.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Analog Glitch

    Add a post processing effect that mimics an analogue visual glitch.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Scanline Jitter M/S Float Specify how much the image jitters horizontally.
    Vertical Jump M/S Float Specify how quickly the image stutters in the vertical direction.
    Horizontal Shake M/S Float Specify how much the image shakes horizontally.
    Color Drift M/S Float Specify how much the RGB values of the image jitter horizontally.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Binary

    Overlay a dithered version of the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Dither Type M - Specify over what grid the dithering effect is applied.
    Dither Scale M/S Int The value by which the image sampling is scaled. Higher values lead to a courser dithering effect.
    Color M/S Color Specify the main color of the dithered image.
    Opacity M/S Float The opacity of the dithered imaged overlayed on top of the original.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Grain

    Add visual noise to the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Colored M/S Bool Specify whether the noise adds color values to the output image.
    Intensity M/S Float Strength of the noise. Higher leads to a more prominent effect.
    Grain Size M/S Float The size of the noise grains.
    Luminance M/S Float How strongly darkness in the scene contributes to noise. Lower values mean less noise in dark areas.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    For more details, see the Unity Documentation.

    Bloom

    Add bloom to the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Bool The intensity of the bloom effect.
    Threshold M/S Float The light intensity required for the bloom effect to be applied.
    Diffusion M/S Float How much the bloom effect diffuses from its source.
    Color M/S Color The color of the bloom effect.
    Color Intensity M/S Float The intensity of the color of the bloom.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Chromatic Aberration

    Add a chromatic aberration effect to the output image. The effect causes colors towards the edge of the screen to be pulled apart.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Bool The intensity of the effect.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Depth of Field

    Add a simulated camera depth of field effect to the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Aperture M/S Float The aperture of the simulated camera. A higher aperture increases the focus depth.
    Focal Length M/S Float The focal length of the simulated camera. A larger focal length increases the specificity of the focus.
    Focus Bone M/S - The humanoid bone on which the simulated camera is focused on.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Motion Blur

    Simulate the effects of a moving physical camera to add a motion blur effect to the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Shutter Angle M/S Int The angle of the shutter of the simulated camera. Larger values create a stronger blur.
    Sample Count M/S Int Number of samples of the scene taken per simulated exposure interval. Higher values create a higher quality affect at the cost of performance.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    For more details, see the Unity Documentation.

    Vignette

    Add a vignette effect to the output image, darkening the edges of the image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Float The size of the vignette effect.
    Smoothness M/S Float How sharp the edge of the vignette is.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Rainbow

    Cyclical color grading of the output image, cycling through the colors of the rainbow.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Speed M/S Float The speed at which the effect cycles through colors.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Pixelation

    Pixelate the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Pixel Density M/S Int The pixel density in the final image. Lower values lead to higher pixelation.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Lens Dirt

    Add an effect to the output image, simulating dirt on the camera.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Threshold M/S Float The threshold of light required to show the effect.
    Saturation M/S Float How much saturation is added to light.
    Intensity M/S Float The intensity of the effect.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Lens Distorion

    Add a lens distortion effect to the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Float The intensity of the effect.
    X/Y Multiplier M/S Float The strength of the distortion along the specific axis.
    Center X/Y M/S Float The center of the distortion along a specific axis.
    Distortion Scale M/S Float The scale of the distortion. Negative values reverse the distortion effect.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Color Grading

    Add color grading to the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Temperature M/S Float Temperature of the color grading.
    Tint M/S Float Tint of the color grading.
    Hue M/S Float Shift in hue of the output image.
    Saturation M/S Float Saturated of the color graded image.
    Brightness M/S Float Brightness of the color graded image.
    Contrast M/S Float Contrast of the color graded image.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Negative Image

    Invert the colors of the output image.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Float The degree of the color inversion. 0 = no inversion, 1 = perfectly inverted.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Old VHS

    Add a VHS artifact effect to the output image. As a baseline, the effect deforms the image to mimic a CRT monitor and adds line distortions.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Film Grain M/S Float The amount of white noise added to the final image.
    Line Noise M/S Float The amount of static noisy lines in the output image.
    Tape Noise M/S Float The amount of dynamic noisy lines in the output image.
    Interlacing M/S Float The strength of interlacing artifacts. Interlaces stationary and non-stationary lines, causing the image to become fuzzy.
    Twitch Horizontal M/S Float The strength of horizontal twitch artifacts, which causes random sections of the image to twitch horizontally
    Twitch Vertical M/S Float The strength of vertical twitch artifacts, which cause the entire image to randomly shift vertically.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.
    Transition Seconds S Float The amount of time over which the effect fades in and out.

    Direct Light

    Adjust directional light settings.

    Input Values:

    Name Method Type Description
    Active M/S Bool Specify whether triggering the node should activate or deactivate the effect.
    Intensity M/S Float Intensity of the directional light.
    Color M/S Color Color of the directional light.
    Smooth Milliseconds M/S Int Transition time between the original and target light settings.
    Is Toggle M/S Bool Specify whether triggering the node a second time disables the effect.

    Note Light sources in loaded worlds may mask the effects of the directional light.

    Ambient Light

    Adjust ambient light settings.

    Input Values:

    Name Method Type Description
    Intensity M/S Float Intensity of the ambient light.
    Color M/S Color Color of the ambient light.
    Smooth Milliseconds M/S Int Transition time between the original and target light settings.

    Note The Ambient Light node is a toggle, and activating it a second time will disable the effect. Light sources in loaded worlds may mask the effects of the ambient light.

    Skysphere

    Set a skysphere, with depth support. Images must be equirectangular

    Input Values:

    Name Method Type Description
    Sky Image M/S String
    Depth Image M/S String
    Depth Multiplier M/S Float
    Depth Max Cap M/S Float

    Community Note: Any details on the node input is missing. Please let us know if you can add any details.


    Number Parameters

    Nodes for controlling parameters

    Set Param

    Set a parameter value.

    Input Values:

    Name Method Type Description
    Parameter Name M/S String The name of the parameter that will be set to the specified value.
    Parameter Value M/S Float The value to set the parameter to.

    Note Specifying a non-existing parameter in the Parameter Name field will generate a new parameter. Otherwise it will overwrite the existing value.

    Param Operation

    Perform simple math operations and output the result to a parameter.

    Input Values:

    Name Method Type Description
    Result Parameter M/S String The name of the parameter to write the output to.
    Value 1 M/S Float The value to the left of the operation.
    Operation M - Which mathematical operation to perform. Offers addition, subtraction, multiplication, division and modulo.
    Value 2 M/S Float The value to the right of the operation.

    Note Division performs float division.

    Param Math

    Perform trigonometric math operations and output the result to a parameter.

    Input Values:

    Name Method Type Description
    Result Parameter M/S String The name of the parameter to write the output to.
    Value M/S Float The value in which to perform the operation.
    Operation M - Which mathematical operation to perform. Offers sine, cosine and tangent.

    Volume to Param

    Read the microphone volume level at the time of node activation to a parameter.

    Input Values:

    Name Method Type Description
    Audio Input M - The audio device from which the volume level is read.
    Frequencies M - The frequency band across which the volume is taken.
    • All - Read the volume across the entire frequency spectrum.
    • Low - Read the volume across the bass frequency spectrum.
    • Mid - Read the volume across the middle frequency spectrum.
    • High - Read the volume across the treble frequency spectrum.
    Parameter Name M/S String The name of the parameter to write the output to.

    Community Note: We would like to add more detailed information about the frequency bands for the Frequency settings. If you have more information about this, please let us know.

    Blendshape to Param

    Copy a specified blendshape value to a parameter.

    Input Values:

    Name Method Type Description
    Blendshape Name M/S String The name of the blendshape whose value should be copied.
    Parameter Name M/S String The name of the parameter to write the output to.

    Randomize Param

    Set the specified parameter to a random integer of a defined range.

    Input Values:

    Name Method Type Description
    Parameter Name M/S String The name of the parameter to write the output to.
    Inclusive Min Value M/S Int The lowest possible value the parameter should be randomized to.
    Inclusive Max Value M/S Int The highest possible value the parameter should be randomized to.

    Transform to Param

    Read the transform of a humanoid bone to parameters.

    Input Values:

    Name Method Type Description
    Bone to Read M - The humanoid bone to take the transformation of.
    Value to read M - Which transformation values to copy to a parameter. Can be set to the local or global values of the position, rotation or scale transformations.
    Parameter for X/Y/Z value M/S String The names of the parameters to write the specific transfomration values to.

    Tracker to Param

    Read the transform of a VMC tracker set up through the VMC Tracker Mapping to parameters.

    Input Values:

    Name Method Type Description
    Tracker to Read M - The tracker to take the transformation of.
    Value to read M - Which transformation values to copy to a parameter. Can be set to the local or global values of the position, rotation or scale transformations.
    Parameter for X/Y/Z value M/S String The names of the parameters to write the specific transformation values to.

    Lerp Vector

    Lerp (Linear Interpolation) is a function that returns location values of a point that is a specified percentage along a line between two known vectors. This can be used to create smooth transitions from one set of values to another.

    For instance, if the position of vector a is [5 2 0], and the position of vector b is [10 2 0], a Lerp value of 0.5 returns a vector at position [7.5 2 0], halfway between the two points.

    Input Values:

    Name Method Type Description
    Lerp Type M - Whether to perform positional interpolation or rotational interpolation. I.e. use Angle if you want to lerp between two angles rather than between two positions.
    Param X/Y/Z Name M/S String The names of the parameters to write the specific transfomration values to.
    Value X/Y/Z 1 M/S Float Positional values of the first vector.
    Value X/Y/Z 2 M/S Float Second vector's positional values.
    Lerp Amount M/S Float Lerp percentage value between 0 and 1.

    DateTime to Param

    Read a component of the current date or time to a parameter.

    Input Values:

    Name Method Type Description
    Date Component M - Which component of the current date to output to the specified parameter. Only one date/time component can be output at a time.
    Parameter Name M/S String The name of the parameter to write the output to.

    Note Delta time refers to the time between frames at the moment the node is triggered, in seconds.


    Number Arrays

    Nodes to manage numerical arrays. Arrays are indexed collections of numbers, so that each value can be retreived by its position in the array. Note: The index of the first items in 0, not 1. Note: Number array nodes will not work for text arrays or vice versa.

    Enqueue Array

    Enqueue a decimal value to a specified array, appending it to the end of the array.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the array that will be appended.
    Value to Enqueue M/S Float The value that will be appended to the array.

    Dequeue Array

    Dequeue a specified array, removing the first value in the array and writing it to a parameter. Empty arrays return 0. If you are iterating over an array, it is better to check the size of the array using Count Array.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the array that will be dequeued.
    Target Parameter M/S String The name of the parameter that the dequeued value will be written to.

    Reset Array

    Clears a specified array of all its entries.

    Name Method Type Description
    Array Name M/S String The name of the array that will be cleared.

    Count Array

    Set a specified parameter to the number of items in a given numerical array.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the array whose length should be counted.
    Target Parameter M/S String The name of the parameter that the count will be written to.

    Array to File

    Save a specified array to a newline delimitered .txt file.

    Input Values:

    Name Method Type Description
    File to Save M/S String The full path and name that the file will be saved to.
    Array Name to Save M/S String The name of the array to save.

    Text Parameters

    Text Parameters allow you to store strings in a parameter to use elsewhere. There are some text-specific nodes you can use with these parameters, like Compare Text and the nodes below.

    Set Text Param

    Set a text parameter value.

    Input Values:

    Name Method Type Description
    Parameter Name M/S String The name of the parameter that will be set to the specified value.
    Param Value M/S String The value to set the parameter to.

    File to Text Param

    Load the contents of a text file to a text parameter.

    Input Values:

    Name Method Type Description
    Text File M/S String The full path and name of the text file to read. If the file does not exist, then nothing happens when the node is activated.
    Result Text Parameter M/S String Name of parameter that the loaded data is stored to.

    Save Text to File

    Save text or a parameter value to a file. The file will be overwritten if it exists.

    Input Values:

    Name Method Type Description
    File to Save M/S String The full path and name that the file will be saved to.
    Text to Save M/S String The text to save to the specified file. To save a parameter value, type the parameter name between angle brackets.

    Split Text Param

    Split a character delimitered text or text parameter value into an indexed Text Array.

    Input Values:

    Name Method Type Description
    Text to split M/S String The text to split along a delimiter. To split a parameter value, type the parameter name between angle brackets.
    Delimiter M/S String The character that entries in the text are separated with.
    TArray Name for Output M/S String The name of the Text Array for the separated result.

    Text Arrays

    Nodes to manage text arrays. Text arrays are indexed collections of text values, so that each value can be retreived by its position in the array. Note: The index of the first items in 0, not 1. Note: Text array nodes will not work for number arrays or vice versa.

    Enqueue TArray

    Enqueue a text value to a specified text array, appending it to the end of the array.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the array that will be appended.
    Text to Enqueue M/S String The value that will be appended to the array.

    Dequeue TArray

    Dequeue a specified text array, removing the first value in the text array and writing it to a text parameter. Empty arrays return empty text. If you are iterating over an array it is better to check the size of the array using Count TArray.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the text array that will be dequeued.
    Target Parameter M/S String The name of the text parameter that the dequeued text will be written to.

    Reset TArray

    Clears a specified text array of all its entries.

    Name Method Type Description
    Array Name M/S String The name of the text array that will be cleared.

    Count TArray

    Set a specified parameter to the number of items in a given text array.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the text array whose length should be counted.
    Target Parameter M/S String The name of the parameter that the count will be written to.

    Find TArray

    Find-operation for Text Arrays. When hte node it activated, ot tries to find the specific text value in the array and returns the index if found. If multiple entries of the same value exist, it returns the index of the first matching entry.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the Text Array that will be searched.
    Value to Find M/S String The text value to search for.
    Find Result Parameter M/S String The name of a numeric parameter where the index will be stored. The node will return -1 if the Value to Find is not found.

    Get TArray

    Get the value of a text array at a specified index and return it as a text parameter.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the Text Array to get a value from.
    Array Index M/S Int The index of the value to retreive. If the specified index is out of bounds, then the node returns empty text.
    Result Parameter M/S String The name of the text parameter where the result will be stored to.

    Note Unlike the Dequeue TArray node, the Get TArray node does not automatically remove the retreived entry from the array. To do this, see the RemoveAt TArray node.

    Set TArray

    Set the value at the specified index of a text array.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the Text Array in which to set a value.
    Array Index M/S Int The index of the entry to set.
    Value M/S String The value to set the entry to.

    Note If the the array index does not exist in the specific array, the array will not be altered. In this case, the Enqueue TArray node should be used.

    RemoveAt TArray

    Remove a specified index of a Text Array. Any indices above the specified index will be moved one forward.

    Input Values:

    Name Method Type Description
    Array Name M/S String The name of the Text Array from which an index will be removed.
    Array Index M/S Int The index to remove. If the index does not exist ibn the array, it will not be altered.

    File to TArray

    Load a newline-delimitered text file to a Text Array.

    Input Values:

    Name Method Type Description
    Text File M/S String The full path and name that the file will be loaded.
    Result Text Array M/S String The name of the text array to load the data to. An existing array will be cleared first.

    TArray to File

    Save the contents of a Text Array to a newline-delimtered file. The file will be overwritten if it exists.

    Input Values:

    Name Method Type Description
    File to Save M/S String The full path and name that the file will be saved to.
    TArray Name M/S String The name of the text array that will be saved.

    Dictionaries

    Dictionaries are unordered containers with key/value pairs. Dictionary entries do not have an index. Dictionaries can be used, for example, to store chatter information by providing the viewer's name as a key and a text value for relevant information for that chatter. Multiple values per chatter can be specified by delimitering the text, and retreived with the Split Test Param node.

    Set Dictionary Value

    Set the value at a specified key. If the key does not exists, it will be created.

    Input Values:

    Name Method Type Description
    Dictionary Name M/S String The name of the dictionary that should be modified.
    Key Name M/S String The key for the specified values.
    Value M/S String The value that should be set in the dictionary at the specifed key.

    Get Dictionary Value

    Get the value at a specified key.

    Input Values:

    Name Method Type Description
    Dictionary Name M/S String The name of the dictionary that should be searched.
    Key Name M/S String The key from which the value should be retreived.
    Output Text Param Name M/S String The name of the parameter that the dictionary value should be copied to.

    Note Unlike the array dequeue functions, this does not remove the entry from the dictionary.

    Clear Dictionary

    Clear the specified dictionary, deleting it entirely.

    Input Values:

    Name Method Type Description
    Dictionary Name M/S String The name of the dictionary that should be deleted.

    Pack Dictionary

    Pack a specified dictionary and convert it to a single Base64-encoded text value.

    Input Values:

    Name Method Type Description
    Dictionary Name M/S String The name of the dictionary that should be packed.
    Target Parameter M/S String The name of the parameter that the packed text value will be stored to.

    Unpack Dictionary

    Unpack Base64-encoded data to a dictionary.

    Input Values:

    Name Method Type Description
    Packed Data M/S String The packed Base64-encoded data of a dictionary.
    Target Dictionary M/S String The name of the dictionary that the unpacked data will be stored to.

    JSON to Dictionary

    Deserialize a JSON text string to a dictionary.

    Input Values:

    Name Method Type Description
    Json Data M/S String The JSON string of a dictionary.
    Target Dictionary M/S String The name of the dictionary that the deserialized JSON string will be stored to.

    VR Tracking

    Nodes related to VR tracking

    Steam VR Calibration Slot

    Switch to the specified Steam VR calibration slot. This node will typically be used when switching between models with different calibrations.

    Input Values:

    Name Method Type Description
    Slot M/S Int The index of the calibarion slot to switch to.

    Steam VR Tracker Map

    Switch to the specified Steam VR tracker mapping slot. This node will typically be used when switching between tracker configurations (e.g. full-body to upper-body only).

    Input Values:

    Name Method Type Description
    Slot M/S Int The index of the tracker mapping slot to switch to.

    Steam VR Calibration

    Run the Steam VR calibration through the node graph rather than through the Tracking Layers menu.

    Input Values:

    Name Method Type Description
    Mode M/S Int Specify whether to calibrate with the calibration dialogue, or to calibrate instantly without opening the calibration dialogue. It is recommended to add a Wait node before this node if Instant Calibration is selected, to ensure you time to assume a T-pose. For the socket input: 0 = Calibration Dialogue, 1 = Instant Calibration.
    ⚠️ **GitHub.com Fallback** ⚠️