Skip to content

Quick Start (Editor-first)

This guide is for Unity users who want the default Sirocco Race Timing functionality with minimal code.

In Unity:

Race Timing → Quick Start Wizard

Quick Start Menu Location

This creates/sets up:

  • A TrackMarkersSO asset (track waypoint data)
  • You can select an existing TrackMarkerScriptableObject or click "Create New" directly in the wizard diagram to create one under Assets/RaceTiming/TrackData/.

    Track Markers Setup

  • A TrackMarkers GameObject with TrackMarkerManagerBehaviour (track editing + runtime track access)

  • A RaceTimingManager GameObject (session + timing)
  • Defaults (when newly created):
    • AutoStartSession = true
    • SessionConfig = Sprint Race preset (10-lap race with F1-style countdown)
  • A RaceTowerUI (standings display)
  • The wizard prefers instantiating Assets/RaceTiming/UI/Prefabs/RaceTower.prefab (found by name search)
  • If not found, it creates a simple Canvas + panel fallback and assigns RaceTowerUI.Container
  • It will try to assign a RaceTowerRow prefab (found by name search) if RowPrefab is empty
  • Toast notifications setup:
  • Creates a ToastManager if missing
  • Attempts to auto-assign DefaultToast prefab if ToastManager has no Toast Prefab
  • Creates a RaceToastBridge if missing

(Optional UI Components)

Optional UI Components

  • Optional: Delta Bar UI
  • Enable "Delta Bar" to add a live delta bar overlay
  • Requires CompetitorFocusManager (auto-created when needed)
  • Shows real-time comparison against reference lap
  • In demo scenes, press K to toggle visibility
  • Optional: Lap Position Bar
  • Enable "Lap Position Bar" to add a horizontal bar showing all competitors' positions around the lap
  • Requires CompetitorFocusManager (auto-created when needed)
  • Colour-coded dots: Red = leader, Green = focused driver, Grey = others
  • In demo scenes, press L to toggle visibility
  • Optional: Start Lights UI
  • Displays F1-style start lights during the session countdown.
  • Optional: Car Focus Indicator UI
  • Adds brackets highlighting the currently focused competitor's car on track.
  • Optional: Qualifying Lap UI
  • Provides a detailed overlay of sector times and lap splits specifically for the focused car.

After it runs, the wizard selects the TrackMarkers object so you can immediately place waypoints.

Full Wizard Overview

2) Create the track (Scene View)

Select the TrackMarkers GameObject.

In the Scene View:

  • Shift + Click: add waypoint
  • Click a waypoint: select it (move it with the position handle)
  • Alt + Click near a waypoint: delete nearest waypoint
  • Delete key: delete selected waypoint

You’ll see:

  • Blue spheres = waypoints
  • Light blue lines = the path
  • A closing segment from the last marker back to the first (loop)

Scene View Track Markers

Notes

  • Your scene needs colliders/terrain for raycasts to hit.
  • Waypoints are stored in a TrackMarkerScriptableObject asset.

3) Add competitors (cars)

For each vehicle GameObject:

  1. Add the RaceCompetitor component
  2. Optionally set:
  3. Id (if 0, auto-generated at runtime)
  4. CompetitorName (defaults to GameObject name)
  5. ShortName (3 letters, e.g. "HAM")
  6. TeamColor

4) Press Play

If the Wizard created your RaceTimingManager, it assigns the Sprint Race preset by default: - 10-lap race with F1-style countdown (5 lights, 30s pre-start)

To customize the session:

  1. Select RaceTimingManager
  2. Assign a different SessionConfig preset from Assets/RaceTiming/Presets/Sessions/:
  3. Practice: No countdown, no finish condition (manual stop)
  4. Qualifying: Simple countdown, 15-minute timed session
  5. Sprint Race: F1 countdown, 10-lap race (default)
  6. Feature Race: F1 countdown, 50-lap race
  7. Endurance Race: F1 countdown, 6-hour timed race
  8. Or create a custom config via Assets > Create > RaceTiming > Session Config

For manual session control:

  • Disable AutoStartSession on RaceTimingManager

Then control it via:

  • RaceTimingManager.Instance.StartSession()
  • RaceTimingManager.Instance.StopSession()

5) Set up the Race Tower UI

If you ran the Wizard, the UI may already be created.

Otherwise, see the dedicated setup guide: - UI Setup: RaceTowerUI

6) Optional: Add toast notifications

Toasts require a UnityToast.ToastManager in the scene.

The Quick Start Wizard creates a RaceToastBridge. It will automatically subscribe to Sirocco Race Timing events and show notifications.

For setup and configuration, see: - UI Setup: Toast Notifications

If you don't see toasts, check Troubleshooting.