Vfinity2.0 α
Reference

Actions

Every action step an event or Quick Deck pad can run, with its fields, ranges and defaults

Every step you can add under Do this in the event editor, or to a Quick Deck pad, with each field's range and default.

19
kinds of step
20
steps per list, and per group
10 min
longest wait, or delay before a step
Steps sit under the trigger. Drag them into order and choose how they run.

How a list runs

Run the steps appears once a list has more than one step.

ChoiceWhat happens
In order (the default)One after another, each after its own delay
All at onceAll start together; each still waits its own delay
One at randomOne step, picked by weight. Each gift repeat picks again

Every step also has these:

FieldRangeDefault
Wait first (ms)0–600,0000
Weight (One at random only)0–100; 0 is never picked1
On/off switchA switched-off step is skippedOn

The editor will not save a switched-on step that is not set up, or a random pick whose steps all weigh 0. Right-click a step to duplicate it, move it, change it to another kind, or use Copy step and Paste step to carry it to another event or pad.

VTube Studio

These steps run only while VTube Studio is connected. Each one checks for itself, so the other steps in the list still run while it is closed.

StepFields
Trigger a hotkeyVTS Hotkey; Duration (s) presses it again to switch it back off
Move ModelPosition X, Position Y, Rotation (°), Size, Transition (s), Hold (s), Return to original position
VFX PresetVFX Preset Name, Fade Time (seconds), Duration (seconds)
Set an expressionExpression, What it does, Fade (s), Turn off after (s)
Tint the modelWhat to paint, Colour, Opacity, Rainbow, Scene lighting, Reset after (s)
Place an itemWhat to place, Item file or Image, Position X, Position Y, Size, Layer, Fade (s), Pin to an ArtMesh, Pin spot, Remove after (s)
Switch the modelModel, Switch back after (s)
Move a parameterParameter, Value, How, For (s), Shape, Takeover

Ranges

FieldRangeDefault
Position X, Position Y (Move Model)−1 to 1; ±1 is the screen edge0
Rotation (°)−360 to 360; positive is clockwise0
Size (Move Model)−100 to 100; 0 keeps it0
Transition (s)0–20.5
Fade Time (seconds), Fade (s)0–2VTube Studio's own
Opacity0–255Opaque
Scene lighting0–11
Size (Place an item)0–1, VTube Studio's item scale—
Layer−30 to 30; negative is behind the model—
Value (Move a parameter)−1,000,000 to 1,000,0000
For (s)0 or more0.4
Takeover0–1—
Any duration, hold or "after" fieldUp to 86,400 seconds (a day); empty keeps it onEmpty

Choices

FieldChoices
What it does (Set an expression)Turn on, Turn off, Toggle
What to paintThe whole model, ArtMesh names containing, Tags containing, Picked in VTube Studio
What to placeAn item from VTube Studio, An image of your own
Pin spotThe middle, A random spot
HowAdd to face tracking, Take over from tracking
ShapeHold, then stop, Fade out evenly, Drop off quickly, Wobble out

An image of your own must be under 5 MB, and VTube Studio asks once whether Vfinity may load images as items. VTube Studio loads a model at most every 2 seconds. Takeover applies to Take over from tracking only.

Sound, speech and media

StepFieldRangeDefault
Play a soundSound poolUp to 10 sounds, each with a WeightOne sound
Volume0–100%100%
Play throughOBS only, This app only, OBS and this appThis app only
Wait until finishedGives up after 30 secondsOff
Speak a custom lineText to speakUp to 300 characters, with variablesEmpty
Voice ID overrideA voice ID from your TTS providerYour TTS voice
Own volume and speedOn or off; off follows the Events volume and speed in SettingsAudioVoiceOff
Volume0–100%The Events volume
Speed−50% to +100%; some providers can't change speedThe Events speed
Wait until finishedOn or offOn
Characters per minute (0 = unlimited)0–100,000600
Show an image or videoImage, GIF or videoAn uploaded image, GIF, WebP, WebM or MP4—
Show for (seconds; 0 = video length)0–3005
FitFit entire image, Fill frameFit entire image
Mute video audioOn or offOn
Video volume0–100%100%
Accompanying soundA sound, its volume and where it playsNone, OBS only
Position & size, AnimationPlacement, and how it comes and goesPop
Wait until finishedOn or offOff

With several sounds in the pool, one is picked per run by weight; a weight of 0 never plays. Characters per minute caps one event's speech across all viewers, which keeps a paid voice's bill in hand. A line's own Volume and Speed apply to that step only; chat keeps its own.

Media shows on the Actions media source in OBS (#overlay-actions). A 0 duration plays a video to its end, up to two minutes. A video's own sound plays in every copy of the source; use Accompanying sound for audio that plays once.

Throwing

FieldRange or choicesDefault
Throw itemsConfigured item, Viewer avatar, Chat emoteConfigured item
Throw configuration (optional)A gift's throw setup from the Throwing tabDefault item
Item count1–501
Show viewer nameOn or offOn

Other apps

StepFieldsNeeds
Control OBSWhat it does, then Scene, Source, Filter or Text source and Text; State; Put back afterOBS connected in SettingsConnectionsOBS Studio
HTTP webhookURL / action ID, HTTP method, JSON body / arguments, Authorization header (kept out of shared backups)Nothing
Streamer.bot actionURL / action ID, Refresh action list, JSON body / argumentsStreamer.bot connected
Press keysKey combination, Hold for (milliseconds)Allow Events to press keys in SettingsAutomation & rulesKeyboard actions
FieldRange or choicesDefault
What it does (Control OBS)Switch scene, Show or hide a source, Turn a filter on or off, Write into a text sourceSwitch scene
StateTurn on, Turn off, ToggleTurn on
Put back afterSeconds; empty keeps the changeEmpty
HTTP methodGET, POST, PUT, PATCH, DELETEPOST
JSON body / argumentsA JSON object, up to 32,768 characters; not sent with GET{}
Key combinationUp to 5 keys: letters, digits, Ctrl, Alt, Shift, Meta, Enter, Escape, Tab, Space, Backspace, Delete, Home, End, Page Up, Page Down, the arrows, F1–F12—
Hold for (milliseconds)20–5,000100

A webhook must be an http or https address and gives up after 10 seconds. The OBS fields list your scenes, sources and filters while OBS is connected, and take a typed name while it is not. Press keys sends keys to whichever app has focus; a panic releases any key still held.

Flow

StepFieldsRangeDefault
WaitWait (s)0–6001
GroupThe group runsIn order, All at once, One at random; up to 20 steps; no group inside a groupAll at once
App commandApp command, then Value, Value (JSON), Mapping to run or Choose a Quick Deck padAny command in Commands—

App command asks for the value its command needs. Events that set each other off stop after four hops, or once one trigger has set off twenty runs.

A Blueprint event runs every other step from an Action node, but has no Wait or Group: its Delay, Sequence, Parallel and Random nodes do that work.