Scripts Reference
This document lists every runtime script that ships with RCC, organized by folder, with a one-paragraph explanation of what each does. Use it when you need to find which script is responsible for which behavior, or when you're spelunking the codebase before extending something.
For inspector field details on the main controller, see 08 — Vehicle Inspector Reference. For the public API on the RCC static class, see 23 — Scripting API.
Total: 125 runtime scripts + 44 editor scripts = 169 C# files.
Scripts/ — Core
| Script |
What It Does |
| RCC.cs |
The static public API. Methods like SpawnRCC(), SetBehavior(), Repair(), Transport(). Use this from your game code. |
| RCC_Core.cs |
Base class for almost every RCC component. Provides cached Settings, GroundMaterials, and CarController accessors. |
| RCC_Singleton.cs |
Generic thread-safe singleton base class. RCC_SceneManager, RCC_InputManager, RCC_SkidmarksManager etc. inherit from this. |
| RCC_CarControllerV4.cs |
The main vehicle controller. ~3,700 lines. Wheels, suspension, engine, gearbox, steering, audio, damage. Every vehicle uses this. |
| RCC_WheelCollider.cs |
Wraps Unity's WheelCollider with friction curves, ground detection, audio, particles, skidmarks. |
| RCC_SceneManager.cs |
Scene-wide singleton tracking the active player vehicle and camera. Handles RegisterPlayer, SetBehavior, ChangeCamera. |
| RCC_Events.cs |
Static event hub. Subscribe to vehicle / AI / camera / input events here. |
| RCC_Damage.cs |
Embedded as a field on RCC_CarControllerV4. Mesh deformation, detachable parts, wheel damage, light damage. |
| RCC_Octree.cs |
Spatial octree used by RCC_Damage to find vertices near a collision point. |
| RCC_Light.cs |
Vehicle light component. Headlight, brake, reverse, indicator, interior. Handles render-pipeline differences. |
| RCC_Exhaust.cs |
Exhaust smoke + flame particle emitter. Reads engine state from the parent controller. |
| RCC_DetachablePart.cs |
A body part (hood, door, bumper) that can break off on damage via a ConfigurableJoint. |
| RCC_Recorder.cs |
Records vehicle position / rotation / inputs each frame and plays them back as a replay. |
| RCC_Mirror.cs |
Side mirror with a render-camera that draws the reflection. |
| RCC_Skidmarks.cs |
A single wheel's skidmark mesh strip. |
| RCC_SkidmarksManager.cs |
Pooled skidmark renderer. One per scene. Manages all skidmark meshes. |
| RCC_LOD.cs |
LOD switch — disables expensive updates on far-away vehicles. |
| RCC_Caliper.cs |
Rotates a brake caliper transform to match the wheel's rotation. |
| RCC_PoliceSiren.cs |
Police-style flashing lights + audio loop. |
| RCC_SpeedLimiter.cs |
Per-vehicle speed cap. Adds dictionary-based drag to enforce a max speed. |
| RCC_TrailerAttachPoint.cs |
Hitch point on a towing vehicle. Used to attach trailers. |
| RCC_TruckTrailer.cs |
A trailer that can be attached to a towing vehicle. Inherits from MonoBehaviour (not RCC_Core). |
| RCC_SetLayer.cs |
Utility — recursively sets a layer on a GameObject hierarchy. |
| RCC_ColorPickerBySliders.cs |
UI color picker (R/G/B sliders). Used by the customization paint demo. |
| RCC_GetBounds.cs |
Static utility class. Computes combined renderer bounds for a hierarchy. |
| RCC_CheckUp.cs |
Static utility class. Editor pre-play sanity checks (verifies layers exist, etc.). |
| RCC_Joint.cs |
[System.Serializable] data class for ConfigurableJoint settings used by detachable parts. |
| RCC_Emission.cs |
[System.Serializable] data class for material emission color and intensity (used by lights). |
| RCC_Version.cs |
Holds the version string. Update this when releasing a new version. |
Scripts/AI/
| Script |
What It Does |
| RCC_AICarController.cs |
The waypoint AI driver. Uses OverrideInputs to steer toward the next waypoint. Supports Following Waypoints, Chase Player, Random modes. |
| RCC_AIWaypointsContainer.cs |
Container for a series of waypoints. Held in a single GameObject; children are the individual waypoints. |
| RCC_AIBrakeZonesContainer.cs |
Container for brake zones. Sister to the waypoints container. |
| RCC_AIBrakeZone.cs |
A trigger volume that forces nearby AI to slow down. |
| RCC_Waypoint.cs |
A single waypoint. Has a target speed and a pass radius. |
Scripts/Camera/
| Script |
What It Does |
| RCC_Camera.cs |
The main player follow camera. Handles TPS / Hood / Wheel / Fixed / Cinematic / Top modes. |
| RCC_HoodCamera.cs |
Anchor point on a vehicle for first-person hood view. |
| RCC_WheelCamera.cs |
Anchor point on a vehicle for close-up wheel view. |
| RCC_FixedCamera.cs |
Scene-wide anchor for a fixed camera angle. |
| RCC_CinematicCamera.cs |
Singleton cinematic camera. Orbits the player vehicle with automatic angle changes. |
| RCC_ShowroomCamera.cs |
Camera used in the car-selection demo. Stays on a turntable. |
| RCC_CameraCarSelection.cs |
Drives the showroom camera during car selection. |
| RCC_FOVForCinematicCamera.cs |
Animates FOV on the cinematic camera. |
| RCC_MainCameraProvider.cs |
Provides a reference to the active player camera. Used by other systems that need to know where the camera is. |
Scripts/Customization/ (25 scripts)
| Script |
What It Does |
| RCC_Customizer.cs |
Root component of the customization system. Lives on the vehicle and hosts the sub-managers. |
| RCC_Customizer_PaintManager.cs |
Sub-manager — body paint color. |
| RCC_Customizer_WheelManager.cs |
Sub-manager — wheel rim swap. |
| RCC_Customizer_SpoilerManager.cs |
Sub-manager — spoiler attach / detach. |
| RCC_Customizer_DecalManager.cs |
Sub-manager — decals on the body. |
| RCC_Customizer_NeonManager.cs |
Sub-manager — underglow neon lights. |
| RCC_Customizer_SirenManager.cs |
Sub-manager — emergency-vehicle siren style. |
| RCC_Customizer_UpgradeManager.cs |
Sub-manager — engine, brake, handling, speed level upgrades. |
| RCC_Customizer_CustomizationManager.cs |
Sub-manager — per-wheel tuning (camber, suspension stiffness). |
| RCC_CustomizationManager.cs |
Scene-wide customization coordinator. Singleton. |
| RCC_CustomizationData.cs |
[System.Serializable] per-vehicle customization data. |
| RCC_CustomizationDemo.cs |
Demo scene UI script for showcasing customization. |
| RCC_CustomizationTrigger.cs |
A trigger volume that opens the customization menu when entered. |
| RCC_CustomizationSetups.cs |
ScriptableObject holding prefab references for customization sub-managers. |
| RCC_Customizer_Loadout.cs |
[System.Serializable] save/load state for a vehicle's customization. |
| RCC_Customization_API.cs |
A simplified API for game code that doesn't want to talk to individual sub-managers. |
| Plus per-feature data classes |
RCC_Customizer_Decals, RCC_Customizer_Neons, RCC_Customizer_Spoilers, etc. — these are the data containers, not behavior. |
| Script |
What It Does |
| RCC_InputManager.cs |
Singleton that polls the Unity Input System and fills the RCC_Inputs struct each frame. |
| RCC_InputActions.cs |
Auto-generated wrapper around the RCC_InputActions.inputactions asset. Don't edit directly. |
| RCC_MobileButtons.cs |
Static class holding mobile UI input state. The mobile canvas writes to this; the input manager reads from it. |
| RCC_Inputs.cs |
[System.Serializable] struct holding throttle, brake, steer, clutch, handbrake, boost, gear input, camera orbit, scroll. |
Scripts/ScriptableObjects/
| Script |
What It Does |
| RCC_Settings.cs |
The master settings ScriptableObject. Behavior presets, FPS overrides, prefab references, audio clips. |
| RCC_InitialSettings.cs |
Default values applied when the setup wizard creates a new vehicle. |
| RCC_GroundMaterials.cs |
Per-surface friction, audio, particles. Both PhysicMaterial and terrain splatmap variants. |
| RCC_DemoVehicles.cs |
Array of demo vehicle prefabs (used by the car-selection demo). |
| RCC_ChangableWheels.cs |
Array of wheel prefabs available in the customization wheel-swap menu. |
| RCC_Records.cs |
Recorded replay clips. |
| RCC_AssetPaths.cs |
Editor-only constant asset paths. |
Scripts/UI/ (23 scripts)
| Script |
What It Does |
| RCC_UI_DashboardDisplay.cs |
Speedometer, RPM gauge, gear indicator. The main dashboard widget. |
| RCC_UI_Controller.cs |
Touch button (throttle / brake). Reads input → writes to RCC_MobileButtons. |
| RCC_UI_Joystick.cs |
Touch joystick for steering. |
| RCC_UI_SteeringWheelController.cs |
On-screen steering wheel widget. |
| RCC_UI_Canvas_Customizer.cs |
UI canvas for the customization screen. |
| RCC_UI_Wheel.cs, RCC_UI_Spoiler.cs, RCC_UI_Decal.cs, RCC_UI_Neon.cs, RCC_UI_Siren.cs, RCC_UI_Upgrade.cs, RCC_UI_Color.cs |
Per-customization-category UI panels. |
| RCC_UI_Drag.cs |
Drag-to-move UI element. |
| RCC_UI_Tooltip.cs |
Tooltip popup. |
| RCC_UI_LevelButton.cs |
Level-up button for upgrades. |
| RCC_UI_DashboardButton.cs |
Bound dashboard buttons (camera, headlights, etc.). |
| RCC_UI_SliderTextReader.cs |
Reads a slider value and displays it as text. |
| RCC_UI_DecalSetLocation.cs |
Lets the player drag a decal to a body location. |
| RCC_UI_ShowroomCameraDrag.cs |
Drag to rotate the showroom camera. |
| RCC_UI_ControlsPanel.cs |
The controls help overlay (shows key bindings). |
| RCC_UI_CustomizationSlider.cs |
Numeric slider used in tuning UI. |
| RCC_DashboardObjects.cs |
Container for dashboard widget references. |
| RCC_DashboardColors.cs |
Color theme for the dashboard. |
| RCC_DashboardInputs.cs |
Reads inputs for the dashboard widget. |
| RCC_InfoLabel.cs |
Multi-line text label used for telemetry / debug output. |
| RCC_Telemetry.cs |
The telemetry overlay. Shows speed, RPM, gear, wheel slip, forces. |
Scripts/Others/ (16 scripts)
| Script |
What It Does |
| RCC_Demo.cs |
Demo scene controller. Wires up UI buttons in the demo scenes. |
| RCC_AIO.cs |
"All in one" demo controller — toggles every feature in the AIO scene. |
| RCC_APIExample.cs |
Demo UI showing every public RCC API call. |
| RCC_CarSelectionExample.cs |
Car selection menu logic. |
| RCC_OverrideInputsExample.cs |
Example of pumping custom inputs into a vehicle. |
| RCC_LevelLoader.cs |
Loads scenes preserving the selected vehicle. |
| RCC_Spawner.cs |
Places a vehicle at scene start. |
| RCC_Teleporter.cs |
Trigger volume that teleports a vehicle. |
| RCC_RepairStation.cs |
Trigger volume that repairs a vehicle's damage. |
| RCC_FuelStation.cs |
Trigger volume that refuels a vehicle. |
| RCC_CrashHammer.cs |
Animated crash hazard (a hammer that swings). |
| RCC_CrashPress.cs |
Animated crash hazard (a press that drops). |
| RCC_CrashShredder.cs |
Animated crash hazard (a shredder that grinds). |
| RCC_CharacterController.cs |
Very basic third-person character used by some demos. Not a full character system. |
| RCC_Prop.cs |
Simple physics prop that vehicles can knock around. |
| RCC_ShadowRotConst.cs |
Constrains shadow rotation. |
| RCC_SuspensionArm.cs |
Visual-only suspension arm that follows wheel motion. |
| RCC_Useless.cs |
Placeholder / experimental. Safe to ignore. |
| RCC_PlayerPrefsX.cs |
Extended PlayerPrefs helper (saves vectors, colors, arrays). Used by the customization system. |
Editor/ — Editor-Only Code (44 scripts)
Editor/Components/ — Custom Inspectors
| Script |
What It Does |
| RCC_CarControllerV4_Editor.cs |
Custom inspector for the main controller. Organizes 140+ fields into foldouts. |
| RCC_WheelCollider_Editor.cs |
Custom inspector for wheel colliders. |
| RCC_Camera_Editor.cs |
Custom inspector for the camera. |
| RCC_Light_Editor.cs |
Custom inspector for vehicle lights. |
| RCC_SceneManager_Editor.cs |
Custom inspector for the scene manager. |
| RCC_AICarController_Editor.cs |
Custom inspector for AI controller. |
| RCC_AIWaypointsContainer_Editor.cs |
Custom inspector for waypoints container. Lets you click in the scene to add waypoints. |
| RCC_AIBrakeZonesContainer_Editor.cs |
Custom inspector for brake zones container. |
Editor/Customization/ — Customizer Inspectors
12 custom inspectors for each customization sub-manager (PaintManager, SpoilerManager, WheelManager, etc.) and the upgrade types.
Editor/InitLoad/ — Package Install Hooks
| Script |
What It Does |
| RCC_InitLoad.cs |
Runs after package import. Triggers other init scripts. |
| RCC_Installation.cs |
Sets up layers, tags, and shows the welcome window on first import. |
| RCC_CheckBeforePlay.cs |
Pre-play sanity checks. Warns if required components are missing. |
| RCC_InputSystemVersionChecker.cs |
Warns if the Input System package isn't installed. |
| RCC_SetScriptingSymbol.cs |
Sets / unsets BCG_URP, BCG_HDRP, etc. defines. |
| RCC_InitLoadHappyMessage.cs |
Shows a friendly welcome message after first install. |
| RCC_UpgradeWindow.cs |
Handles V4 → V5 upgrade migration. |
Editor/ScriptableObjects/ — SO Inspectors
| Script |
What It Does |
| RCC_Settings_Editor.cs |
Custom inspector for RCC_Settings — organizes all the global settings. |
| RCC_GroundMaterials_Editor.cs |
Custom inspector for ground materials. |
| RCC_Records_Editor.cs |
Custom inspector for recorded replay clips. |
| RCC_FixAxisWindow.cs |
A tool window for fixing wheel axis orientation. |
Editor/Windows/ — Editor Windows
| Script |
What It Does |
| RCC_EditorWindows.cs |
Defines every menu item under Tools → BoneCracker Games → Realistic Car Controller. |
| RCC_WelcomeWindow.cs |
The welcome dialog. Shows version and quick links. |
| RCC_RenderPipelineConverterWindow.cs |
Converts materials and shaders between Built-in / URP / HDRP. |
| RCC_QuickVehicleSetupWizardWindow.cs |
The new-vehicle setup wizard. |
| RCC_CreateNewVehicle.cs |
Helper functions used by the wizard. |
| RCC_DetectPossibleWheels.cs |
Auto-detects wheel transforms in a hierarchy. |
| RCC_PopupWindow_PossibleWheels.cs |
Popup UI for the wheel detector. |
| RCC_CheckAxisOrientation.cs |
Tool for fixing wheel rotation axes. |
| RCC_AIO_SetupWindow.cs |
Setup tool for the AIO demo scene. |
| RCC_AssetRenamer.cs |
Bulk rename utility for RCC assets. |
| RCC_SceneGUI.cs |
In-scene GUI overlay (toggled with Shift+E). |
| RCC_ScriptHeaderCheckerWindow.cs |
Finds files missing the standard RCC copyright header. |
Editor/ Root
| Script |
What It Does |
| RCC_AssetUtilities.cs |
Asset path constants and helpers used by editor code. |
Reading the Source
If you want to understand a specific feature in depth, the best approach is:
- Find the script in this reference.
- Open it in your IDE. Visual Studio Code, Rider, or Visual Studio all work fine.
- Read the public surface first. The
[Tooltip] and [Header] attributes plus XML comments explain most things.
- Follow references. Right-click a method → Find All References to see who calls it.
The whole codebase is in the global namespace with no .asmdef files, which is intentional — it makes the source easy to navigate without IDE configuration.
Next Steps