On this page
Reference

Component Reference

Every CCDS runtime component, its Add Component path, and what it needs.

CCDS components live in namespace BoneCrackerGames.CCDS. The tables list their Add Component → BoneCracker Games → CCDS → paths where defined; networking support components are described separately below.

Naming conventions

Prefix / suffix Meaning
CCDS_ Concrete class
ACCDS_ Abstract base
ICCDS_ Interface
_MP Multiplayer mission subclass
*_Editor Custom inspector

Base classes

Plain text
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         MonoBehaviour locally; MonoBehaviourPunCallbacks with BCG_CCDS_PUN
└── ACCDS_Mission              SDK-independent mission base
    └── 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_PunComponent retains public virtual void OnEnable() / OnDisable() hooks without PUN. Derived components should use public override and call the base implementation in both SDK states. PhotonViewComp exists only under BCG_CCDS_PUN; guard SDK-specific code with that symbol. Neither this base nor ACCDS_Mission requires an authored PhotonView.

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.

Optional networking

Type Purpose
CCDS_NetworkBinding Persistent SDK-independent data for one runtime view: scene ID, view settings and ordered observed component references
CCDS_NetworkSceneBootstrap Prepares bindings across the scene before consumers initialize, including inactive objects, when the PUN integration is compiled
CCDS_NetworkAvailability Static capability checks: IsInstalled, IsConfigured, IsInRoom, ShouldStartOnline(bool); reading them does not connect

During Play Mode with BCG_CCDS_PUN, CCDS generates PhotonView components from bindings. Without PUN, the same bindings, missions, vehicles and UI component types remain available for local gameplay. CCDS_NetworkBinding.GeneratedView is null when no view has been generated; IsPrepared and Origin describe runtime preparation.

Prefab bindings use sceneId = 0. In a saved authoring scene, Tools → BoneCracker Games → CCDS → Multiplayer Setup → Register Active Scene and Assign IDs records the scene, assigns IDs and adds the bootstrap when bindings need one. This changes the scene without saving it automatically. See scene registration.

The dependency bootstrap owns BCG_CCDS_PUN and enables it only after detecting a complete supported SDK on disk. Keep the binding data when removing or reinstalling the optional SDK; do not replace it with authored PhotonViews.

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; binding and vehicle sync for optional multiplayer
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; binding-generated view when PUN is compiled

Add these with the vehicle setup prompt — it also creates the binding and stores ordered observer references, with or without PUN installed. 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.

Next

(c) 2014 - 2026 BoneCracker Games - City Car Driving Simulator 1.7Back to top ↑
Document details

Generated from: 04_Reference/03_Component_Reference.md
Date: 2026-10-05 15:04
(c) 2014 - 2026 BoneCracker Games - City Car Driving Simulator 1.7