Skip to content

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

  1. File → New Scene
  2. 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

  1. Create the track data asset:
  2. Project window → Right click → Create → RaceTiming → TrackMarkersSO
  3. Name it: ExampleTrack
  4. In Hierarchy:
  5. Create empty GameObject named TrackMarkers
  6. Add component TrackMarkerManagerBehaviour
  7. Assign the ExampleTrack asset to trackMarkerScriptableObject
  8. Select TrackMarkers, then in Scene View use Shift + Click to place markers around a loop.

3) Add a RaceTimingManager

  1. Create empty GameObject named RaceTimingManager
  2. Add component RaceTimingManager
  3. Recommended Inspector settings:
  4. AutoStartSession: enabled (for quick testing)
  5. SessionConfig: Assign a preset from Assets/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
  6. 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

  1. Add a ToastManager (from the UnityToast package)
  2. If a prefab exists in your project: Assets/UnityToast/Prefabs/ToastManager.prefab
  3. Add RaceToastBridge to the scene
  4. The Wizard will create it automatically
  5. Press Play and confirm toasts for:
  6. best lap
  7. 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


  • Customize the session by assigning a different SessionConfig preset or creating your own via Assets > Create > RaceTiming > Session Config
  • Wire UnityEvents (Inspector) for:
  • lap complete sounds
  • UI highlights on best lap/sector
  • Replace DemoRacer with your own controller and keep RaceCompetitor attached