The lucky wheel is a spin animation you can drop into OBS. You define the segments and their odds, then spin it yourself, let viewers spin it with a command, or have Bits, subs and tips spin it automatically.
What it solves
Randomness is content in itself. Instead of deciding "what do I give this time", hand the choice to the wheel — viewers see the process and the odds, and whatever comes up plays better than you simply announcing it. The wheel is also the most direct way to turn viewer actions into something that happens on screen: someone tips, the wheel spins.
Getting started
- Create a wheel, add segments and give each a weight (higher weight = more likely).
- Add the wheel's OBS URL as a browser source.
- Decide who can spin: the dashboard button, a chat command, or automatic viewer triggers.
- Optionally attach effects to the result (grant points, add marathon time, and so on).
Composite wheels
A composite wheel (Pro) chains 2–3 steps into a formula evaluated in order: the first step is a
value, and each later step is either a multiplier or an addition — any of which may be negative.
For example "value → add → multiply" evaluates as (A + B) × C. The resulting figure can
be applied as marathon seconds or points, or set to "none" — in which case it's pure showmanship.
Common misconceptions
- The wheel is only the visual; the winner is drawn on the server. Where the animation stops is a performance of a result that was already decided. Reloading OBS won't change the outcome, and no amount of timing can game it.
- The two cooldowns both apply — it isn't either/or. The wheel's own cooldown and the per-viewer interval must both pass before a spin happens.
- Selecting no viewer roles means nobody can spin by command. It is not "empty = everyone". The dashboard spin button still works, so you can't lock yourself out.
- The dashboard spin button ignores every restriction. Cooldowns, roles and command settings don't apply to it — it's there for you.
- Disabling a wheel blocks triggers, not your own testing. A disabled wheel won't be spun by anything, but you can still spin it from the dashboard to check the segments and the animation.
- Automatic triggers need one rule per source, not one per amount. Adding several rules for the same source only makes it harder to maintain.
Settings
The text below is taken from the in-app help, so it stays in sync with the actual interface.
| Setting | What it does |
|---|---|
| Type | Composite chains built-in steps into a formula, evaluated in order (Pro) |
| Options source | Custom items, or entrants of a giveaway (tickets = weight) |
| Giveaway | Winner is still drawn server-side; the wheel is the visual |
| Apply result to | The computed value is applied as marathon seconds or channel points; choose None to only show the wheel result without any effect |
| Chat command (optional) | No spaces allowed; a ! prefix is not added automatically, type it yourself if you want one. Leave empty to disable. See "Viewer permission" below for who can use it. |
| Per-user cooldown (sec) | Minimum gap between spins by the same viewer. Applies on top of the cooldown above — both must pass. 0 = no limit. Chat command only. |
| Single event | One event reaches the threshold |
| Per threshold | Fires once for each full threshold; a single event can fire multiple times. |
| Reward title | Must match the Twitch channel points reward title exactly. |
| Only while live | Auto triggers and the chat command only work while the stream is live |
| Announce result message | Send the result message in chat when the spin ends; the prize action's custom message is still sent when this is off |
| Cooldown (sec) | Minimum interval between triggered spins (0 = none); the dashboard button and accumulated triggers are not limited. |
| Spin duration (sec) | Also drives the server-side queue timing |
| Max options visible | When there are more options than this, the wheel shows only this many at a time — the rest sit behind a fixed cover and rotate in as the wheel spins (odds are unaffected); leave blank to show all |
| Show title | Show the wheel name above the OBS animation (composite wheels show each step name) |
| Spin speed | Does not change the spin duration or queue wait — only how many revolutions the animation makes |
| Volume | Master volume for all sounds in the OBS animation (50% = default level) |
| Pointer follows option color | The pointer takes the color of the option it is pointing at; off = solid white |
| Font | Pick from the list or type any system/custom font name |
| Font size | Scale relative to the auto-sized text (100% = default); size already adapts to the wheel size and slice width |
| Label lines | How many lines a long name may wrap onto (1 = no wrapping, truncate instead); anything past the last line is trimmed with an ellipsis |
| Spin sound | Played while the wheel is spinning |
| Result sound | Played when the result is revealed |
| Custom audio | https only; mp3 / ogg / wav / m4a. |
| Confetti | Confetti burst when the result is shown |
| Extra message | Extra text sent to chat when this item wins; leave blank to send nothing. Can be combined with the action below. |
| Seconds (±) | Adds to / subtracts from the marathon timer |
| Factor | Multiplies the time currently remaining; no effect once it has hit zero |
| Points (±) | Grants or deducts channel points from the triggering viewer |
Other notes
- Off = this wheel never triggers (dashboard test spin still works)
- A composite wheel has 2–3 built-in steps evaluated in order: the first step is the value (starting number), each later step is a multiplier (×) or an add (+), both may be negative. E.g. value→add→multiplier = (A + B) × C. Each step has its own options; a number is required. Without Pro, only the value step spins.
- The Spin button on the wheel list is always available and ignores the limits below.
- No roles selected = nobody can spin via chat command (the Spin button in the wheel list still works).
- Spin automatically when viewers do any of the following; each source needs only one rule. Triggers set to Send to pending land in the Pending tab for you to spin or dismiss.
- Once set up, cheers, subscriptions, donations and more can spin the wheel automatically.
- Upgrade to let cheers, subscriptions, donations and more spin the wheel automatically.
- Fires once for each full threshold within one event
- Most spins a single event can trigger; very high values are capped to keep a huge tip or big raid from flooding the spin queue.
- You are not on the Pro plan — the settings below are kept but will not run.
- New subs and resub shares both count; gift recipients do not — they count under Gift subs. The number is how many times one subscription spins the wheel. Keep at least one tier on.
- Prizes without their own colour cycle through this palette.
- At least 2 items; the chance of each item = weight / total weight.
- One option per line, names only; weights, actions and colors are kept as-is (new lines get defaults) — switch to Advanced to edit them.
- When picked, automatically spins the selected wheel; the chained spin respects the target wheel's cooldown, and up to three wheels can be chained
- When picked, runs the Twitch command as the bot; moderation commands need the bot to be a MOD.
- Same as typing "!command args" in chat; the permissions applied depend on "Run as" above.
- Spin records are kept for 30 days.
- Local preview only — no chat message, no actions.
Other settings
These settings have no additional help text in the dashboard; only their names are listed here.
- (untitled)
- No wheels yet.
- Select or create a wheel.
- Over limit
- Failed to delete. Please try again.
- Spin
- Spin started
- Spin failed (needs at least 2 items or incomplete settings)
- Basics
- Name
- Single wheel
- Composite wheel
- Custom items
- Giveaway entrants
- Composite wheel
- Edit steps and options in the Items tab; set how the result is applied here.
- Add step
- None
- The first step of a composite wheel must be a value step, and every step needs at least 2 options with a required number.
- Step name
- Role
- Options
- Value
- Multiplier
- Add amount
- Custom label (optional)
- Add option
- Remove step
- Formula preview
- Value
- Multiplier
- Add
- Manual spin
- Auto triggers
- No auto triggers yet
- Auto triggers are a Pro feature
- View plans
- This duplicates an earlier trigger; only the first one runs.
- Already used by another trigger
- Count mode
- Max spins/event (1-1000)
- Add trigger
- Threshold (bits)
- Threshold (gift subs)
- Threshold (donation amount)
- Threshold (raid viewers)
- No title set — this trigger will not run.
- Subscription tiers that trigger
- Spin
- When triggered
- times
- Cheer
- Subscription
- Gift subs
- Donation
- Channel points
- Raid
- Manual
- Chat command
- Wheel chain
- Spin now
- Send to pending
- Spin limits
- OBS widget appearance
- Item palette
- Built-in presets
- My palettes
- Current palette
- Add colour
- Reset to built-in
- Save as my palette
- Palette name
- Default
- Pastel
- Neon
- Warm
- Cool
- Greyscale
- Monochrome ramp
- Twitch purple
- Result display (sec)
- Slow
- Normal
- Fast
- Text color
- Sounds
- Preview
- Custom
- Please pick a custom audio file
- Classic slot
- Ticking
- Clicks
- Card shuffle
- None
- 8-bit win
- Level up
- Coin shower
- Chime
- Ta-da
- None
- Result message
- Wheel name
- Result item
- Composite value
- Items
- Simple
- Advanced
- Label
- Weight
- Chance to win — this weight's share of the total
- Color
- Auto
- Restore auto
- Action
- Message
- × Multiply
- ÷ Divide
- Target wheel
- The target wheel was deleted — please choose again
- Please choose a target wheel
- Command
- Please choose a command
- No items yet.
- Add item
- This wheel uses giveaway entrants or composite steps — custom items are not used.
- None
- Message
- Marathon time
- Marathon time ×/÷
- Channel points
- Spin another wheel
- Twitch command
- Built-in command
- No pending spins.
- Spin
- Dismiss
- Dismiss all
- Action failed
- Skipped (no triggering user)
- Spinning…
- Waiting to run
- No spins yet.
- Test spin
- The module master switch is off — no wheel will be triggered (auto triggers, chat commands and the OBS widget are all inactive). You can finish setting up first; it takes effect once enabled.
- Enable now
- Failed to toggle the module
- Wheel to preview
