Settings

Table of Contents

Realistic Car Controller Pro stores all of its global configuration in a single ScriptableObject called RCCP_Settings. This is the central control panel for physics behavior, mobile input, layer management, audio defaults, and much more. Before you start building vehicles, it is worth spending a few minutes here to understand what each section does and why it matters.


Accessing Settings

There are three ways to open and work with RCCP Settings:

Runtime Clone (Important)

At runtime, RCCP automatically creates a clone of the Settings asset so that any changes made during play mode do not overwrite your saved configuration. All built-in RCCP components already use this clone internally.

If you are writing your own scripts and need to read settings at runtime, always use:


RCCP_Settings runtimeSettings = RCCP_RuntimeSettings.RCCPSettingsInstance;

Using RCCP_Settings.Instance directly at runtime would modify the original asset, which could cause unexpected changes that persist after you exit play mode.


General Settings

These settings affect every vehicle in your project.

SettingTypeDefaultDescription
MultithreadingbooltrueEnables asynchronous processing for damage calculations on supported platforms. Falls back to single-threaded if the platform does not support it.
Override FPSbooltrueWhen enabled, overrides Unity's target frame rate with the value below.
Max FPSint120The target frame rate when Override FPS is enabled. Higher values give smoother visuals but require more CPU/GPU power.
Override Fixed TimestepbooltrueWhen enabled, overrides Unity's fixed timestep with the value below.
Fixed Timestepfloat0.02The interval (in seconds) between physics updates. 0.02 means 50 physics updates per second. Lower values (like 0.01) give more accurate physics but cost more CPU. For most games, 0.02 is the sweet spot.
Max Angular Velocityfloat6Maximum rotation speed for vehicle rigidbodies, range 0.5 to 20. If your vehicles do not spin fast enough during crashes or flips, increase this value.

Behavior Presets

Behaviors are the heart of RCCP's physics tuning. A behavior preset defines a complete driving feel -- stability aids, steering response, drift characteristics, differential type, and wheel friction curves all in one package.

You can create multiple behavior presets and switch between them at runtime to offer different driving modes (for example, a Realistic mode and an Arcade mode in the same game).

How to use behaviors

  1. In RCCP Settings, check the Override Behavior checkbox.
  2. The behaviorTypes array becomes editable. Each element is one preset.
  3. Set the Behavior Selected Index to choose which preset is active by default.
  4. At runtime, change the active behavior through the RCCP API or by modifying the selected index.

Stability Aids

Every behavior preset includes toggles for six stability systems. These helpers make vehicles easier (or harder) to control depending on how you configure them.

AidDefaultWhat It Does
ABS (Anti-lock Braking)OnPrevents wheels from locking up under hard braking. Without ABS, slamming the brakes causes the wheels to stop rotating entirely, which reduces steering control and increases stopping distance.
ESP (Electronic Stability)OnApplies individual wheel brakes automatically to prevent the vehicle from spinning out during sharp turns or sudden direction changes. RCCP ships a yaw-rate bicycle-model ESP (see ESP V2 below) — this toggle is the master on/off.
TCS (Traction Control)OnLimits wheel spin during acceleration. Prevents the driven wheels from spinning freely on slippery surfaces or under heavy throttle.
Steering HelperOnAutomatically corrects the vehicle's direction to align with its velocity. Higher values make the car feel more "on rails," lower values feel more raw.
Traction HelperOnReduces wheel slip beyond a threshold. Similar to TCS but works as a broader stability system across all driving conditions.
Angular Drag HelperOffDampens the vehicle's rotational velocity at higher speeds to prevent spinning out. Useful for arcade-style games where you want the car to feel planted.

Each aid also has minimum and maximum strength values that define how aggressively it intervenes. For example, Steering Helper Strength ranges from 0.1 (subtle correction) to 1.0 (aggressive correction).

ESP V2 (Yaw-Rate Bicycle Model)

RCCP's ESP uses a production-style bicycle model to compute a reference yaw rate ψ̇_ref = V · δ / (L + K_us · V²), clamped by the friction limit ψ̇_max = μ · g / V, then runs a PD controller on the error between actual and reference yaw. Based on that error (and sideslip β), ESP classifies the condition as oversteer or understeer and applies corrective brake torque to the appropriate wheel — plus a matching motor-torque cut so the driven wheel does not fight the brake.

