Streaming Hub 0.1

Celebrate a follower goal with Threshold Reached

Count new Twitch followers during the current stream, display the total in OBS, and restart an animation when the counter reaches a goal.

Alpha
IntermediateTwitchOBSUpdated 2026-07-28

Result

This guide creates a follower goal for the current broadcast:

  1. Starting the stream resets a Number variable to zero.
  2. Every Twitch follow increments the variable and updates an OBS text source.
  3. When the value changes from below the target to exactly 10, a Threshold Reached signal restarts a celebration animation.

The workflow is split into three small automations so the counter, display, and goal reaction remain independent.

The OBS counter updates with each simulated follow, then the media source restarts when the target is reached.

Before you start

This guide assumes you already know how to create automations, add actions, create project variables, connect Twitch and OBS, and configure OBS Slots.

You need:

  • a connected Twitch account that can receive Follow events;
  • a connected OBS profile;
  • one Number variable;
  • one OBS Text Slot;
  • one OBS Media Slot.

Step 1. Prepare the OBS sources

In OBS, create a text source named:

New_followers_counter

Set its initial text to:

New followers: -

Add a Media Source named:

Followers_Animation

You can use the example video from this guide:

Download followers-animation.mp4

In the Media Source properties, disable Restart playback when source becomes active. The source can remain available in the scene while Streaming Hub explicitly restarts it with an OBS action.

Step 2. Create the OBS Slots

In the Streaming Hub OBS tab, create and bind:

Slot typeSlot nameOBS binding
TextNew_followers_counterText source New_followers_counter
MediaFollowers_AnimationMedia Source Followers_Animation

Using Slots keeps the downloaded folder portable across OBS profiles. The Slot definitions and Bindings themselves are project-specific and are not included in the folder export.

Step 3. Create the counter variable

Create a project variable:

FieldValue
Namenew_followers_counter
TypeNumber
Initial value0

The three automations will share this value through:

vars.new_followers_counter

Step 4. Reset the counter when streaming starts

Create an automation named:

New_Follower_Counter_at_Zero

Use the OBS Stream Started signal. If another service is the authoritative source for your live state, you can instead use vMix Stream Started, Twitch Online, or YouTube Online.

Add Core Set Variable:

FieldValue
Target Pathvars.new_followers_counter
Value Template0

Then add OBS Source Set Text:

FieldValue
Text SlotNew_followers_counter
TextNew followers: {vars.new_followers_counter}

When the stream starts, the variable becomes 0 and OBS immediately shows:

New followers: 0

Step 5. Increment the counter for every follow

Create an automation named:

Follower_Count_Increment

Select the Twitch Follow signal.

Add Core Increment Value:

FieldValue
Target Pathvars.new_followers_counter
Delta1
Clamp MinEmpty
Clamp MaxEmpty

Copy Source Set Text from the reset automation and place it after Increment Value:

FieldValue
Text SlotNew_followers_counter
TextNew followers: {vars.new_followers_counter}

The order matters: Streaming Hub increments the value first, then sends the updated total to OBS.

Step 6. Create the threshold automation

Create a third automation named:

Followers_Goal_Reached

Select the Core Threshold Reached signal and configure:

FieldValue
Source Pathvars.new_followers_counter
ComparisonEqual
Target Value10
Epsilon0
Sampling ModeEvent Driven
Crossing OnlyEnabled
OnceDisabled
Rearm ModeManual

With Crossing Only enabled, the signal fires when the condition changes from false to true. During normal counting, the values progress from 9 to 10, so the equality condition becomes true once. At 11, it becomes false again.

If another action later reduces the counter below 10 and it reaches 10 again, the threshold can fire again while Once is disabled.

Step 7. Restart the celebration media

Add OBS Slot Restart Media:

FieldValue
Media SlotFollowers_Animation

When the follower counter reaches 10, OBS restarts the bound Media Source from its beginning.

This is different from showing and hiding the source: the media can remain in the scene, and every threshold event explicitly moves playback back to the first frame.

Step 8. Optional: announce the goal in chat

The downloaded folder matches the core example and restarts only the OBS media. To announce the goal as well, add Twitch Send Message after Slot Restart Media:

We reached {vars.new_followers_counter} new followers this stream! Thank you!

You can replace Twitch with YouTube or another supported chat service. If the same announcement should work across several services, call a shared chat macro instead of duplicating the goal logic.

Step 9. Group the automations

Create a folder named:

Followers_Threshold

Move these automations into it:

  • Followers_Goal_Reached
  • Follower_Count_Increment
  • New_Follower_Counter_at_Zero

The downloadable folder at the end of this guide contains all three automations.

Verify the complete workflow

Test the system without waiting for a real broadcast:

  1. Set new_followers_counter to a nonzero value.
  2. Test New_Follower_Counter_at_Zero and confirm both the variable and OBS text return to 0.
  3. Test Follower_Count_Increment several times and confirm the variable and OBS remain synchronized.
  4. Set the variable to 9, then test the Follow automation once.
  5. Confirm that the value becomes 10 and Followers_Animation restarts.
  6. Test another Follow event and confirm the value becomes 11 without another goal reaction.
  7. If you added Send Message, confirm the chat announcement runs after the media restart.

If it does not work

  • The counter does not reset: test the selected Stream Started or Online signal and confirm it belongs to the service that reports your actual broadcast state.
  • The Twitch Follow automation does not run: reconnect Twitch and inspect the incoming signal in Logs.
  • The variable changes but OBS does not: verify the Text Slot Binding and place Source Set Text after Increment Value.
  • Threshold Reached never runs: confirm that the source is a Number variable, the Source Path includes vars., and the value changes from below 10 to exactly 10.
  • The animation does not restart: bind a Media Slot, not a generic Source Slot, and confirm that the OBS source is a Media Source.
  • The animation restarts when changing scenes: disable Restart playback when source becomes active in the OBS Media Source properties.
  • The goal runs more than once: check whether another automation decreases or resets the counter before it returns to 10; enable Once if the threshold must remain disarmed after its first run.

Adapt it

  • Replace Twitch Follow with subscriptions, raids, donations, channel-point rewards, or another numeric event.
  • Put the target in a Number variable and reference it in the threshold settings when you want to change goals without editing the automation.
  • Use GreaterOrEqual when the source can jump past the exact target instead of increasing one point at a time.
  • Add OBS filter, scene, or source actions to build a larger celebration.
  • Add another threshold at 25, 50, or 100 for tiered milestones.
  • Store a lifetime total separately while resetting only the per-stream counter.
  • Use a shared macro to update both Twitch and YouTube chat when the goal is reached.

Related

Download the ready-made script

Import it into Streaming Hub, then follow this guide to add your own variables and connect the required services.

Download the follower goal folder