Example Scene Setup (Wizard-aligned)
This guide mirrors the intended workflow of the Sirocco Race Timing system, but lays it out explicitly so you can build a scene from scratch and understand each piece.
It’s suitable for: - new users validating installation - teams creating their own base scene/template - troubleshooting missing references
Goal
Create a scene with: - a track (waypoints) - 2–3 competitors - timing manager running - RaceTower UI showing gaps - (optional) toast notifications
1) Create/open a scene
- File → New Scene
- Save it somewhere like:
Assets/Scenes/RaceTimingExample.unity
2) Create a track
You can either use the Wizard or do it manually.
Option A: Use the Wizard (fast)
Run: Tools → Sirocco Race Timing → Quick Start Wizard
Wizard notes:
- Creates (if missing) Assets/RaceTiming/TrackData/TrackMarkersSO.asset
- Creates RaceTimingManager with the Sprint Race preset (10-lap race with F1-style countdown)
- Tries to instantiate RaceTower.prefab (fallback creates a basic Canvas/panel if not found)
- Creates ToastManager + assigns DefaultToast (if needed) + creates RaceToastBridge
Then skip to Step 4 (create competitors).
Option B: Manual track setup
- Create the track data asset:
- Project window → Right click → Create → RaceTiming → TrackMarkersSO
- Name it:
ExampleTrack - In Hierarchy:
- Create empty GameObject named
TrackMarkers - Add component
TrackMarkerManagerBehaviour - Assign the
ExampleTrackasset totrackMarkerScriptableObject - Select
TrackMarkers, then in Scene View use Shift + Click to place markers around a loop.
3) Add a RaceTimingManager
- Create empty GameObject named
RaceTimingManager - Add component
RaceTimingManager - Recommended Inspector settings:
AutoStartSession: enabled (for quick testing)SessionConfig: Assign a preset fromAssets/RaceTiming/Presets/Sessions/- Sprint Race (Wizard default): 10-lap race with F1-style countdown
- Practice: No countdown, no finish condition
- Qualifying: Simple countdown, 15-minute timed session
- Feature Race: 50-lap race with F1-style countdown
- Endurance Race: 6-hour timed race
- Track sectors: defaults to 3 equal sectors on new track assets (edit on
TrackMarkerScriptableObject)
4) Create competitors
Minimal competitor setup
For each competitor:
1. Create a placeholder object (e.g., GameObject → 3D Object → Cube)
2. Name it: Racer1, Racer2, etc.
3. Add component: RaceCompetitor
4. Optional: set ShortName and TeamColor
Making them move
Sirocco Race Timing does not include vehicle physics. You need your own movement/controller.
For a simple test, use the demo helper:
- Add DemoRacer (Assets/RaceTiming/Demo/DemoRacer.cs)
- Assign the TrackMarkers GameObject to its Track Manager field
- Give each competitor a slightly different speed
5) Add the standings UI
Recommended:
- Use the prefab: Assets/RaceTiming/UI/Prefabs/RaceTower.prefab
Or follow the manual instructions in: - UI Setup: RaceTowerUI
6) Optional: Toast notifications
- Add a
ToastManager(from the UnityToast package) - If a prefab exists in your project:
Assets/UnityToast/Prefabs/ToastManager.prefab - Add
RaceToastBridgeto the scene - The Wizard will create it automatically
- Press Play and confirm toasts for:
- best lap
- best sector
7) Validate
When you press Play, you should see:
- RaceTimingManager logs about configured sectors
- competitors registering ([RaceCompetitor] Registered...)
- lap/sector events firing as objects move around the loop
- RaceTower rows appearing and updating
Recommended next steps
- Customize the session by assigning a different
SessionConfigpreset or creating your own viaAssets > Create > RaceTiming > Session Config - Wire UnityEvents (Inspector) for:
- lap complete sounds
- UI highlights on best lap/sector
- Replace
DemoRacerwith your own controller and keepRaceCompetitorattached