These settings live directly on the RCCP_Stability component on each vehicle (under the ESP and ESP V2 headers in the Inspector). They are per-vehicle and not part of the global behavior preset.

Core ESP settings:

SettingRangeDefaultDescription
ESPboolOnMaster on/off for the whole ESP pipeline.
ESP Intensity0.0 – 1.00.5Global gain on the brake torque ESP produces. Lower = subtler intervention.
ESP Deadband0.5 – 10 deg/s10Yaw-rate error threshold above which ESP engages. Lower = more aggressive. Production typical: 4 deg/s.
ESP Deactivation Deadband0.1 – 5 deg/s2Hysteresis band. Once engaged, ESP releases only when error drops below this. Should be 1–3 deg/s below the engagement deadband.
ESP Min Intervention Time0 – 0.5 sec0.15Minimum time ESP stays engaged after firing. Prevents flutter during transients. Production typical: 0.1–0.2s.

ESP Mode:

ModeBehavior
NormalStandard thresholds, brake differential plus engine torque reduction. The default.
Sport~2× wider deadbands and no engine cut — just brake differential. For experienced drivers or simulation modes.

Bicycle model parameters:

SettingRangeDefaultDescription
Understeer Gradient (K_us)0 – 0.01 rad·s²/m0.0035Shapes ψ̇_ref at high speed. Typical passenger car: 0.0035. Sportier: 0.002. Comfort/SUV: 0.005+.
Estimated Mu (μ)0.1 – 1.20.9Road friction coefficient used to clamp the reference yaw rate. 0.9–1.0 dry, 0.5–0.7 wet, 0.2–0.4 snow/ice.
ESP P Gain0.5 – 102.5Proportional gain (multiplied by vehicle mass). Higher = stronger correction per unit of yaw error.
ESP D Gain0 – 20.15Derivative gain. Dampens rapid yaw changes, speeds response to lift-off oversteer (which develops in 200–500 ms).
Yaw Rate Time Constant0.05 – 0.3 sec0.15First-order lag filter on ψ̇_ref. Prevents ESP from commanding instantaneous yaw changes from flicks.

Oversteer vs understeer classification:

SettingRangeDefaultDescription
ESP Mode Commit Time0 – 0.5 sec0.15Minimum time ESP holds its oversteer/understeer classification before allowing a flip. Prevents wrong-wheel braking during transients.
Sideslip Max Angle3 – 20 deg10When `β` exceeds this, ESP forces oversteer classification even if yaw error alone would read as understeer. Outer bound of the controllable envelope.
Sideslip Max Rate5 – 30 deg/s15When `dβ/dt` exceeds this, ESP promotes to oversteer. Catches developing spins earlier than yaw error alone.

Dashboard indicator (UI debounce):

ESP exposes two engagement flags — ESPEngaged (the raw runtime state) and ESPIndicatorEngaged (the user-facing dashboard flag). The indicator is gated so the dashboard light does not flicker on micro-corrections the driver cannot feel:

SettingRangeDefaultDescription
Min Noticeable Brake Torque0 – 500 Nm200Smoothed max brake torque must exceed this before ESPIndicatorEngaged flips true. 0 = mirror ESPEngaged directly.
UI Min Hold Time0 – 1 sec0.25How long ESPIndicatorEngaged stays true after brake torque last crossed the threshold. Fast turn-on, slow turn-off.

Arcade speed preservation (opt-in):

SettingRangeDefaultDescription
Preserve Speed Factor0.0 – 1.00.00 = realistic (ESP bleeds speed through the corner). 1 = full cancellation of ESP brake deceleration via a compensating forward force (corrective yaw still works, but the car does not slow down). Does not affect the engine torque cut — combine with ESP Mode = Sport to disable that separately.

See Telemetry and Debug for how to read ESPEngaged, ESPIndicatorEngaged, yaw rate error, and sideslip in code. See Troubleshooting for common ESP tuning issues.

Steering Configuration

SettingDefaultDescription
Steering CurveAnimationCurveDefines how steering angle changes with speed. X-axis is speed in km/h, Y-axis is the maximum steering angle in degrees. At 0 km/h the default curve gives 40 degrees; at 200 km/h it drops to 5 degrees. This prevents twitchy steering at highway speeds.
Steering Sensitivity1.0How quickly steering input reaches full lock. Higher values mean faster response.
Counter SteeringOnAutomatically counter-steers during oversteer to help the driver recover.
Limit SteeringOnReduces the maximum steering angle at high speed using the steering curve above.

