Skip to content

VTube Studio actions

CroStream can do nineteen things in VTube Studio: run a hotkey, put a clown nose on your model, tint it red, drop a viewer's emote into the scene, turn on a glitch effect and more. Each one is an action you add as a step in a macro; the Actions page lists them under VTube Studio in seven groups and lets you try each one with Run now.

The Actions page filtered to VTube Studio: hotkeys, expressions, model, items, props, effects, parameters and advanced actions, each with a short description

New here? Set up the connection first. Props need anchors. For ready-made macros, see Recipes.

Before you start

  • CroStream must be connected to VTube Studio, with a model loaded for anything that touches the model. Without a connection every action fails with CroStream isn't connected to VTube Studio. See Troubleshooting.
  • Settings take {variables} in Text and Pick fields (not in the media library image field). A number field can be {amount} or a literal 0.5. A value that can't be checked until the macro runs (it holds a {variable}) is checked at that moment instead of when you save.
  • Leave a number empty where the details say so, and that part is left as it is.
  • Two permissions are separate from the connection: loading custom images (item drops and props that use your media library or an emote) and controlling NDI. You grant each once in VTube Studio; see Permissions.
  • Timed changes: many actions can undo themselves after a while. See Undoing after a while.

All actions

Action ID What it does
Trigger a VTube Studio hotkey vtubestudio.hotkey Runs a hotkey of your model or of a Live2D item.
Turn a VTube Studio expression on or off vtubestudio.expression Switches an expression on, off or flips it.
Move, turn or resize the model vtubestudio.model_move Moves, rotates or scales your model.
Load a VTube Studio model vtubestudio.model_load Switches to another model.
Physics gust vtubestudio.physics Turns hair and clothing physics up for a moment.
Tint the model vtubestudio.tint Colors the whole model or some of its parts.
Drop an item into VTube Studio vtubestudio.item_drop Adds an item, image or emote to the scene.
Remove items from VTube Studio vtubestudio.item_remove Takes items out of the scene.
Move an item vtubestudio.item_move Slides, resizes or turns items.
Control an item's animation vtubestudio.item_animate Plays, stops or changes an animated item.
Pin or unpin an item on the model vtubestudio.item_pin Sticks an item to your model.
Put an item between the model's layers vtubestudio.item_sort Draws an item in front of, behind or inside your model.
Put on a prop vtubestudio.prop Puts an image on a named part of your model for a while.
Turn a visual effect on or off vtubestudio.effect Switches one effect (bloom, glitch, rain).
Set VTube Studio's effects vtubestudio.post_processing Loads a preset, sets values, randomizes or turns all effects on or off.
Set a tracking parameter for a while vtubestudio.parameter Holds a tracking parameter at a value for a while.
Create a custom parameter vtubestudio.parameter_create Adds a custom tracking parameter.
Delete a custom parameter vtubestudio.parameter_delete Removes one CroStream created.
Change VTube Studio's NDI output vtubestudio.ndi Turns NDI on or off, or sets its size.

How to read the tables: Type is the kind of field (Text takes {variables}, Pick is a list CroStream fills from VTube Studio, Choice is a fixed list, Duration is written like 10s or 2m, On/off is a switch, List takes one entry per line). Default is what the editor starts with. Outputs are variables later steps can use, such as {item_id}.

Hotkeys and expressions

Trigger a VTube Studio hotkey

ID vtubestudio.hotkey

Runs one of the hotkeys set up on your VTube Studio model: an animation, an expression, a background change, a screenshot and so on. This is the most direct way to reuse everything you already built in VTube Studio.

The Trigger a VTube Studio hotkey action: the Hotkey picker listing the model's hotkeys and the empty Live2D item field

Setting Type Details
Hotkey required Pick The hotkey to run, from the loaded model's list. You can also type its name or ID, or a {variable}.
Live2D item Text To run a hotkey that belongs to a Live2D item, the item's instance ID, such as {item_id}. Empty runs a hotkey of your model.
Output Meaning
{hotkey_id} The ID of the hotkey that ran.

