Component Reference
Every CCDS runtime component, its Add Component path, and what it needs.
All components live in namespace BoneCrackerGames.CCDS and appear under Add Component → BoneCracker Games → CCDS →.
Naming conventions
| Prefix / suffix | Meaning |
|---|---|
CCDS_ |
Concrete class |
ACCDS_ |
Abstract base |
ICCDS_ |
Interface |
_MP |
Multiplayer mission subclass |
*_Editor |
Custom inspector |
Base classes
MonoBehaviour
├── ACCDS_Component [SelectionBase] — caches the scene manager
│ ├── ACCDS_Vehicle [DefaultExecutionOrder(10)] — health, damage, control lock
│ └── CCDS_Singleton<T> thread-safe generic singleton
├── ACCDS_Manager minimal base for managers
├── ACCDS_PunComponent MonoBehaviourPunCallbacks + [RequireComponent(PhotonView)]
└── ACCDS_Mission [RequireComponent(PhotonView)] under PHOTON_UNITY_NETWORKING
└── ACCDS_MultiplayerMissionBase
Interfaces:
| Interface | Contract |
|---|---|
ICCDS_CheckEditorError |
string[] CheckErrors() — picked up by the Validation Panel |
ICCDS_MissionNetworkHandler |
Mission networking |
ICCDS_MultiplayerMission |
Multiplayer mission |
Implement ICCDS_CheckEditorError on your own components and the Validation Panel reports them alongside CCDS's.
ACCDS_Vehicle
The base for every CCDS vehicle. Beyond component caching it provides:
| Member | Purpose |
|---|---|
health |
[Range(0,100)] |
damageMP |
[Min(0)] damage multiplier |
finished |
Mission completion flag |
IsAlive |
Getter |
Finished(), Wrecked() |
State helpers |
LockControl(), UnlockControl(), SetControlWithLock(bool) |
Control-lock surface |
ControlLockedByCCDS |
Whether CCDS holds authority |
skipVelocityResetOnEnable |
Preserve velocity across enable cycles during single-player → multiplayer |
autoDisable |
Deactivate in Awake for scene-placed dormant vehicles |
OnEnable raycasts down from the first wheel and snaps the vehicle to the ground, resetting velocities unless skipVelocityResetOnEnable is set.
Managers
| Component | Menu path (after BoneCracker Games/CCDS/) |
Role |
|---|---|---|
CCDS_GameplayManager |
Managers/CCDS Gameplay Manager |
Game state, player reference |
CCDS_NetworkManager |
Managers/CCDS Network Manager |
Photon connection, rooms, spawning |
CCDS_SceneManager |
Managers/CCDS Scene Manager |
Scene-level references, levelType |
CCDS_MainMenuManager |
Managers/CCDS Main Menu Manager |
Menu flow |
CCDS_MissionObjectiveManager |
Managers/CCDS Mission Objective Manager |
Mission registration |
CCDS_MissionObjectivePositionsManager |
Managers/CCDS MissionObjective Positions Manager |
Objective positions |
CCDS_MarkerManager |
Managers/CCDS Marker Manager |
Marker spawning |
CCDS_CopsManager |
Managers/CCDS Cop Manager |
Police AI |
CCDS_MinimapManager |
Managers/CCDS Minimap Manager |
Minimap |
CCDS_SoundtrackManager |
Managers/CCDS Soundtrack Manager |
Music |
CCDS_ChatManager |
Managers/CCDS Chat Manager |
Multiplayer chat |
CCDS_SaveGameManager |
Managers/CCDS Save Game Manager |
Save and load |
CCDS_TutorialManager |
Managers/CCDS Tutorial Manager |
Tutorial dispatch |
Create them with Tools → BoneCracker Games → CCDS → Create Scene Managers →, not by hand.
Player and AI
| Component | Menu path | Requires |
|---|---|---|
CCDS_Player |
Player/CCDS Player |
RCCP_CarController, PhotonView |
CCDS_AutoHandbrake |
Player/CCDS Auto Handbrake |
RCCP_CarController |
CCDS_AI_Cop |
AI/CCDS AI Cop |
RCCP_CarController, RCCP_AI |
CCDS_AI_CopPhotonSync |
AI/CCDS AI Cop Photon Sync |
CCDS_AI_Cop, PhotonView |
Add these with the vehicle setup prompt rather than manually — it also wires the Photon observers. See Add Your Own Vehicle.
Cameras
| Component | Menu path | Role |
|---|---|---|
CCDS_Camera |
Cameras/CCDS Camera Gameplay |
Gameplay camera |
CCDS_Camera_Orbit |
Cameras/CCDS Camera Orbit |
Main menu orbit camera |
CCDS_Camera_Enhanced |
Cameras/CCDS Camera Enhanced |
Extended gameplay camera |
CCDS_Minimap_Camera |
Cameras/CCDS Minimap Camera |
Orthographic minimap camera |
Missions
| Component | Menu path |
|---|---|
CCDS_MissionObjective_Race_MP |
Missions/Multiplayer/CCDS MissionObjective Race MP |
CCDS_MissionObjective_Pursuit_MP |
Missions/Multiplayer/CCDS MissionObjective Pursuit MP |
CCDS_MissionObjective_Checkpoint_MP |
Missions/Multiplayer/CCDS MissionObjective Checkpoint MP |
CCDS_MissionObjective_Trailblazer_MP |
Missions/Multiplayer/CCDS MissionObjective Trailblazer MP |
CCDS_MissionObjective_FreeRoam_MP |
Missions/Multiplayer/CCDS MissionObjective FreeRoam MP |
CCDS_MissionObjective_CheckpointItem_MP |
Missions/Multiplayer/CCDS MissionObjective Checkpoint Item MP |
CCDS_MissionObjective_TrailblazerItem_MP |
Missions/Multiplayer/CCDS MissionObjective Trailblazer Item MP |
CCDS_MissionObjective_Race_Finisher_MP |
Missions/Multiplayer/CCDS MissionObjective Race Finisher MP |
CCDS_MissionObjective_Race_Vehicle_MP |
Missions/Multiplayer/CCDS MissionObjective Race Vehicle MP |
CCDS_MissionObjective_Pursuit_Vehicle_MP |
Missions/Multiplayer/CCDS MissionObjective Pursuit Vehicle MP |
Support components:
| Component | Menu path | Role |
|---|---|---|
CCDS_Marker_MultiplayerMission |
Missions/CCDS Marker Multiplayer Mission |
Mission start marker |
CCDS_Marker_Multiplayer |
Missions/CCDS Marker Multiplayer |
Marker base |
CCDS_Marker_Garage |
Missions/CCDS Marker Garage |
3-second garage trigger |
CCDS_MissionMarkerInputHandler |
Missions/CCDS Mission Marker Input Handler |
Reads the confirm key |
CCDS_MissionObjectivePosition |
Missions/CCDS MissionObjective Position |
An objective location |
CCDS_RacePositioner |
Missions/CCDS Race Positioner |
Race standings |
CCDS_SpawnPoint |
Missions/CCDS Spawn Point |
Spawn location |
UI
| Component | Menu path |
|---|---|
CCDS_UI_Manager |
UI/CCDS UI Gameplay Manager |
CCDS_UI_MainMenuManager |
UI/CCDS UI Main Menu Manager |
CCDS_UI_Options |
UI/CCDS UI Options |
CCDS_UI_Informer |
UI/CCDS UI Informer |
CCDS_UI_NametagManager |
UI/CCDS UI Nametag Manager |
CCDS_UI_MultiplayerIngame |
UI/CCDS UI Multiplayer Ingame |
CCDS_UI_MultiplayerPanel |
UI/CCDS UI Multiplayer Panel |
CCDS_UI_MultiplayerMarker |
UI/CCDS UI Multiplayer Marker |
CCDS_UI_ChatPanel |
UI/CCDS UI Chat Panel |
CCDS_UI_ChatMessage |
UI/CCDS UI Chat Message |
CCDS_UI_PurchaseItem |
UI/CCDS UI Purchase Item |
CCDS_UI_PurchaseUpgrade |
UI/CCDS UI Purchase Upgrade |
CCDS_UI_CartItem |
UI/CCDS UI Cart Item |
CCDS_UI_RemoveItem |
UI/CCDS UI Remove Item |
CCDS_UI_CustomizationBackButton |
UI/CCDS UI Customization Back Button |
CCDS_UI_KeyInvoker |
UI/CCDS UI Key Invoker |
CCDS_UI_Drag |
UI/CCDS UI Drag |
CCDS_TutorialPopup |
UI/CCDS Tutorial Popup |
CCDS_TutorialPopupParent |
Tutorial/CCDS Tutorial Popup Parent |
CCDS_MobileUIInteractionButton |
UI/CCDS Mobile UI Interaction Button |
Animation helpers under UI/Animations/:
CCDS UI Panel Transition · CCDS UI Layout Group Element Popper · CCDS UI Panel Enabler On Text Change · CCDS UI Slider Highlighter · CCDS UI Text Highlighter · CCDS UI Text Popper On Text Change
Replay
| Component | Menu path | Role |
|---|---|---|
CCDS_ReplayManager |
Replay/CCDS Replay Manager |
Scene-wide recorder — auto-creates itself if absent |
CCDS_VehicleReplayRecorder |
Replay/CCDS Vehicle Replay Recorder |
Per-vehicle recorder |
CCDS_ReplayUI |
Replay/CCDS Replay UI |
Playback controls |
States: Neutral, Recording, Playing, Paused, Rewinding.
Default keys on CCDS_ReplayUI: R toggle panel, F5 record, F6 play, F7 pause. R also resets the vehicle in CCDS_Player — rebind one of them if you ship the replay UI.
Debug
| Component | Menu path |
|---|---|
CCDS_DebugPanel |
Debug/CCDS Debug Panel |
CCDS_DebugPanelUI |
Debug/CCDS Debug Panel UI |
CCDS_DebugConsole |
Debug/CCDS Debug Console |
CCDS_DebugModule_Mission |
Debug/CCDS Debug Module - Mission |
CCDS_DebugModule_Multiplayer |
Debug/CCDS Debug Module - Multiplayer |
CCDS_DebugModule_Performance |
Debug/CCDS Debug Module - Performance |
CCDS_DebugModule_Vehicle |
Debug/CCDS Debug Module - Vehicle |
The panel toggles on F12 and requires CCDS_Settings.enableDebugPanel. The console toggles on F11.
Misc
| Component | Menu path | Role |
|---|---|---|
CCDS_ArrowIndicator |
Misc/CCDS Arrow Indicator |
Objective arrow |
CCDS_MinimapItem |
Misc/CCDS Minimap Item |
Minimap icon |
CCDS_HealthBar |
Misc/CCDS Health Bar |
Health bar |
CCDS_EngineSmoke |
Misc/CCDS Engine Smoke |
Damage smoke |
CCDS_CartItem |
Misc/CCDS Cart Item |
Purchasable definition |
CCDS_RepairStation |
Misc/CCDS Repair Station |
Repair trigger |
CCDS_MarkerVisualEffects |
Misc/CCDS Marker Visual Effects |
Marker VFX |
CCDS_LensFlare |
Misc/CCDS Lensflare |
Lens flare |
CCDS_URPLensFlare |
Misc/CCDS URP Lensflare |
URP lens flare |
Testing
Sandbox components for CCDS_Vehicles_Prototype. Not for shipping scenes.
| Component | Menu path |
|---|---|
CCDS_VehiclePrototypeManager |
Testing/Vehicle Prototype Manager |
CCDS_PrototypeRunner |
Testing/Prototype Runner |
CCDS_PrototypeUI |
Testing/Prototype UI |
CCDS_VehicleTelemetry |
Testing/Vehicle Telemetry |
Script execution order
Set automatically by CCDS_ScriptExecutionOrderSetup on every editor load. Do not set it per script — your value is overwritten.
| Order | Scripts |
|---|---|
-110 |
CCDS_SaveGameManager |
-105 |
CCDS_NetworkManager |
-100 |
CCDS_GameplayManager, CCDS_SceneManager, CCDS_MainMenuManager, CCDS_UI_MainMenuManager, CCDS_UI_Manager |
-95 |
CCDS_MinimapManager, CCDS_SoundtrackManager, CCDS_TutorialManager, CCDS_ChatManager |
-94 |
CCDS_TutorialPopup, CCDS_TutorialPopupParent |
-90 |
CCDS_MissionObjectiveManager, CCDS_MissionObjectivePositionsManager, CCDS_MarkerManager, CCDS_CopsManager, CCDS_SpawnPoint |
-89 |
CCDS_MarkerVisualEffects, CCDS_Marker_Garage |
-88 |
All CCDS_MissionObjective_* plus CCDS_RacePositioner |
-85 |
CCDS_UI_NametagManager, CCDS_UI_MultiplayerIngame |
-84 |
CCDS_UI_Options, CCDS_UI_Informer, CCDS_UI_MultiplayerPanel, CCDS_UI_ChatPanel, CCDS_UI_ChatMessage |
-83 |
The six UI animation helpers |
-15 |
CCDS_AutoHandbrake |
+10 |
ACCDS_Vehicle |
+20 |
CCDS_Player, CCDS_AI_Cop |
+21 |
CCDS_AI_CopPhotonSync |
+25 |
CCDS_MissionMarkerInputHandler, CCDS_Marker_Multiplayer, CCDS_Marker_MultiplayerMission |
+30 |
CCDS_Camera, CCDS_Camera_Orbit, CCDS_Camera_Enhanced |
+50 |
CCDS_DebugPanel, CCDS_DebugConsole |
+51 |
CCDS_DebugPanelUI |
+52 |
CCDS_DebugModule and its four modules |
The shape: save data first, then networking, then managers, then vehicles, then cameras, then debug. RCCP and RTC manage their own orders independently.