Additional range settings control the min/max bounds for counter-steering strength (default 0.5 to 1.0) and steering speed sensitivity (default 0.5 to 1.0).

Differential Type

Each behavior preset includes a differential type setting that affects how power is distributed between driven wheels:

Drift Mode Settings

Drift mode adds force-based drift assistance and reduces rear tire grip for controlled sliding. These settings only take effect when driftMode is enabled in the behavior preset.

Core drift settings:

SettingRangeDefaultDescription
Drift ModeboolOffMaster toggle for all drift physics.
Drift Angle LimiterboolOffWhen enabled, corrects angular velocity if the drift angle exceeds the limit. Prevents uncontrollable spins.
Drift Angle Limit0-90 degrees30Maximum allowed drift angle before correction forces kick in.
Drift Angle Correction Factor0-103How aggressively the angle is corrected when exceeding the limit. Higher values mean faster correction.

Drift forces:

SettingRangeDefaultDescription
Yaw Torque Multiplier0-30.7How fast the car rotates into a drift. Higher values make the car rotate more aggressively.
Forward Force Multiplier0-50002000Forward push during drift to maintain speed. Higher values reduce speed loss while sliding.
Sideways Force Multiplier0-40001500Lateral push during drift. Higher values push the car further sideways for wider drifts.
Min Speed0-60 km/h20Minimum speed for drift forces to activate. Below this speed, no drift assistance is applied.
Full Force Speed20-150 km/h80Speed at which drift forces reach full strength. Forces scale linearly between min speed and this value.
Throttle Yaw Factor0-10.3How much throttle alone contributes to yaw rotation. Higher values let you initiate drifts with throttle, without needing to steer.

Drift friction:

These settings control how much tire grip is lost during drifting. Each value represents a multiplier where 1.0 means no grip reduction.

SettingRangeDefaultDescription
Rear Sideways Stiffness Min0.1-1.00.45Minimum rear tire sideways grip during full drift. Lower values allow more lateral sliding.
Rear Forward Stiffness Min0.5-1.00.8Minimum rear tire forward grip during full drift. Lower values cause more speed loss.
Front Sideways Stiffness Min0.5-1.20.9Minimum front tire sideways grip during drift. Higher values keep the front end responsive for steering.
Friction Response Speed1-208How quickly grip reduces when entering a drift.
Friction Recovery Speed1-204How quickly grip recovers when exiting a drift.

Drift recovery:

SettingRangeDefaultDescription
Max Angular Velocity0-360 deg/s120Maximum rotation speed during drift. Prevents uncontrollable spins. 0 disables the limit.
Counter Steer Recovery Boost1-52Multiplier for recovery force when counter-steering during drift. Higher values make recovery easier.
Momentum Maintenance Force0-3000800Constant forward force during drift to prevent speed loss.
Force Smoothing1-208Smoothing speed for drift force transitions. Higher values mean faster response, lower values mean smoother transitions.

Gear Shifting

Each behavior preset controls automatic transmission timing:

SettingRangeDefaultDescription
Gear Shifting Threshold0.1-0.90.8Normalized RPM threshold (0 to 1) at which automatic gear shifts occur.
Gear Shifting Delay Min0-1 sec0.15Minimum delay between automatic gear shifts.
Gear Shifting Delay Max0-1 sec0.5Maximum delay between automatic gear shifts.

Anti-Roll Bar

SettingDefaultDescription
Anti Roll Minimum500Minimum anti-roll bar force to reduce body roll in corners. Higher values keep the car flatter through turns.

Wheel Friction

Each behavior preset defines friction curves for front and rear wheels separately. These values map directly to Unity's WheelFrictionCurve and control how much grip the tires have.

There are four friction groups, each with four parameters:

GroupAffects
Forward FrontAcceleration and braking grip for front wheels
Forward RearAcceleration and braking grip for rear wheels
Sideways FrontCornering grip for front wheels
Sideways RearCornering grip for rear wheels

Each group has these four values:

ParameterDescription
Extremum SlipThe slip value at which maximum friction force is generated.
Extremum ValueThe maximum friction force at the extremum slip point.
Asymptote SlipThe slip value beyond which friction force stabilizes at a lower level.
Asymptote ValueThe friction force at and beyond the asymptote slip point.