Limits. VTube Studio runs one specific hotkey at most once every five frames, and keeps a queue of 32 for different hotkeys sent in quick succession. If it answers wait or queue full, CroStream waits a moment and tries again, up to four more times, before it gives up with VTube Studio asked to wait a moment or VTube Studio's hotkey queue is full. A hotkey needs a loaded model.

Hotkeys that run hotkeys

A hotkey you run from a macro also fires the A VTube Studio hotkey runs trigger, but only for triggers set to Run by api or any. The default trigger only reacts to hotkeys you press yourself, so a macro cannot start itself this way by accident.

Example: a channel point reward runs the hotkey Wave.

Turn a VTube Studio expression on or off

ID vtubestudio.expression

Switches one of your model's expressions on, off, or flips it, and can put it back after a while.

The Turn a VTube Studio expression on or off action with the expression picker, State set to on and a Turn it back after of 10s

Setting Type Details
Expression required Pick The expression, from the loaded model's list. You can type its file name; .exp3.json is added when you leave it off.
State Choice Default on One of on, off, toggle.
Fade (seconds) Text Default 0.25 From 0 to 2. VTube Studio uses the same time for fading out.
Turn it back after Duration Put the expression back how it was after this long, such as 10s; up to 1 hour. Empty keeps it.
Output Meaning
{expression_active} true or false: whether the expression is on afterward.

CroStream asks VTube Studio whether the expression is on right now, so toggle and Turn it back after act on the real state. If the expression is already how you asked, nothing is scheduled to undo. The model must have the expression; otherwise the step fails with No expression name on model.

Model

Move, turn or resize the model

ID vtubestudio.model_move

Moves, rotates or resizes your model on screen, either by an amount or to a place, and can put it back afterward.

Setting Type Details
Mode Choice Default relative relative moves by the amounts below; absolute puts the model at them.
Across Text Left and right, from -1000 to 1000. -1 and 1 are the screen edges. Empty leaves it.
Up and down Text Same range. Empty leaves it.
Rotation Text Degrees from -360 to 360, clockwise is positive. Empty leaves it.
Size Text From -100 to 100. Empty leaves it.
Time (seconds) Text Default 0.5 How long the move takes, from 0 to 2.
Move back after Duration Put the model where it was after this long, such as 5s; up to 1 hour. Empty leaves it there.

At least one of Across, Up and down, Rotation or Size must be set. With Move back after, CroStream reads the model's position first and returns it to exactly that, taking the same move time. A move back is cancelled if you load a different model in the meantime.

Example: relative, Rotation 20, Move back after 3s tilts the model for three seconds.

Load a VTube Studio model

ID vtubestudio.model_load

Switches VTube Studio to another of your models, and can switch back after a while.

Setting Type Details
Model required Pick The model to load. You can also type its name (any capitals) or ID.
Switch back after Duration Load the earlier model again after this long, such as 30s; up to 1 hour. Empty keeps the new one.
Output Meaning
{model_id} The ID of the model that is loaded afterward.
{model_name} Its name.

Limits. VTube Studio allows one model load every two seconds and refuses while a settings window is open or another load is running. CroStream spaces its own loads and, if VTube Studio still asks to wait, waits two seconds and tries once more. If the model is already loaded the step succeeds and does nothing, and no switch back is scheduled.

Physics gust

ID vtubestudio.physics

Turns the model's hair and clothing physics up (or down) for a while, like a gust of wind.

Setting Type Details
Strength Text Physics strength from 0 to 100; from 0 to 2 as a multiplier when a group is chosen. Empty leaves it.
Wind Text Wind from 0 to 100; from 0 to 2 as a multiplier when a group is chosen. Empty leaves it.
Physics group Pick Limit the change to one physics group. The values then multiply that group's own physics.
For how long required Duration Default 3s From 500ms to 1 minute.

