RCC Settings Deep Dive
RCC_Settings is the master configuration file for the entire RCC package. Almost every global tuning option lives in it. This document walks through every section, what each field does, and when you should change it.
The asset lives at:
Assets/RealisticCarControllerV4/Resources/RCC Assets/RCC_Settings.asset
You can open it from the Project window, or use the shortcut: Tools → BoneCracker Games → Realistic Car Controller → Edit RCC Settings.
Important — Runtime Cloning
Before you start editing, understand one critical behavior: in Play mode, RCC_Settings clones itself into a runtime copy. Changes you make to settings while playing (programmatically or in the Inspector) modify the clone, not the on-disk asset. When you exit Play mode, the clone is discarded.
This is intentional: it prevents your Play-mode experiments from accidentally being persisted to your project. If you want a change to stick, exit Play mode and re-apply it to the asset.
This was added in commit 8b2c8bc (fix for "RCC_Settings runtime changes persisting after exiting Play mode") — it's now an explicitly-supported behavior.
Section: General Settings
Behavior Selected Index
The default behavior preset for new scenes. 0 = first preset, 4 = fifth. See 10 — Behavior Presets.
You can switch this at runtime: RCC.SetBehavior(int).
Override Behavior
When on, the selected preset overrides per-vehicle settings. When off, each vehicle uses its own configured values. Default on.
If your game has many different vehicle types with different feels (a hatchback that should always feel sluggish vs a sports car that should feel nimble), turn this off.
Override FPS / Max FPS
When on, RCC caps the application's target frame rate to maxFPS. Default on, max 60.
Capping FPS is useful because:
- Physics simulation runs more consistently at a stable frame rate.
- Phone battery drain is reduced.
- Heat dissipation on mobile is reduced.
For a high-end PC release, set max FPS to 144 or unlock it entirely by turning off the override.
Override Fixed TimeStep / Fixed Time Step
When on, RCC sets Time.fixedDeltaTime to the configured value. Default on, value 0.02 (50 Hz physics).
The default of 50 Hz is a good balance. For mobile, 25 Hz (0.04) is acceptable to save battery. For high-precision simulators, go to 100 Hz (0.01) at the cost of doubled physics work.
Max Angular Velocity
The rigidbody's maximum angular velocity in radians/second. Default 6.
This is what prevents a vehicle from spinning faster than physically reasonable on a collision. Lower values clamp tighter (less spinning); higher values allow extreme spin.
Use Shortcuts
When on, RCC enables editor keyboard shortcuts:
- Shift+E — toggle in-scene GUI overlay.
- Shift+R — add an RCC controller to selected GameObject.
- Shift+S — open RCC Settings.
Off by default to avoid conflicts with other shortcuts. Turn on if you use these regularly.
Section: Behavior Types
The behaviorTypes[] array holds the available driving behavior presets. Each entry is a BehaviorType with fields covering:
- Helper toggles (steering helper, traction helper, ABS, ESP, TCS, counter-steering, etc.).
- Steering type and curve.
- COM assister.
- Steering angle limits at high speed.
- Friction curve parameters (forward and sideways extremum / asymptote slip and value).
- Anti-roll bar forces.
See 10 — Behavior Presets for the full explanation of what each preset does.
To add a new preset, expand the array, add an element, and configure it. Switch to it at runtime via RCC.SetBehavior(newIndex).
Section: Vehicle Defaults
Use Fixed Wheel Colliders
When on, RCC overrides Unity WheelCollider defaults with values tuned for stable physics (higher mass per wheel collider, etc.). Default on.
Turn off only if you've manually tuned every wheel collider on every vehicle and don't want RCC overriding.
Lock And Unlock Cursor
When on, the cursor is locked during gameplay (cursor disappears, mouse motion is delta-mode) and unlocked when paused. Default on.
Turn off for games that always need a visible cursor (menus, point-and-click sub-games).
Auto Reset
When on, vehicles that end up upside down automatically flip back upright after a few seconds. Default on.
Turn off for games where flipping is part of the gameplay (destruction derbies, off-road exploration where you might want to call a tow truck).
Section: UI Settings
Units
The speed unit displayed on the dashboard:
- KMH — kilometers per hour.
- MPH — miles per hour.
Default KMH.
UI Type
- UI — Unity's built-in UI Canvas (recommended).
- NGUI — legacy NGUI framework support.
- None — no dashboard UI.
Use Telemetry
When on, a telemetry overlay (real-time speed / RPM / gear / wheel slip / forces) appears during gameplay. Default off.
Mostly for debugging — keep off for shipping builds.
Section: Mobile Settings
Mobile Controller Enabled
The master switch for mobile input. When on, RCC reads input from the mobile UI instead of the Input System. See 18 — Mobile Setup.
Mobile Controller
The mobile steering style:
- Touch Screen — buttons for throttle / brake / steering arrows.
- Gyro — device tilt.
- Steering Wheel — on-screen wheel.
- Joystick — on-screen joystick.
UI Button Sensitivity / UI Button Gravity
Tuning for the on-screen throttle / brake buttons. See 18 — Mobile Setup.
Gyro Sensitivity
Multiplier on gyroscope-based steering.
Section: Lights
Use Head/Brake/Reverse/Indicator/Other Lights As Vertex Lights
Toggles converting each light type from pixel to vertex lighting for performance. See 14 — Lights System.
Generally:
- Head lights: pixel (look bad as vertex).
- Brake / Reverse / Indicator: vertex (small lights, cheap).
LensFlare URP
Reference to the lens flare asset used for headlights and other lights. RCC ships defaults for Built-in / URP / HDRP.
Section: Layers
Set Layers
When on, RCC auto-assigns custom physics layers to vehicle GameObjects on creation. Default on.
RCC Layer / WheelCollider Layer / Detachable Part Layer / Prop Layer
The layer names RCC assigns to:
- Main vehicle body:
RCC_Vehicle. - Wheel collider GameObjects:
RCC_WheelCollider. - Detachable parts:
RCC_DetachablePart. - Prop physics objects:
RCC_Prop.
These must match layer names in your project's Tags & Layers. RCC creates them on import; if you rename them in Unity's Tags & Layers, update the strings here to match.
Section: Physics Materials
Collider Material
The PhysicMaterial used on the main vehicle body. Affects how the body slides along walls or other vehicles.
The default has low friction (so a vehicle scraping a wall doesn't yank to a stop). You can swap in a custom material for game-specific behavior.
Section: Prefab References
RCC_Settings holds references to many prefabs that RCC instantiates at runtime:
| Field | Prefab |
|---|---|
| Contact Particles | Sparks spawned at collision contact points. |
| Scratch Particles | Particles spawned during scraping collisions. |
| Wheel Deflate Particles | Particles when a wheel pops. |
| Exhaust Gas | Smoke prefab for exhausts. |
| Skidmarks Manager | The scene's skidmarks pool. |
| Head Lights / Brake Lights / Reverse Lights / Indicator Lights / Interior Lights | Light component prefabs added when the "Add Lights" menu is used. |
| Mirrors | Side mirror prefab. |
| RCC Main Camera | The follow camera prefab. |
| Hood Camera | The hood camera component prefab. |
| Cinematic Camera | The cinematic camera. |
| RCC Canvas | The HUD canvas prefab. |
| RCC Telemetry | The telemetry overlay prefab. |
Don't change these references unless you've created your own custom versions. The RCC menu items use these references to spawn instances.
Section: Particle Effects
Don't Use Any Particle Effects
When on, all particle effects are disabled — exhaust smoke, contact sparks, wheel dust, etc. Default off.
Turn on for performance on low-end mobile.
Don't Use Skidmarks
When on, skidmark rendering is disabled. Default off.
Turn on for low-end mobile or to remove visual clutter.
Section: Audio
Audio Mixer
The AudioMixerGroup that all RCC sounds route through. Use this to apply a single volume slider to all vehicle audio in your settings menu.
Shared Audio Clips
Several audio clips used globally:
- Gear Shifting Clips[] — array of variations played randomly on each gear shift.
- Crash Clips[] — collision impact variations.
- Reversing Clip — reverse beep.
- Wind Clip — wind noise.
- Brake Clip — brake squeal.
- Wheel Deflate Clip / Inflate Clip / Flat Clip — tire damage / repair sounds.
- Indicator Clip — turn signal tick-tock.
- Bump Clip — suspension hard-hit sound.
- NOS Clip / Turbo Clip — boost-related audio.
- Blowout Clip[] — tire blowout variations.
- Exhaust Flame Clips[] — backfire / flame pop sounds.
Max Volumes
- Max Gear Shifting Sound Volume — default 0.25 (quiet — doesn't overpower engine).
- Max Crash Sound Volume — default 1.0.
- Max Wind Sound Volume — default 0.1.
- Max Brake Sound Volume — default 0.1.
These cap how loud each category can get regardless of how the audio source's volume curve is configured.
Section: Render Pipeline
HDRP Volume Profile Prefab
A reference to an HDRP Volume Profile that ships with RCC. Used by the HDRP path of the Render Pipeline Converter to set up correct lighting volumes.
Default Decal Material / Default Neon Material
Materials used by the customization system for decals and neon underglow respectively.
Section: Editor State
The bottom of the asset has several foldX booleans (Fold General Settings, Fold Behavior Settings, etc.). These store which sections of the Inspector are folded open or closed. Don't worry about these — they're cosmetic editor state, not gameplay tuning.
Worked Examples
Example 1: Making a Mobile-Optimized Build
Override FPS = on, max 30 (saves battery)
Override Fixed Time Step = on, value 0.04 (25 Hz physics, halves physics work)
Mobile Controller Enabled = on
Mobile Controller = Touch Screen
Use Brake/Reverse/Indicator Lights As Vertex Lights = on
Don't Use Any Particle Effects = on
Don't Use Skidmarks = on
Example 2: Maxed-Out PC Simulator
Override FPS = off (let it run at monitor refresh rate)
Override Fixed Time Step = on, value 0.01 (100 Hz physics for crisp feel)
Behavior Selected Index = 0 (Realistic preset)
Override Behavior = on
Use Telemetry = on
Use Lens Flare = on for all lights
Example 3: Casual Arcade Racer
Behavior Selected Index = 4 (Arcade preset)
Auto Reset = on
Lock And Unlock Cursor = on
Mobile Controller Enabled = off (desktop)
Don't Use Skidmarks = off (visible skidmarks for fun)
Common Settings Issues
"My change didn't persist after exiting Play mode"
By design. Make the change outside Play mode (in Edit mode), or write it to the asset programmatically with EditorUtility.SetDirty().
"I added a behavior preset but it doesn't appear when I press a hotkey"
The hotkey is wired to call RCC.SetBehavior(int) with a fixed index. Update your hotkey wiring to pass the new index, or just call RCC.SetBehavior(N) from your UI.
"The layer names in RCC_Settings don't match my project's layers"
RCC creates the layers on import. If you've renamed them in your Tags & Layers, either rename back, or update the strings here to match.
"Mobile mode is enabled but no buttons appear"
You also need the RCC_Canvas (AIO).prefab in the scene. Mobile setting alone changes input source; the UI is separate.
Next Steps
- 10 — Behavior Presets — what each behavior preset configures.
- 14 — Lights System — vertex vs pixel lighting details.
- 18 — Mobile Setup — mobile-specific settings.
- 22 — URP & HDRP Conversion — render pipeline assets.