Overview & Features
This document explains what Realistic Car Controller is, what problem it solves, who it's for, and what features are included. Read this before installing — it will help you decide whether RCC is the right tool for your project, and give you a mental model of what you're getting.
What RCC Is
Realistic Car Controller (RCC) is a complete vehicle physics package for Unity. It gives you everything you need to put driving gameplay into your game: working cars with realistic suspension and friction, customizable physics behavior (drift, arcade, simulator), cameras, lights, audio, damage, AI, customization, and a mobile-friendly UI.
The package was first released on the Unity Asset Store in 2014 by BoneCracker Games. Over more than a decade it has been used by thousands of indie and studio Unity projects to ship racing games, open-world driving games, traffic simulations, parking demos, mobile arcade racers, and a long list of other vehicle-related games and tools.
RCC is not a complete game template. You don't get a track, a menu system, multiplayer, or a fully-styled HUD. What you get is the driving layer — the part of a driving game that's hardest to get right. Build your own game on top of it.
The current version is V5.2.0, the long-term-support release. In V5, RCC has been put into maintenance mode: existing features are kept stable and compatible with new Unity versions, and bug fixes ship as needed, but no new systems are added. If you need new features (modular architecture, runtime-built vehicles, advanced telemetry), see the separate Realistic Car Controller Pro (RCCP) package.
What's Inside
When you import the .unitypackage, you get:
- 169 C# scripts (125 runtime + 44 editor) covering vehicle physics, AI, cameras, audio, lights, damage, UI, customization, and input.
- 12 ready-to-drive vehicle prefabs — sports coupes, an F1, an SUV/Jeep, multiple BMW M-series style cars, a Skyline, a muscle car, a pickup, and a truck. Each one is fully wired up with wheel colliders, lights, audio, and exhaust effects.
- 11 demo scenes ranging from an empty starter scene to a fully-featured "all-in-one" city scene with selectable cars, AI traffic, a damage area, and customization stations.
- 7 wheel prefabs, 11 crasher / hazard prefabs (ramps, jumps, walls), and 4 UI canvas prefabs.
- Editor tooling: a setup wizard, a render pipeline converter (Built-in → URP/HDRP), and a custom welcome window.
- HTML documentation mirror that ships with the package (so end-users can browse docs without leaving Unity).
Key Features
Vehicle Physics
RCC uses Unity's native WheelCollider underneath, but wraps it with RCC_WheelCollider to add per-surface friction curves, slip-based audio, particle dust effects, anti-roll forces, ground material detection, and tire deflation. You get realistic body roll, weight transfer, drift behavior, and traction loss without writing physics code yourself.
The main controller (RCC_CarControllerV4) handles steering, drivetrain (FWD, RWD, AWD, biased), engine RPM and torque curve, gearbox (manual or automatic, 1–8 gears), clutch simulation, fuel consumption, engine heat, downforce, anti-roll bars, center-of-mass assister, and steering helpers.
Driving Behavior Presets
A behavior preset is a complete set of physics tuning values applied to every vehicle in your scene. RCC ships with Simulator, Drift, Arcade, and Custom presets out of the box. Switch between them at runtime with a single line of code:
RCC.SetBehavior(1); // index into RCC_Settings.behaviorTypes
Each preset toggles things like ABS, ESP, TCS, the steering helper, traction helper, counter-steering, steering limits, and wheel friction curves. You can also add your own custom presets in RCC_Settings.
Cameras
The RCC_Camera component provides multiple modes that you can cycle through during gameplay:
- TPS (third-person follow) — the default, follows the car from behind.
- Hood — first-person view from inside the car.
- Wheel — close-up of a wheel for cinematic shots.
- Fixed — locked anchor points around the scene (great for jumps, replays).
- Cinematic — automated dramatic shots that orbit and reposition.
- Top-down — pulled back orthographic-style view.
Lights & Effects
Every RCC vehicle can have headlights (low + high beam), brake lights, reverse lights, indicator/turn signal lights with hazard mode, interior lights, lens flares, and exhaust smoke + flame effects. Lights are handled by RCC_Light and work correctly under Built-in, URP, and HDRP — RCC automatically converts intensity units and lens flare APIs for the active render pipeline.
Damage
The damage system handles mesh deformation (vertices push inward on collision), detachable parts (hoods, doors, bumpers that break off using ConfigurableJoint thresholds), wheel damage (alignment can shift, wheels can pop off), and light damage (broken bulbs stop emitting). Damage is fully reversible via RCC.Repair().
AI Driver
The RCC_AICarController follows waypoints, chases the player, or wanders randomly. You build a track by dropping waypoints in the scene with the AI Waypoints Container, and the AI handles throttle, brake, and steering automatically. Brake zones let you tell the AI to slow down for sharp corners.
Customization
The Customization system lets the player visually modify a vehicle at runtime: change paint color, swap spoilers, swap wheel rims, change wheel camber and suspension stiffness, add or remove decals and neon underglow, switch siren styles, and apply engine / brake / handling / speed level upgrades. State persists via PlayerPrefs.
Mobile Support
On mobile, RCC switches input to a touch UI: configurable touch buttons for throttle and brake, plus a steering wheel, joystick, or gyroscope for steering. The mobile UI is a prefab (RCC_Canvas (AIO)) that you drop into your scene.
Input System
RCC uses Unity's Input System package (the new one). Input actions are defined in RCC_InputActions.inputactions and you can rebind, add new actions, or replace the manager entirely. You can also bypass input completely with OverrideInputs() for AI, replays, or networked vehicles.
Render Pipeline Support
RCC works on Built-in, URP, and HDRP. A converter window handles the pipeline switch — it migrates materials, sets the right define (BCG_URP or BCG_HDRP), and updates light intensity units and lens flare references so nothing visually breaks when you switch.
Platform Support
- Desktop: Windows, macOS, Linux.
- Mobile: iOS, Android (with touch UI).
- Consoles: works on any platform that supports Unity's Input System.
Who RCC Is For
Beginner Unity Developers
If you've never written vehicle physics before, RCC is the fastest way to get a working car into your project. The setup wizard creates a fully-configured vehicle from a 3D model in a few clicks, and every serialized field has a Tooltip so you can hover over it in the Inspector and learn what it does.
Indie Studios
If you're shipping a racing game, traffic simulator, parking game, mobile arcade racer, or anything else with cars in it, RCC saves you 1–3 months of work compared to writing the driving layer from scratch. Your time goes into level design, art, and gameplay — not into debugging suspension forces.
Educators
The codebase is well-commented, lives in the global namespace (no assembly definitions), and uses straightforward C# patterns. It's a good reference for teaching vehicle physics, the Unity Input System, custom inspectors, or ScriptableObject-driven settings.
Hobbyists
If you're building a personal project for fun and don't want to write a car controller, RCC is licensed for any number of projects you own under the standard Unity Asset Store EULA.
What RCC Is Not
To avoid disappointment, here are things RCC does not do, and where to look instead:
- No built-in multiplayer. A Photon Integration addon was offered historically, but as of V5 it has been removed because it duplicated functionality already available in Unity's official Netcode for GameObjects. If you need networked vehicles, write your own sync layer on top of
OverrideInputs()— see17_HowToOverrideInputs.md. - No character / on-foot system. A separate "BCG Shared Assets" Enter/Exit system existed historically; it has been removed in V5 as well. Use your own character controller and call
RCC.RegisterPlayerVehicle()when the player enters the car. - No game-ready menu, UI, or progression system. You get a debug-style dashboard prefab, but anything beyond that (level select, garage, upgrades store, money system, save game) you build yourself.
- No modular addon architecture. Each vehicle is configured by the fields on
RCC_CarControllerV4. If you want components to be swappable at runtime, see RCC Pro (RCCP).
Unity Version Compatibility
| Unity Version | Support Status |
|---|---|
| 2022.3 LTS | Fully supported (project file version). |
| 2023.x | Fully supported. |
| Unity 6.x LTS | Fully supported. |
| 2021.x and older | Not supported. The Input System dependency and some API calls require 2022.3+. |
RCC ships with the project set to Unity 2022.3.51f1 so it imports cleanly into the widest range of supported editor versions.
License
RCC is licensed under the Unity Asset Store EULA — Single Entity License. You can use it in unlimited projects owned by the buyer (or the buyer's company). You cannot resell or redistribute the source as a separate package. See the Asset Store page for the full terms.
Next Steps
If you're convinced this is what you need, continue with 02 — How to Install RCC.
If you'd like to see RCC in action first, install it and then read 04 — Demo Scenes before doing anything else.