Set the strength, the wind, or both. VTube Studio lets one override last only 0.5 to 5 seconds, so for longer gusts CroStream sends it again every four seconds until the time is up. A newer gust ends an older one. Only one plugin can control physics at a time; if another one does, the step fails with Another plugin is controlling VTube Studio's physics (name). A model without physics fails with This model has no physics. When the time is up, VTube Studio returns to normal by itself.

Tint the model

ID vtubestudio.tint

Colors the whole model, or just some of its parts, and can undo it after a while.

The Tint the model action with a red color, Strength 255 and a Remove the tint after of 5s

Setting Type Details
Tint the whole model On/off Tints every part.
ArtMesh IDs List Exact ArtMesh IDs, one per line. Pick them from the ArtMesh list in the field.
ArtMesh names containing List Parts whose name contains any of these.
ArtMesh tags List Exact tags, one per line.
Tags containing List Parts with a tag containing any of these.
ArtMesh group Pick Tint one ArtMesh group.
Color required Color Default #ff8080 As #rrggbb.
Strength Text Default 255 From 0 to 255. 255 is a full tint; 0 makes the part invisible. Empty means 255.
Override scene lighting Text Default 1 From 0 to 1: how much the tint overrides VTube Studio's scene lighting.
Remove the tint after Duration Up to 1 hour. Empty keeps it. Tints also reset when CroStream disconnects.
Output Meaning
{matched_art_meshes} How many ArtMeshes the tint matched.

Choose the whole model, or at least one ArtMesh, tag or group. Any part that matches any of the lists is tinted.

VTube Studio can only darken

A tint multiplies the part's colors, so it can only make them darker or shift them toward the tint. White means no tint (white is how CroStream removes one), and a pale color changes little. To make a white shirt look red, a saturated red works; lighter than the original isn't possible. Strength 0 hides the part completely, handy for making a part vanish, a surprise if you only meant "no color".

If no ArtMesh matches, the step fails with No ArtMesh matched. A running tint is reset when CroStream disconnects or when you use Reset everything CroStream changed on the VTube Studio page. When several plugins tint the same part, the most recent request wins.

Items

Items are the extra things in VTube Studio's scene: pictures, GIFs, Live2D items and props. These actions add, move, animate, pin, sort and remove them. Item actions take an item's instance ID, which the action that created it reports ({item_id}), so chain them in one macro.

Where an item's picture comes from

Drop an item and Put on a prop share the same image settings. See Image sources below.

Drop an item into VTube Studio

ID vtubestudio.item_drop

Adds an item to the VTube Studio scene: one from its Items folder, an image from your media library, or a Twitch emote.

Setting Type Details
Image from Choice Default vts_file One of vts_file, media, emote, chat_emote. See Image sources.
VTube Studio item Pick For vts_file: an item from VTube Studio's Items folder.
Media library image Pick For media: an image from your media library.
Twitch emote Text For emote: an emote name as chatters type it, or its emote ID.
Which chat emote Choice Default first For chat_emote: one of first, last, random, most.
Ask in VTube Studio first On/off Custom images only: VTube Studio asks you before showing it.
Across Text Default 0 -1 to 1 across the screen (-1000 to 1000 allowed), or random.
Up and down Text Default 0 Same range, or random.
Size Text Default 0.32 From 0 to 1; 0.32 is about VTube Studio's default.
Rotation Text Default 0 Degrees, or random.
Fade in (seconds) Text Default 0.5 From 0 to 2.
Layer order Text Usually -30 to 30 (-1000 to 1000 accepted). Empty lets VTube Studio choose.
Flip On/off Mirror the image.
Smoothing Text Default 0 From 0 to 1.
Locked On/off Nobody can drag the item.
Remove after Duration Take the item away after this long, such as 30s; up to 24 hours. Empty keeps it.
Remove when CroStream disconnects On/off Default on VTube Studio removes the item itself when CroStream disconnects.

random for a position picks a spot between -0.9 and 0.9 (for rotation, 0 to 360) so the item lands on screen.