In plain terms: Higher extremum and asymptote values mean more grip. Lower values mean the tires slide more easily. The front-vs-rear balance determines whether the car tends to understeer (front slides first) or oversteer (rear slides first).

Default front forward friction: Extremum Slip 0.4, Extremum Value 1.0, Asymptote Slip 0.8, Asymptote Value 0.5

Default rear forward friction: Extremum Slip 0.4, Extremum Value 0.95, Asymptote Slip 0.75, Asymptote Value 0.5

Default front sideways friction: Extremum Slip 0.4, Extremum Value 1.0, Asymptote Slip 0.5, Asymptote Value 0.75

Default rear sideways friction: Extremum Slip 0.4, Extremum Value 1.05, Asymptote Slip 0.5, Asymptote Value 0.8


Wheel Physics

SettingDefaultDescription
Use Fixed Wheel CollidersOnUses heavier-mass wheel colliders for more stability. Recommended for most projects. Disabling this uses lighter colliders that may bounce or jitter on uneven terrain.
Auto ResetOnAutomatically resets the vehicle to an upright position if it is flipped upside down for too long. Useful for gameplay; disable for simulation or crash-focused games.

Units and Display

SettingDefaultDescription
Use MPHOffSwitches the speed display from kilometers per hour (km/h) to miles per hour (mph). This affects UI elements and telemetry readouts.
Use TelemetryOffShows a real-time vehicle data overlay during play mode, including speed, RPM, gear, slip values, and more. See Telemetry and Debug.
Use Input DebuggerOffShows a real-time overlay of current input values (throttle, brake, steering) during play mode. Helpful for diagnosing control issues.

Input Rebinding

SettingDefaultDescription
Auto Save/Load Input RebindOnAutomatically saves custom key bindings to PlayerPrefs when the player changes them, and loads them back on the next session. Disable this if you want to manage input persistence yourself.

For full details on the input system and how to set up custom key bindings, see Inputs.


Mobile Settings

These settings control the on-screen touch controls for mobile platforms (iOS, Android).

SettingDefaultDescription
Mobile Controller EnabledOffShows or hides the mobile UI controls. Enable this for mobile builds.

Controller Types

When mobile controls are enabled, you can choose from four input methods:

TypeHow It Works
TouchScreenOn-screen left/right buttons for steering, plus throttle and brake buttons. Simple and reliable.
GyroTilt the device to steer. The gyro sensitivity setting (default 2.5) controls how much tilt is needed.
SteeringWheelAn on-screen rotatable steering wheel that the player drags to steer. Feels more immersive.
JoystickAn analog joystick for steering input. Good for players who want proportional control without gyro.

For detailed mobile setup instructions, see Mobile.


Layer Configuration

RCCP uses dedicated physics layers to manage collision detection between vehicles, wheels, and world objects. Proper layer setup is essential for the damage system, detachable parts, and prop interactions to work correctly.

SettingDefaultDescription
Set LayersOnWhen enabled, RCCP automatically creates and assigns layers during setup.

Layer Purposes

Layer NamePurpose
RCCP_VehicleAssigned to all vehicle GameObjects. Used for collision detection between vehicles and the environment.
RCCP_WheelColliderAssigned to wheel physics objects. Separated from the vehicle layer so wheels can have independent collision behavior.
RCCP_DetachablePartAssigned to breakable body panels (doors, bumpers, hoods). Separated so detached parts do not collide with the parent vehicle.
RCCP_PropAssigned to interactive props like traffic cones and barriers that react to vehicle contact.
RCCP_ObstacleAssigned to static obstacles in the environment.

The collision matrix is automatically configured so that vehicles do not collide with their own detachable parts while those parts are still attached. Once a part detaches, it re-enters normal collision.

If you see vehicles passing through objects or detachable parts jittering, the first thing to check is whether layers are set up correctly. Go to Edit > Project Settings > Physics (or Physics 3D in Unity 6) and verify the collision matrix.


Light Rendering

RCCP lets you choose between vertex lights and pixel lights for each light type on the vehicle. This is a performance-vs-quality tradeoff.

Light TypeDefault ModeDescription
HeadlightsPixelFull-quality lighting with shadows and accurate falloff. Most visible, so pixel is recommended.
Brake LightsVertexCheaper rendering. Acceptable because brake lights are usually small and behind the vehicle.
Reverse LightsVertexSame reasoning as brake lights -- small and rarely the focus of attention.
Indicator LightsVertexBlink on and off, so the quality difference is less noticeable.
Other LightsVertexAny additional lights on the vehicle (fog lights, auxiliary lights).

