UI Setup: Toast Notifications (RaceToastBridge)
This guide explains how to enable race event toast notifications using the included SiroccoToast integration.
For full SiroccoToast documentation, see: - SiroccoToast Reference
The components involved are:
- SlowToast.RaceTiming.Adapter.UI.RaceToastBridge — listens for race events and triggers toasts
- SiroccoToast.ToastManager — renders and manages toast display
What you get
When enabled, toasts can appear for: - Lap completed - Personal best lap - Session best lap - Personal best sector - Session best sector - Position changes
1) Add a ToastManager
Option A (recommended): Use the prefab
SiroccoToast is included with the asset. Drag the prefab into your scene:
- Assets/SlowToastRacing/RaceTiming/ThirdParty/SiroccoToast/Prefabs/ToastManager.prefab
Option B: Create manually
Create a GameObject and add the ToastManager component (from the SiroccoToast namespace). Ensure it has a Canvas.
2) Add RaceToastBridge
- Create an empty GameObject (name it
RaceToastBridgefor clarity). - Add the
RaceToastBridgecomponent.
At runtime, the bridge looks for a ToastManager and a RaceTimingManager in the scene. If either is missing, it logs a warning and disables toasts.
3) Configure which toasts to show
In the RaceToastBridge Inspector, toggle each event type on or off.
Defaults:
| Event | Default |
|---|---|
| Lap completions | ✓ On |
| Personal best lap | ✓ On |
| Session best lap | ✓ On |
| Personal best sector | ✓ On |
| Session best sector | ✓ On |
| Position changes | ✗ Off |
| Checkered flag | ✓ On |
| Driver finishes | ✓ On |
| Pre-start toasts | ✓ On |
| Time penalties | ✓ On |
| Lap invalidations | ✓ On |
| Disqualifications | ✓ On |
Common presets:
Broadcast-style: - Enable session best lap and session best sector - Disable personal best sector (can be noisy in multi-car races)
Single-player feedback: - Enable personal best lap and sector - Enable session best lap/sector (optional)
Minimal: - Enable lap completed and session best lap only
4) Icons and colours
RaceToastBridge exposes these in the Inspector:
Colours
- Personal Best Color — default: green
- Session Best Color — default: magenta
Icons (Sprite)
- Lap Icon
- Personal Best Icon
- Session Best Icon
- Position Up Icon
- Position Down Icon
- Checkered Flag Icon
- Finish Icon
If an icon is not assigned, the toast renders without it. The default
ToastViewhandles both layouts. Colours are injected as rich text tags, so your toast text component must have Rich Text enabled.
Colours
- Personal Best Color — default: green
- Session Best Color — default: magenta
- Penalty Color — default: yellow
- Disqualification Color — default: red
5) Validate
Press Play and check for: - Toasts appearing when a lap or sector event fires
Console warnings to look for:
- [RaceToastBridge] No ToastManager found in scene. → Add a ToastManager.
- [RaceToastBridge] No RaceTimingManager found in scene. → Add a RaceTimingManager.
Common issues
ToastManager exists but nothing shows
- Ensure ToastManager is enabled and has a Canvas
- Ensure the toast prefab is assigned in ToastManager
- Ensure the relevant toggles are on in
RaceToastBridge
Too many notifications
- Disable personal best sector toasts (high frequency in multi-car sessions)
- Use session best-only for broadcast-style display
Screenshots
1. Hierarchy

2. RaceToastBridge Inspector

3. Toast in-game