Output Meaning
{item_id} The instance ID of the item that was dropped.
{item_file} The VTube Studio file name of the item.

Limits. VTube Studio's scene can hold only so many items; when it is full the step fails with VTube Studio's scene is full of items. Remove some first. If you turn off Remove when CroStream disconnects, the item stays after CroStream disconnects, and a Remove after timer is kept and carried out when CroStream reconnects.

Example: when a viewer redeems Confetti, drop confetti.png at Across random for 5s.

Remove items from VTube Studio

ID vtubestudio.item_remove

Takes items out of the VTube Studio scene: one you name, every copy of a file, everything CroStream added, or everything.

Setting Type Details
Remove Choice Default this this: the item below. file: every copy of a file. ours: everything CroStream added. all: every item in the scene, yours too.
Item Text Default {item_id} For this: the item's instance ID. Several can be separated by commas.
File Pick For file: the item file whose copies go.
Also copies added by someone else On/off For file: also remove copies you or other plugins added.
Output Meaning
{removed_count} How many items were removed.

all removes items you added by hand in VTube Studio too. There is also a Remove CroStream's items button on the VTube Studio page.

Move an item

ID vtubestudio.item_move

Slides, resizes or turns items that are in the scene. Leave a field empty to leave that part as it is.

Setting Type Details
Item required Text Default {item_id} Instance ID. Up to 64 items, separated by commas.
Across Text -1 to 1 across the screen, or random. Empty leaves it.
Up and down Text -1 to 1 up the screen, or random. Empty leaves it.
Size Text From 0 to 1. Empty leaves it.
Rotation Text Degrees, or random. Empty leaves it.
Time (seconds) Text Default 1 How long the move takes, from 0 to 30.
Motion Choice Default easeOut How the move accelerates: linear, easeIn, easeOut, easeBoth, overshoot or zip.
Flip Choice Default unchanged unchanged, flip or unflip.
Layer order Text Empty leaves it.
Streamer can stop it On/off Grabbing the item in VTube Studio stops the move.
Output Meaning
{moved_count} How many items were moved.

If some of several items can't be moved (gone from the scene), the step fails and lists which ones, noting how many did move.

Control an item's animation

ID vtubestudio.item_animate

Plays, stops or changes the speed, frame, brightness or opacity of an animated item (a GIF, for example). Leave a field empty to leave it.

Setting Type Details
Item required Text Default {item_id} The item's instance ID.
Playback Choice Default unchanged unchanged, play or stop.
Frame Text Frame number, counting from 0.
Frames per second Text From 0.1 to 120.
Brightness Text From 0 (black) to 1.
Opacity Text From 0 to 1.
Stop at frames Text Frame numbers separated by commas where the animation stops itself, or none to clear them.
Output Meaning
{item_frame} The item's frame afterward.
{item_playing} true or false: whether the animation is playing afterward.

Live2D items can't be animated this way (Use their hotkeys; see Trigger a hotkey). A still image fails with This image isn't animated if you set playback or frames; only brightness and opacity apply.

Pin or unpin an item on the model

ID vtubestudio.item_pin

Sticks an item to a part of your model so it moves with it, or lets it go.

Setting Type Details
Item required Text Default {item_id} The item's instance ID.
Action Choice Default pin pin or unpin.
Pin to Choice Default anchor anchor: a named part you set up on the VTube Studio page. art_mesh: a part by its ID. random: anywhere on the model.
Anchor Pick For anchor. See Props & anchors.
ArtMesh Pick For art_mesh.
Position Choice Default center center, random or exact (the spot you clicked when setting the anchor).
Angle Text Default 0 Degrees.
Angle relative to Choice Default model model, world, item (its current rotation) or pin (the pin position).
Size Text From 0 to 1. Empty keeps the item's size.
Output Meaning
{item_id} The instance ID of the item.