When to change these: If you are targeting high-end platforms (PC, consoles) and want the best visuals, switch everything to pixel lights. If you are targeting mobile or need to optimize performance, keep most lights as vertex and only use pixel for headlights.


Prefab References

RCCP Settings holds references to prefabs that are instantiated automatically when needed. You generally do not need to change these unless you want to replace the default camera system or UI.

Camera Prefabs

PrefabPurpose
RCCP Main CameraThe primary chase camera that follows the player vehicle.
RCCP Hood CameraA camera mounted on the vehicle hood for a first-person driving view.
RCCP Wheel CameraA camera that focuses on a specific wheel, useful for replays or inspection.
RCCP Cinematic CameraProvides dynamic camera angles for dramatic moments or cutscenes.
RCCP Fixed CameraA static camera placed at a fixed position in the scene.

UI Prefabs

PrefabPurpose
RCCP CanvasThe main UI canvas containing dashboard elements, speedometer, and mobile controls.
RCCP TelemetryThe telemetry overlay that displays real-time vehicle data when Use Telemetry is enabled.

Particle Prefabs

PrefabPurpose
Contact ParticlesGeneral surface contact effects (dust, debris).
Scratch ParticlesMetal scratching sparks on collision.
Wheel Sparkle ParticlesSparks from wheels on hard surfaces (like driving on rims).
Exhaust GasExhaust smoke effect.
Wheel BlurVisual blur effect for high-speed wheel rotation.

Other Prefabs

PrefabPurpose
Skidmarks ManagerHandles tire mark rendering on surfaces. One shared instance for all vehicles.
Light BoxVisual mesh for light-emitting elements on the vehicle.
Flare PrefabLens flare effect attached to vehicle lights.

Audio Settings

RCCP Settings contains default audio clips that are used when a vehicle does not have custom audio assigned. You can replace any of these with your own clips.

Engine Sounds

Engine audio uses a layered system with four RPM ranges, each having an "on" (throttle pressed) and "off" (throttle released) variant:

ClipWhen It Plays
Engine Idle On / OffEngine at idle RPM.
Engine Low On / OffEngine at low RPM range.
Engine Medium On / OffEngine at medium RPM range.
Engine High On / OffEngine at high RPM range.
Engine StartPlayed once when the engine is started (cranking sound).

The system crossfades between these layers based on current RPM, creating a smooth and realistic engine sound that changes with throttle and speed.

Effect Sounds

ClipWhen It Plays
BrakeBrake squeal at low speeds under braking.
WindWind noise that increases with vehicle speed.
ReversingReversing beep or whine when driving backward.
IndicatorClick sound when turn indicators are active.
NOSNitrous oxide activation burst.
TurboTurbocharger spool and blow-off valve sound.
BumpSuspension impact on bumps and road irregularities.
Gear Shift (array)One clip per gear change. Multiple clips can be assigned for variety.
Crash (array)Collision impact sounds, randomly selected on crash.
Blowout (array)Tire blowout sounds.
Exhaust Flame (array)Exhaust backfire sounds.
Wheel DeflateSound when a tire loses air.
Wheel InflateSound when a tire is reinflated.
Wheel FlatContinuous sound of driving on a flat tire.

Audio Mixer

An optional Audio Mixer Group can be assigned in settings. When set, all RCCP vehicle audio routes through this mixer, giving you centralized volume control and the ability to apply audio effects (reverb, EQ) to all vehicle sounds at once.


Rendering Settings

These settings control visual effects related to the render pipeline.

SettingPurpose
Lens Flare DataLens flare asset for Scriptable Render Pipeline (URP/HDRP).
Flare (Legacy)Lens flare for the Built-in Render Pipeline.
HDRP Volume Profile PrefabVolume profile prefab used when running in HDRP.
Default Decal MaterialMaterial applied to vehicle decal projectors.
Default Neon MaterialMaterial applied to vehicle neon underglow lights.
Vehicle Collider MaterialPhysics material applied to vehicle body colliders, controlling friction and bounce on contact.

Recommended Settings for Common Scenarios

Here are some starting points depending on the type of game you are building:

Realistic Driving Simulation

Arcade Racing

Drift Game


Next Steps


Support: bonecrackergames@gmail.com | www.bonecrackergames.com

Need help? See Troubleshooting