Stick a chatter's emote on your model¶
The goal¶
A viewer types !bonk with an emote, say !bonk Kappa, and that emote
lands somewhere on your model's head for 15 seconds. Several viewers can
pile emotes on at once. A message without an emote gets a friendly hint in
chat.
Time: about 10 minutes. Level: beginner.
What you need¶
- CroStream connected to VTube Studio, with your model loaded, and logged in to Twitch.
- The Load custom images as items permission, granted on the VTube Studio page's Permissions card (how). Emotes are custom images.
Step 1: Set a head anchor¶
- Open Integrations → VTube Studio.
- In the Anchors card, click the
headsuggestion. - Click Pick in VTube Studio. In VTube Studio, select the part that covers most of the head (often the face or the front hair) and confirm.
With Position set to random (step 2), emotes land anywhere on the
anchor's part, so the exact spot doesn't matter and picking the part is
the simplest way to set it. A head anchor you've already clicked works
just as well.
Step 2: Build the macro¶
- Click Macros, then New macro. Set Name to
Bonk emote. - Filter the palette for
ifand click If (under Tools). Click Choose what to check…, choose{args}, then is empty. - Under Then, add a Send chat message step (under Twitch):
@{user} add an emote, like !bonk Kappa. Then add a Stop step (under Tools) set to Succeed. -
Below the If (not inside it), add Put on a prop (filter for
prop) and fill it in:Setting Value Why Image from chat_emoteThe emote from the chatter's own message. Which chat emote firstThe first emote they typed. Anchor headThe anchor from step 1. Size 0.08Emotes look best small. Position randomSomewhere different every time. For how long 15sReplace an earlier prop Off So emotes pile up instead of replacing each other. -
Click Save.
Step 3: Add the trigger¶
- Click Triggers, then New trigger. Set Name to
!bonk. - Under When, pick Chat command and type
!bonkinto Command. - Under Who & how often, set User cooldown to
30s, so each viewer can bonk you twice a minute at most. - Under Then run, pick Bonk emote, then click Save.
Check it works¶
Try it in your own chat (your own commands skip cooldowns):
- Type
!bonk Kappa. Kappa lands somewhere on your head and comes off 15 seconds later. - Type
!bonk Kappaa few more times: the emotes pile up in different spots. - Type just
!bonk. The hint appears in chat and nothing goes on. - Type
!bonk hello(no emote). The prop step fails with The chat message that ran this macro has no emotes., which you'll see in Activity.
Why not the Test button?
A Test run has no text after the command, so {args} is empty: the
If step sends the hint and stops before the prop. Typing the command in
chat is the real test here.
Variables used¶
| Variable | Becomes |
|---|---|
{user} |
The chatter's display name. |
{args} |
Everything after !bonk, such as Kappa. Empty when they typed only !bonk. |
Make it yours¶
- Safety first. Viewers choose these images. To see each new emote
before it shows on stream, turn on Ask in VTube Studio first: VTube
Studio asks you with a small popup, and once you've allowed an emote it
never asks about that one again. Keep the macro's Timeout at least
30sso there's time to answer. - The most-spammed emote wins. Set Which chat emote to
most, and!bonk LUL LUL Kappaputs LUL on. - Bonk the forehead. Click a
foreheadanchor on your model and use it with Positionautofor an emote that lands on exactly the same spot every time.
Troubleshooting¶
| What you see | What to do |
|---|---|
| The chat message that ran this macro has no emotes. | The chatter typed no Twitch emote. Emotes from browser extensions (such as 7TV or BetterTTV) aren't Twitch emotes, so Twitch doesn't report them. |
| VTube Studio hasn't allowed CroStream to load images | Grant Load custom images as items on the Permissions card. |
| VTube Studio's scene is full of items. Remove some first. | Too many emotes at once. Shorten For how long, or raise the user cooldown. Remove CroStream's items in the Model card clears them. |
| Emotes all land in the same place | Position is auto or center. Set it to random. |
Every image source: Props and anchors. More fixes in Troubleshooting.