Use it right after Drop an item, passing {item_id}, to put a viewer's emote on your head. For a quick temporary picture on a named part, Put on a prop does the drop, pin, sort and removal in one step. If the anchor's part is no longer on the model (you changed models or rigs), the step fails with a message naming the ArtMesh and the anchor, telling you to set that anchor again.

Put an item between the model's layers

ID vtubestudio.item_sort

Decides whether an item is drawn in front of or behind your model, or between two of its parts.

Setting Type Details
Item required Text Default {item_id} The item's instance ID.
Front part Choice Default in_front in_front: in front of the whole model. behind: behind it. art_mesh: just in front of the ArtMesh below. off: leave it.
Front ArtMesh Pick For art_mesh.
Back part Choice Default off Live2D items only: where the back part of the item goes. off, behind or art_mesh.
Back ArtMesh Pick For back part art_mesh.
Split at Text Live2D items: the item's own ArtMesh where it splits into a front and a back part. Empty leaves it.
Output Meaning
{front_found} true or false: whether the model had the layer the item was put at.

Props

Put on a prop

ID vtubestudio.prop

Puts an image on a part of your model for a while, like a clown nose on your nose or a hat on your head, then takes it off. This one step loads the image, pins it to a named anchor, draws it in front of the model and removes it after the time you set.

The Put on a prop action with the chat emote source, the nose anchor, size 0.12 and a duration of 10 seconds

Setting Type Details
Image from Choice Default chat_emote One of vts_file, media, emote, chat_emote. See Image sources.
VTube Studio item Pick For vts_file.
Media library image Pick For media.
Twitch emote Text For emote.
Which chat emote Choice Default first For chat_emote: first, last, random or most.
Ask in VTube Studio first On/off Custom images only: VTube Studio asks you first.
Anchor required Pick The part of the model to put it on, set up on CroStream's VTube Studio page. You can type an anchor name or use a {variable}.
Size Text Default 0.12 From 0 to 1.
Angle Text Default 0 Degrees, relative to the model.
Position Choice Default auto auto: the exact spot you clicked for the anchor, else its center. center: the middle of the part. random: anywhere on the part.
For how long Duration Default 10s From 1 second to 1 hour. Empty or 0 keeps it until something removes it.
Fade in (seconds) Text Default 0.3 From 0 to 2.
Flip On/off Mirror the image.
Replace an earlier prop On/off Default on Take off an earlier prop on this anchor first.
In front of the model On/off Default on Keep it in front of the whole model, so a nose is not hidden behind hair.
Output Meaning
{item_id} The instance ID of the prop.
{item_file} The VTube Studio file name of the prop.
{anchor_art_mesh} The ArtMesh the anchor sits on.

How it behaves.

  • The anchor is looked up for the model that is loaded. An anchor named nose set for one model does not exist for another, and the step fails with No "nose" anchor for model Akari. On CroStream's VTube Studio page, add it and pick the part. This is checked before any image work.
  • Replace is per anchor: a new prop on nose removes the old one on nose, but only after the new one loaded, so a failed load leaves the old prop on. Props on different anchors stay together.
  • Props use Remove when CroStream disconnects, so VTube Studio clears them if the connection drops.
  • If putting the prop in front fails, you get a note in the feed and the prop stays where VTube Studio placed it.

Example: Image from chat_emote, Anchor nose, For how long 8s, on a Chat command event, turns a viewer's emote into a nose for eight seconds.

Effects

Turn a visual effect on or off

ID vtubestudio.effect

Switches one of VTube Studio's visual effects (bloom, glitch, rain and so on) on, or off, optionally for a limited time.

Setting Type Details
Effect required Pick The effect, from VTube Studio's list.
Strength Text Default 1 From 0 to 1. 0 turns the effect off.
Fade (seconds) Text Default 0.5 From 0 to 2.
For how long Duration Put the effects back as they were after this long, such as 10s; up to 1 hour. Empty keeps the effect.
Restricted effect On/off Needed for restricted effects. Allow them in VTube Studio's VFX (effects) settings first.
Output Meaning
{effects_active} How many effects are on afterward.

If VTube Studio doesn't know the effect the step fails with No effect named name in VTube Studio. Restricted effects fail with That effect is restricted until you allow them in VTube Studio and turn on Restricted effect. With For how long, CroStream saves the current effects (including a loaded preset) and restores them afterward, not just this one effect.

Set VTube Studio's effects

ID vtubestudio.post_processing

Loads an effects preset, sets individual effect values, randomizes the effects, or turns them all on or off. VTube Studio calls this post-processing.

Setting Type Details
Mode Choice Default preset One of preset, values, randomize, on, off.
Preset Pick For preset: the effects preset to load.
Values Values For values: effect setting IDs such as Bloom_Strength with values such as 0.8, true or 220308FF (colors are RRGGBB or RRGGBBAA). Numbers, true/false (or 1/0) and colors are checked against the setting's type.
Fade every other effect off On/off For values: every setting you didn't list goes back to its default.
Chaos Text Default 0.45 For randomize: from 0 to 1.
Fade (seconds) Text Default 1 From 0 to 2.
Restricted effects On/off Needed for restricted effects. Allow them in VTube Studio's VFX (effects) settings first.
Put back after Duration Put the effects back as they were after this long, such as 30s; up to 1 hour. Empty keeps them.
Output Meaning
{effects_active} How many effects are on afterward.
{effects_preset} The name of the active effects preset, empty when none.

on and off switch effects as a whole without changing their settings. VTube Studio takes effect updates one at a time, so CroStream spaces them by a third of a second. An unknown preset fails with No effects preset named name, and a setting ID or value VTube Studio rejects with VTube Studio doesn't know one of those effect settings, or a value doesn't fit it.

Parameters

Tracking parameters are the numbers that drive your model: mouth open, eye smile, head angle, plus custom ones that models and other plugins define.

Set a tracking parameter for a while

ID vtubestudio.parameter

Holds one of VTube Studio's tracking parameters at a value for a while, overriding what the camera sees.

Setting Type Details
Parameter required Pick The parameter, from the loaded model's list.
Value required Text From -1000000 to 1000000. Most parameters run from 0 to 1.
Weight Text Default 1 From 0 to 1: how much of this value is mixed with face tracking (mode set).
Mode Choice Default set set takes over the parameter. add adds the value to it and works alongside other plugins.
For how long required Duration Default 3s From 1 second to 10 minutes.
Face found On/off Tell VTube Studio the face is found while holding.

CroStream keeps sending the value until the time is up. When it ends, tracking takes over again. If another plugin already controls the parameter, the step fails with Another plugin is already setting name. Use mode add, or stop the other plugin. A name VTube Studio doesn't know fails with No parameter name in VTube Studio. Face found helps if you want a model to keep animating while your camera sees no face.

Create a custom parameter

ID vtubestudio.parameter_create

Adds a custom tracking parameter to VTube Studio that models and other plugins can use.

Setting Type Details
Name required Text 4 to 32 letters and digits, no spaces.
Explanation Text What it is for, under 256 characters.
Minimum Text Default 0
Maximum Text Default 1 Must be above the minimum.
Default Text Default 0 Between the minimum and maximum.
Output Meaning
{parameter} The name of the parameter that was created.

The parameter is yours until deleted. A name that another plugin owns, or that is one of VTube Studio's own, is refused with a message saying so.

Delete a custom parameter

ID vtubestudio.parameter_delete

Removes a custom parameter that CroStream created.

Setting Type Details
Name required Pick One of CroStream's custom parameters.

Deleting one that is already gone succeeds (already gone). One that belongs to another plugin fails with That parameter belongs to another plugin.

Advanced

Change VTube Studio's NDI output

ID vtubestudio.ndi

Turns VTube Studio's NDI video output on or off, switches NDI 5, or sets a custom output size. Needs the Control NDI permission.

Beta feature

VTube Studio's NDI request, and the permission it needs, are currently only in VTube Studio's public beta. On the regular version this action fails.

Setting Type Details
NDI output Choice Default unchanged unchanged, on or off.
Use NDI 5 Choice Default unchanged unchanged, on or off.
Custom resolution Choice Default unchanged unchanged, on or off.
Width Text 256 to 8192, a multiple of 16. Empty leaves it.
Height Text 256 to 8192, a multiple of 8. Empty leaves it.
Output Meaning
{ndi_active} true or false: whether NDI output is on afterward.

Change at least one setting. VTube Studio only allows an NDI change every three seconds; if it says wait, CroStream waits and tries once more. A bad size fails with Width must be a multiple of 16 and height of 8, from 256 to 8192.

Image sources

Drop an item and Put on a prop show an image chosen by Image from:

Value Picture Notes
vts_file An item from VTube Studio's own Items folder. Nothing is uploaded; no permission needed. Default for Drop an item.
media An image from your media library. Needs the Load custom images as items permission.
emote A Twitch emote by name or ID. The name must have appeared in chat since CroStream started, or give its numeric ID (or emotesv2_…).
chat_emote An emote in the chat message that started the macro. Default for Put on a prop. Which chat emote picks first, last, random or most (the one used the most times; ties go to the first). Fails with The chat message that ran this macro has no emotes when the message has none. A macro's Test button uses Kappa.

Custom images (media, emote, chat_emote) are sent to VTube Studio as data. CroStream prepares them first:

  • PNG, JPG, GIF and WebP (and BMP) are accepted. Anything else fails with This image type isn't supported; use PNG, JPG, GIF or WebP.
  • Input up to 20 MB is read; VTube Studio accepts up to 5 MB, 64 to 2048 pixels on a side. CroStream resizes and re-encodes stills and GIFs as needed. An image that is still too big afterward fails with This image is too large for VTube Studio (5 MB max), and a GIF that is still too big, or has more than 1024 frames, with This GIF is too large for VTube Studio (5 MB max).
  • A very thin image fails with This image is too thin to show. A huge one fails with has too many pixels to read.
  • The same picture is only sent once per VTube Studio session.
  • Ask in VTube Studio first makes VTube Studio show a window asking you to allow a custom image. It asks the first time only: VTube Studio remembers images you allowed (by their content), so the same picture is not asked about again. VTube Studio shows at most six such questions at once; more fail until you answer. Declining fails with The image was declined in VTube Studio. The question waits up to 30 seconds. If the macro step has less than about 8 seconds left, the step fails with There is not enough time left to ask in VTube Studio.

Permissions

Two things need a permission you grant once in VTube Studio:

Permission Needed by
Load custom images as items media, emote and chat_emote images in Drop an item and Put on a prop.
Control NDI Change VTube Studio's NDI output.

On CroStream's VTube Studio page, click Ask in VTube Studio next to the permission, then Allow in VTube Studio. Until then those actions fail with a message naming the exact button. Everything else needs no extra permission.

Undoing after a while

Actions with a timer (Turn it back after, Move back after, Switch back after, Put back after, Remove after, Remove the tint after, For how long) put things back by themselves.

  • Changes VTube Studio undoes itself when CroStream disconnects (items loaded with remove on disconnect, tints, held parameters, props) are simply dropped from CroStream's timers on disconnect.
  • Changes VTube Studio would not undo (expression, model position, model load, effects, and items with remove on disconnect off) are kept. If the timer ends while you are disconnected, CroStream puts things back as soon as it reconnects, unless it was disconnected too long, in which case it skips the undo and tells you in the Activity feed. When CroStream quits, pending undos are run first.
  • If you load a different model before the timer ends, undos tied to the old model (an expression, a model move, a tint) are dropped.
  • Starting the same kind of change again (the same expression, a second move back) keeps the first undo with the new deadline.
  • Reset everything CroStream changed on the VTube Studio page runs all pending undos now, stops held parameters, removes CroStream's items and clears tints.