Field Reference
Goal: look up a setting you can see in the Inspector. You can use this reference without code. For advice on what to change, start with Tuning Recipes.
Find a setting
- Note the component you are editing, such as Engine, Audio or Camera.
- Choose a section below, or use Ctrl+F to search this page for the setting's label.
- Read What it does, then check the unit and range before editing.
- Make the change in the Inspector with Play Mode stopped, then test it.
Check: you have found both the setting and the component it belongs to. Several components can use similar labels, so check the heading above the table.
| You are working on | Jump to |
|---|---|
| Engine, gears, drive wheels, fuel or boost | Drivetrain |
| Tires, suspension or axles | Wheels and suspension |
| Stability, steering or player control | Assists and stability |
| Engine sound, lights, effects or customization | Looks and sound |
| Dents and mechanical damage | Damage |
| Cameras, project settings or surfaces | Scene, AI, customization and UI |
| Other components, UI widgets or individual upgrades | Everything else |
Common components: Engine · Gearbox · Wheel · Audio · Camera · Settings · AI.
How to read the tables
| Column | Meaning |
|---|---|
| Setting | The Inspector label. If the component has no custom label for the field, the table shows the code name. |
| Code name | The name a C# script uses. You do not need to type this to edit a setting in the Inspector. A dotted name such as wheelData.tire.peakGripLateral is the saved path. Scripts read this value with the WheelData property of the wheel and write it with SetWheelData. |
| Unit | What the number measures: for example, rpm means engine revolutions per minute, and Nm means torque in newton-meters. |
| Default | The initial value declared in source. A saved prefab, the Setup Wizard or a behavior preset may give your vehicle a different value. |
| Range | The limit declared by the field's attributes. This is not a recommended tuning range or a guarantee that every value suits your vehicle. |
| What it does | The effect of changing the setting, or the meaning of a live readout. |
A dash means that the source has no value for that cell. A dash does not mean zero. Read-only or Live values entries show what the vehicle is doing. These entries are not controls to tune.
The values in this chapter come from the component source code and the Inspector labels. If you use a different RCCP version, compare the values with the Inspector.
If an edit changes back when you press Play, read Assists and Presets before changing more values.
Drivetrain
RCCP_Engine
Creates the engine's power from the throttle and sends it to the clutch.
Inspector sections, in order: Engine state, Top speed & gearing, RPM range, Throttle response, Power & torque, Rev (RPM) limiter, Turbo & launch control, Friction & inertia, Temperature.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Override engine RPM | overrideEngineRPM |
— | false |
— | If on, another script sets the engine RPM, and the engine does not calculate the RPM from the throttle. The replay system, the Photon sync and custom scripts use this setting. Keep this off for normal driving. |
| Engine running at start | engineRunning |
— | true |
— | If on, the vehicle spawns with the engine running. If off, the player must start the engine. |
| Engine starting | engineStarting |
— | false |
— | On for 1 s while the engine starts. The starter sound plays during this time. Read-only at runtime. |
| Auto-calculate differential ratio | autoCalculateDifferentialRatio |
— | true |
— | If on, the code calculates the Final drive ratio of each differential from Top speed, wheel size, Max RPM and the top gear ratio. This value replaces any Final drive ratio set by hand. The Gear ratios do not change. If off, Top speed has no effect. |
| Top speed | maximumSpeed |
km/h | 240 |
min 0 | Sets the top speed that Auto-calculate differential ratio uses to calculate the Final drive ratio. If Auto-calculate differential ratio is off, this value has no effect. |
| Engine RPM | engineRPM |
rpm | 0 |
min 0 | Shows the current engine speed in RPM. Read-only at runtime. |
| Idle RPM | minEngineRPM |
rpm | 750 |
min 0 | Sets the engine speed when the vehicle stands still with no throttle. The engine adds throttle by itself to stay at this speed. Typical range: 700–1000. |
| Max RPM | maxEngineRPM |
rpm | 7000 |
min 0 | Sets the highest engine speed (the redline). Typical range: 6000–8000 for road cars, up to 15000 for race cars. |
| RPM rise speed | engineAccelerationRate |
— | .75 |
min 0 | Sets how fast the RPM increases when the engine does not drive the wheels (neutral, or clutch pressed). A higher value increases the RPM faster. Typical range: 0.5–1.5. |
| Slower RPM rise under load | enableDynamicAcceleration |
— | false |
— | If on, the RPM increases at a lower rate at high engine load and at a higher rate at low engine load. The engine feels heavy and more realistic. If off, the RPM always increases at the same rate. |
| RPM link to wheels | engineCouplingToWheelsRate |
— | 1.5 |
min 0 | Sets how closely the engine speed follows the wheel speed while a gear is engaged. A higher value makes the engine and the wheels turn together, as in a real vehicle. A lower value lets the engine speed change more freely. Typical range: 1–3. |
| RPM fall speed | engineDecelerationRate |
— | .35 |
min 0 | Sets how fast the RPM decreases to idle when the throttle is released. A higher value decreases the RPM faster. Typical range: 0.2–0.6. Works with Engine friction. |
| Engine braking | engineBraking |
— | true |
— | If on, the engine slows the vehicle when the throttle is released in gear, as in a real vehicle. If off, the vehicle rolls freely. |
| Engine braking strength | engineBrakingCoefficient |
— | 0.15 |
0 – 0.4 | Sets the strength of engine braking as a fraction of Max torque. A higher value slows the vehicle more. Typical range: 0.10–0.20 (real road cars are about 0.15). |
| Engine braking start RPM | engineBrakingMinRPMFactor |
— | 0.15 |
0 – 1 | Sets the RPM at which engine braking starts, as a fraction of Max RPM. Above this RPM, engine braking increases to full strength at Max RPM. A lower value gives engine braking at low RPM too. A higher value gives engine braking only at high RPM. Typical range: 0.1–0.3. |
| Engine braking throttle limit | engineBrakingThrottleCutoff |
— | 0.05 |
0 – 0.5 | Sets the throttle at which engine braking stops fully. Engine braking decreases from full strength at zero throttle to zero at this value. A higher value keeps some engine braking at more throttle. The RPM and the clutch also change the braking strength. Typical range: 0.02–0.10. |
| Over-RPM braking boost | overRevEngineBrakingMultiplier |
— | 2.5 |
1 – 4 | Multiplies the engine braking when a downshift forces the RPM above Max RPM, so a badly timed downshift slows the vehicle sharply. The full multiplier applies at 1.8 × Max RPM. A higher value gives harsher braking. Typical range: 2–3. |
| Auto-create torque curve | autoCreateNMCurve |
— | true |
— | If on, the code builds the Torque curve from Idle RPM, Max torque RPM and Max RPM, and the Inspector hides the curve. If off, the Inspector shows Torque curve for editing by hand. |
| Max torque | maximumTorqueAsNM |
Nm | 200 |
min 0 | Sets the highest torque that the engine can make. A higher value gives faster acceleration in every gear. Typical range: 150–600 for road cars, 1000 or more for trucks. |
| Max torque RPM | peakRPM |
rpm | 4000 |
min 0 | Sets the RPM at which the engine makes Max torque. Auto-create torque curve puts the peak of the curve at this RPM. A lower value gives strong pull at low RPM. A higher value gives strong pull only at high RPM. |
| Torque curve | NMCurve |
— | — |
— | Sets how the engine torque changes across the RPM range. A flat curve gives strong pull in every gear. A curve with a late peak gives strong pull only at high RPM. X is the RPM, Y is the fraction of Max torque (0–1). |
| RPM limiter | engineRevLimiter |
— | true |
— | If on, the engine cuts the fuel for short moments at Max RPM, which makes the stutter sound of a rev limiter. If off, the RPM stops at Max RPM with no stutter. |
| Limiter stutter speed | revLimiterCutFrequency |
cuts/s | 15 |
5 – 30 | Sets how many fuel cuts per second the RPM limiter makes at Max RPM. A higher value gives a fast buzz. A lower value gives a slow, heavy chop. Launch control uses the same rate. Typical range: 10–20. |
| Launch control | launchControlEnabled |
— | false |
— | If on, the engine holds Launch RPM at a standstill while the player presses the throttle. Launch control max speed and Launch control throttle set the limits. Launch control gives a strong, repeatable start. If off, the RPM increases freely at a standstill. |
| Launch RPM | launchControlRPM |
rpm | 4500 |
min 1000 | Sets the RPM that launch control holds before the start. A higher value gives a more aggressive start with more wheelspin. Typical range: 3000–5000. |
| Launch control max speed | launchControlMaxSpeed |
km/h | 5 |
min 0 | Sets the speed below which launch control works. Above this speed, the engine works as usual again. Typical range: 3–10. |
| Launch control throttle | launchControlMinThrottle |
— | .75 |
.5 – 1 | Sets the throttle input (0–1) that the player must apply to start launch control. A higher value needs almost full throttle. Typical range: 0.7–0.9. |
| Turbocharged | turboCharged |
— | false |
— | If on, the engine has a turbo. The boost increases with throttle and RPM and adds torque. The turbo also adds turbo sounds and a boost gauge. If off, the engine has no turbo. |
| Turbo boost now | turboChargePsi |
psi | 0 |
min 0 | Shows the turbo boost pressure now. Read-only at runtime. |
| Max turbo boost | maxTurboChargePsi |
psi | 12 |
min 0 | Sets the highest boost pressure at full throttle and high RPM. If Turbo torque multiplier does not change, a higher value does not give more peak power. A higher value increases the target pressure, so the boost can take longer to build. Typical range: 8–30. |
| Turbo torque multiplier | turboChargerCoEfficient |
— | 1.25 |
1 – 2 | Sets the torque multiplier of the turbo at full boost. 1 = no extra torque, 2 = double torque. For example, 1.25 gives 25% more torque. Typical range: 1.1–1.5. |
| Engine friction | engineFriction |
— | .2 |
0 – 1 | Sets how fast the RPM decreases when the throttle is released. A higher value decreases the RPM faster. The friction also increases at high RPM. If Simulate engine temperature is on, a cold engine has more friction. Typical range: 0.1–0.5. |
| Engine inertia | engineInertia |
— | .2 |
.01 – 1 | Sets how fast the RPM can change. A higher value gives a heavy engine with a slow response. A lower value gives a light engine with a fast response. Typical range: 0.2–0.6. |
| Simulate engine temperature | simulateEngineTemperature |
— | false |
— | If on, the engine warms up and can overheat. A cold engine has up to 15% less power until it warms up. An overheated engine loses up to 30% of its power. If off, the code ignores the temperature. |
| Temperature now | engineTemperature |
°C | 85 |
20 – 150 | Shows the engine temperature now. Read-only at runtime. |
| Ideal temperature | optimalTemperature |
°C | 85 |
70 – 100 | Sets the temperature at which the engine gives full power. Below this value, the engine is weaker until it warms up. More than 15 °C above this value, the power decreases again. Typical range: 85–95. |
| Outside temperature | ambientTemperature |
°C | 20 |
-20 – 50 | Sets the air temperature around the vehicle. The engine starts 20 °C above this value. While the engine runs, the engine temperature moves toward this value plus 65–95 °C (more at high load). With the engine off, the engine cools toward this value. A lower value gives a longer warm-up. Typical range: 0–35. |
| Variable valve timing (VVT) | enableVVT |
— | false |
— | If on, the engine gives more torque inside VVT RPM range. The extra torque gives the feel of a sports engine that becomes strong at high RPM. If off, the engine gets no extra torque. |
| VVT RPM range | vvtOptimalRange |
rpm | — |
— | Sets the RPM range where VVT torque multiplier applies. X is the start, Y is the end. A narrow range at high RPM gives a sudden increase in power. A wide range makes the engine stronger overall. Typical values: X 3000, Y 6000. |
| VVT torque multiplier | vvtTorqueMultiplier |
— | 1.1 |
1 – 1.3 | Sets how much the torque increases inside VVT RPM range. 1 = no extra torque, 1.3 = 30% more torque. For example, 1.1 gives 10% more torque. Typical range: 1.05–1.2. |
| Engine knock | enableKnockDetection |
— | false |
— | If on, the engine can knock at high load and low RPM (below 60% of Max RPM). If Simulate engine temperature is on, an engine more than 10 °C above Ideal temperature also knocks. Knock decreases the power by up to 30%. Knock now shows in the live values. If off, the engine never knocks. |
| Knock now | knockFactor |
— | 0 |
0 – 1 | Shows how strong the engine knock is now. 0 = no knock, 1 = full knock. Read-only at runtime. |
| Torque now | producedTorqueAsNM |
Nm | 0 |
min 0 | Shows the torque that the engine makes now. Read-only at runtime. |
| Throttle now | fuelInput |
— | 0 |
0 – 1 | Shows the fuel input of the engine now (0–1). The value is the player throttle plus the idle throttle, after the limiter fuel cuts. Read-only at runtime. |
| Idle throttle now | idleInput |
— | 0 |
0 – 1 | Shows the throttle that the engine adds by itself below 110% of Idle RPM, so the engine keeps running. Read-only at runtime. |
| Engine load now | engineLoad |
— | 0 |
0 – 1 | Shows how hard the engine works now. 0 = no load, 1 = full load. The load comes from the throttle and from the engaged drivetrain. Read-only at runtime. |
| Turbo blow-off now | turboBlowOut |
— | false |
— | On for one physics step when the throttle is released with more than 5 psi of boost. The turbo then releases its pressure with a blow-off sound. Read-only at runtime. |
| Limiter active | cutFuel |
— | false |
— | On while the RPM limiter or launch control cuts the fuel. The speed limit of RCCP_Limiter does not set this value. Read-only at runtime. |
| Launch control active | launchControlActive |
— | false |
— | On while launch control is active. Launch control is active if the vehicle is below Launch control max speed and not in reverse. The throttle must also be at Launch control throttle or more. Read-only at runtime. |
| Power output | outputEvent |
— | — |
— | The component that receives the engine power, usually the clutch. Click Add Output To Clutch below to connect the clutch. If this event is empty or wrong, the wheels get no power. |
RCCP_Clutch
Connects the engine to the gearbox, and loosens or cuts that connection while pulling away and changing gear.
Inspector sections, in order: Clutch engagement, When the clutch is pressed.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Clutch inertia | clutchInertia |
— | .35 |
0 – 1 | Sets how smoothly the automatic clutch engages and releases. A higher value gives softer pull-aways and gear changes. A lower value makes the clutch engage sharply. Typical range: 0.2–0.5. Only used while Automatic clutch is on. |
| Automatic clutch | automaticClutch |
— | true |
— | If on, the code controls the clutch for the player when the vehicle pulls away, changes gear and stops, so the engine does not stall. If off, the clutch follows the clutch input of the player. In both modes, Press clutch while shifting and Press clutch while handbraking still apply. |
| Engage RPM | engageRPM |
rpm | 1200 |
min 0 | Sets the RPM below which the automatic clutch slips, so the engine does not stall. A higher value gives a softer pull-away. Typical range: 900–1500. |
| Always press the clutch | forceToPressClutch |
— | false |
— | If on, the clutch stays fully pressed, so no power reaches the wheels. Use this setting for cut-scenes or to hold a vehicle still. Keep this off for normal driving. |
| Press clutch while shifting | pressClutchWhileShiftingGears |
— | true |
— | If on, the clutch is pressed during each gear change. With Automatic clutch on, the clutch then engages smoothly after the shift. If off, the clutch is not pressed for the shift, so the full power returns at once when the shift ends. In both cases, the gearbox sends no power during Shift time. |
| Press clutch while handbraking | pressClutchWhileHandbraking |
— | true |
— | If on, the clutch is pressed while the handbrake is applied (input 0.75 or more). The wheels can then lock, and the vehicle can slide into a drift. If off, the engine keeps driving the wheels against the handbrake. |
| Override clutch | overrideClutch |
— | false |
— | If on, another script sets the clutch, and the code skips its own clutch logic. The Photon sync and custom scripts use this setting. Keep this off for normal driving. |
| Clutch pedal now | clutchInput |
— | 1 |
0 – 1 | Shows how far the clutch is pressed now. 0 = released (all power passes), 1 = fully pressed (no power passes). Read-only at runtime. |
| Torque in | receivedTorqueAsNM |
Nm | 0 |
— | Shows the torque that comes from the engine now. Read-only at runtime. |
| Torque out | producedTorqueAsNM |
Nm | 0 |
— | Shows the torque that goes to the gearbox now, after clutch slip. Read-only at runtime. |
| Power output | outputEvent |
— | — |
— | The component that receives the clutch power, usually the gearbox. Click Add Output To Gearbox below to connect the gearbox. If this event is empty or wrong, the wheels get no power. |
RCCP_Gearbox
Takes the power from the clutch, applies the ratio of the current gear and passes it on to the differential.
Inspector sections, in order: Gear ratios & reverse, Gear selection, Shifting, RPM matching on shifts, Transmission & automatic shifting.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Gear ratios | gearRatios |
— | — |
min 0.1 | Sets one ratio for each forward gear, first gear first. A higher ratio gives harder acceleration in that gear but a lower top speed. Road cars use about 3.5–4.5 in first gear and about 0.8 in top gear. The preset buttons at the bottom of this Inspector set a ready-made list. |
| Separate reverse ratio | useDedicatedReverseRatio |
— | false |
— | If on, reverse uses Reverse ratio. If off, reverse uses the ratio of first gear, so the vehicle reverses as strongly as it pulls away. If Reverse ratio is 0, reverse also uses the first gear ratio. |
| Reverse ratio | reverseGearRatio |
— | 0 |
min 0 | Sets the gear ratio for reverse. A higher value gives harder acceleration in reverse but a lower top speed. Typical range: 3–4. Only used while Separate reverse ratio is on and this value is more than 0. |
| Max speed to engage reverse | maxSpeedToShiftReverse |
km/h | 20 |
min 0 | Sets the forward speed above which the gearbox cannot shift into reverse. A higher value lets the player select reverse while the vehicle still moves forward. Typical range: 5–20. |
| Gear state at start | defaultGearState |
— | CurrentGearState.GearState.InForwardGear |
— | Sets the gearbox state when the vehicle spawns. In Park or Neutral, the vehicle does not move until the player selects a gear. With Automatic DNRP, Gear selector sets the state instead. |
| Force neutral | forceToNGear |
— | false |
— | If on, the gearbox stays in neutral whatever the player does, so no power reaches the wheels. Use this setting for cut-scenes and parked vehicles. Keep this off for normal driving. |
| Force reverse | forceToRGear |
— | false |
— | If on, the gearbox stays in reverse whatever the player does. Use this setting for scripted sequences. Keep this off for normal driving. |
| Override gear | overrideGear |
— | false |
— | If on, another script selects the gear, and the code skips all shift logic. The replay system and custom scripts use this setting. Keep this off for normal driving. |
| Shift time | shiftingTime |
s | .2 |
min 0 | Sets the duration of a gear change. The gearbox sends no power during this time. A higher value gives a slow shift with a clear gap in the power. A lower value gives a fast shift. Typical range: 0.05–0.3. An active behavior preset keeps this value inside its own limits. |
| Cool-down between shifts | dontShiftTimer |
— | true |
— | If on, the automatic gearbox waits 1 s after each gear change before it can shift again. The wait stops fast shifts back and forth between two gears. If off, the automatic gearbox can shift again at once. Manual shifts never wait. |
| Auto throttle on shifts | revMatchOnShift |
— | false |
— | If on, the code controls the throttle during a gear change. On a downshift, the throttle increases the RPM to match the next gear. On an upshift, some throttle stays on for a short time. If off and Cut throttle while shifting (RCCP Input) is on, the throttle is cut for the whole shift. |
| Auto throttle strength | revMatchStrength |
— | 1 |
0 – 1 | Sets how much of the throttle the automatic RPM matching controls during a shift. 0 = no effect (the same as Auto throttle on shifts off), 1 = fully automatic. Typical range: 0.8–1. |
| Downshift RPM rise speed | revMatchGain |
— | .001 |
min 0 | Sets how fast the RPM increases to match the next gear on a downshift. The value is the throttle for each RPM below the target. For example, 0.001 gives full throttle at 1000 RPM below the target. A higher value gives a faster, sharper RPM increase. Typical range: 0.0005–0.002. |
| Upshift throttle hold | shiftThrottleHold |
— | .5 |
0 – 1 | Sets the throttle that stays on during the first part of an upshift, so the RPM increases before the next gear. The hold changes with the throttle of the player at the start of the shift. A higher value gives a louder shift. Keep this value above 0.3, or the effect is lost. 0 = off. Typical range: 0.4–0.6. |
| Upshift hold length | shiftThrottleHoldFraction |
— | .45 |
0 – 1 | Sets how much of Shift time the throttle stays on before the release (0–1). A higher value holds the throttle longer and releases the throttle later. At the release, the throttle goes to zero at once. Typical range: 0.4–0.6. |
| Upshift RPM rise | revMatchFlareRise |
rpm | 400 |
min 0 | Sets how far the RPM can increase above its value at the start of an upshift. About 400 RPM is clearly audible. A much lower value gives a shift with no audible change. Typical range: 200–600. |
| Upshift RPM margin | revMatchLimiterHeadroom |
rpm | 250 |
min 0 | Sets how far below Max RPM the RPM increase of an upshift must stop. 0 = the RPM can touch the RPM limiter, which adds a stutter to the shift sound. A higher value keeps the RPM clear of the limiter. Typical range: 200–400. |
| Shift throttle limit | maxShiftThrottle |
— | 1 |
0 – 1 | Sets the highest throttle that the automatic RPM matching can use. A lower value gives gentler, quieter shifts. Typical range: 0.8–1. |
| Transmission | transmissionType |
— | TransmissionType.Automatic |
— | Sets how the gears change. With Manual, the player changes gear. With Automatic, the vehicle changes gear by itself. With Automatic DNRP, the vehicle changes gear by itself, and the player selects Drive, Neutral, Reverse or Park with a selector. |
| Gear selector | automaticGearSelector |
— | SemiAutomaticDNRPGear. |
— | Sets the position of the Drive, Neutral, Reverse and Park selector (D, N, R, P). Only used with the Automatic DNRP transmission. |
| Shift-up timing | shiftThreshold |
— | .8 |
.1 – .9 | Sets the upshift point of the automatic gearbox as a fraction of the top speed of the current gear (Gear target speeds). A higher value holds each gear longer for a sportier feel. A lower value shifts up early for a relaxed feel. Typical range: 0.6–0.9. An active behavior preset overrides this value. |
| Shift up RPM | shiftUpRPM |
rpm | 5500 |
min 0 | Sets the RPM at which the automatic gearbox shifts up. The speed must also reach the Shift-up timing point. A higher value lets the engine reach a higher RPM before each shift. Typical range: 5000–7000. |
| Shift down RPM | shiftDownRPM |
rpm | 2750 |
min 0 | Sets the RPM at or below which the automatic gearbox shifts down. A higher value shifts down sooner and keeps the RPM higher. Typical range: 2000–3500. Keep this value well below Shift up RPM, or the gearbox shifts between two gears again and again. |
| Gear now | currentGear |
— | 0 |
min 0 | Shows the forward gear that is engaged now. 0 = first gear. Read-only at runtime. |
| Gear state now | currentGearState |
— | — |
— | Shows the gearbox state now (Park, In Reverse Gear, Neutral or In Forward Gear). During a shift, the state is Neutral. Read-only at runtime. |
| Driving the wheels now | gearInput |
— | 0 |
min 0 | Shows 1 while the gearbox drives the wheels. Shows 0 in neutral, in Park and during a shift. Read-only at runtime. |
| Shifting now | shiftingNow |
— | false |
— | On while a gear change is in progress. Read-only at runtime. |
| Shift cool-down left | lastTimeShifted |
s | 0 |
min 0 | Shows the time left before the automatic gearbox can shift again. Read-only at runtime. |
| RPM per gear | gearRPMs |
rpm | — |
— | Shows Max RPM divided by the ratio of each gear. Use these values to compare one gear with the next. Read-only at runtime. |
| Gear target speeds | targetSpeeds |
km/h | — |
— | Shows the top speed of each gear (the speed at Max RPM). The automatic gearbox uses these speeds to select the gear. Read-only at runtime. |
| Torque in | receivedTorqueAsNM |
Nm | 0 |
— | Shows the torque that comes from the clutch now. Read-only at runtime. |
| Torque out | producedTorqueAsNM |
Nm | 0 |
— | Shows the torque that goes to the differentials now, after the gear ratio. With more than one differential, each differential gets an equal share. Read-only at runtime. |
| Power output | outputEvent |
— | — |
— | The component that receives the gearbox power, usually the differential. Click Add Output To Differential below to connect the differential. If this event is empty or wrong, the wheels get no power. |
RCCP_Gearbox+CurrentGearState
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| gearState | gearState |
— | GearState.InForwardGear |
— | Shows the gearbox state now (Park, In Reverse Gear, Neutral or In Forward Gear). During a shift, the state is Neutral. Read-only at runtime. |
RCCP_Differential
Splits the power from the gearbox between the two wheels of an axle, and applies the final drive ratio.
Inspector sections, in order: Differential type & locking, Final drive & axle.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Differential type | differentialType |
— | DifferentialType.Limited |
— | Sets how the torque is split between the two wheels. With Open, the slower wheel (more grip) gets more torque, so a vehicle with one wheel on a slippery surface still pulls away. With Limited, Limited-slip ratio decreases this shift. With Full Locked or Direct, each wheel gets half of the torque. An active behavior preset overrides this value. |
| Limited-slip ratio | limitedSlipRatio |
% | 80 |
0 – 100 | Sets how much the Limited type decreases the torque shift of Open. A higher value gives a more equal split, closer to Full Locked. A lower value sends more torque to the slower wheel, closer to Open. Typical range: 50–90. Only used with the Limited differential type. |
| Override differential | overrideDifferential |
— | false |
— | If on, another script sets the torque of each wheel, and the code skips the differential calculation. The Photon sync uses this setting. Keep this off for normal driving. |
| Final drive ratio | finalDriveRatio |
— | 3.73 |
min 0.01 | Sets an extra gear ratio that applies in every gear. A higher value gives faster acceleration but a lower top speed. Typical range: 3–4.5. If Auto-calculate differential ratio (engine) is on, the code sets this value. |
| Connected axle | connectedAxle |
— | — |
— | The axle that this differential drives. If this field is empty, the wheels get no power. Click a Connect to button below to assign an axle. |
| Torque in | receivedTorqueAsNM |
Nm | 0 |
min 0 | Shows the torque that comes from the gearbox now. Read-only at runtime. |
| Torque out | producedTorqueAsNM |
Nm | 0 |
— | Shows the total torque that goes to the axle now, after the final drive ratio. Read-only at runtime. |
| Left wheel RPM | leftWheelRPM |
rpm | 0 |
— | Shows the speed of the left wheel now, in RPM. Read-only at runtime. |
| Right wheel RPM | rightWheelRPM |
rpm | 0 |
— | Shows the speed of the right wheel now, in RPM. Read-only at runtime. |
| Wheel speed difference | wheelSlipRatio |
— | 0 |
0 – 1 | Shows the speed difference between the two wheels now. 0 = both wheels turn at the same speed, 1 = one wheel turns and the other is stopped. Read-only at runtime. |
| Left torque share | leftWheelSlipRatio |
— | 0 |
— | Shows the torque shift for the left wheel now, as a fraction of the total torque. A positive value takes torque from the left wheel. A negative value gives the left wheel more torque. Read-only at runtime. |
| Right torque share | rightWheelSlipRatio |
— | 0 |
— | Shows the torque shift for the right wheel now, as a fraction of the total torque. A positive value takes torque from the right wheel. A negative value gives the right wheel more torque. Read-only at runtime. |
| Left wheel torque | outputLeft |
Nm | 0 |
— | Shows the torque that goes to the left wheel now. Read-only at runtime. |
| Right wheel torque | outputRight |
Nm | 0 |
— | Shows the torque that goes to the right wheel now. Read-only at runtime. |
RCCP_Nos
Gives the engine a short burst of extra power on demand, then refills the tank over time.
Inspector sections, in order: Boost, Refill.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Torque multiplier | torqueMultiplier |
— | 2.5 |
1 – 10 | Multiplies the engine torque while the boost fires. A higher value gives a stronger push. The engine limits its torque to 1.8 × its Max torque, so a high value can have less effect. Typical range: 1.5–3. |
| Duration | durationTime |
s | 3 |
min 0 | Sets how long a full tank of boost lasts while the player holds the NOS input. A higher value gives a longer boost. Typical range: 2–6. |
| Refill delay | regenerateTime |
s | 2 |
min 0 | Sets how long the player must not use the boost before the tank starts to refill. A higher value lets the player use the boost less often. Typical range: 2–5. |
| Refill speed | regenerateRate |
— | 1 |
min 0 | Sets how fast the tank refills after the refill starts. At 1, the tank gets 1 second of boost back each second. A higher value makes the boost ready again sooner. Typical range: 0.5–2. |
| NOS firing now | nosInUse |
— | false |
— | On while the boost fires. The boost needs the NOS input, at least half throttle, a running engine and boost left in the tank. Read-only at runtime. |
| Boost left | timer |
s | 3 |
min 0 | Shows how many seconds of boost are left in the tank. Read-only at runtime. |
| Tank level | amount |
— | 1 |
0 – 1 | Shows how full the boost tank is. 0 = empty, 1 = full. Read-only at runtime. |
RCCP_FuelTank
Burns fuel as the engine works, and can shut the engine off when the tank runs dry.
Inspector sections, in order: Tank, Consumption.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Tank capacity | fuelTankCapacity |
L | 60 |
0 – 300 | Sets how much fuel the tank holds when full, in liters. A higher value lets the vehicle drive further before the fuel runs out. Typical range: 40–100 for road cars, 200 or more for trucks. At runtime, this field shows the fuel that is left. |
| Starting fill | fuelTankFillAmount |
— | 1 |
0 – 1 | Sets how full the tank is when the vehicle spawns. 0 = empty, 1 = full. For example, 0.5 gives half a tank. At runtime, this field shows how full the tank is now. |
| Stop engine when empty | stopEngine |
— | true |
— | If on, the engine stops when the tank is empty, and the vehicle coasts to a stop. If off, the engine keeps running with an empty tank. |
| Idle consumption | baseLitersPerHour |
L/h | 1 |
0 – 20 | Sets the fuel use of the engine at idle. A higher value empties the tank faster, also while the vehicle stands still. Typical range: 0.5–2. |
| Full-throttle consumption | maxLitersPerHour |
L/h | 25 |
0 – 200 | Sets the fuel use of the engine at full throttle and Max RPM. A higher value empties the tank faster when the player drives hard. Typical range: 20–60. |
| Min throttle for fuel use | minimalIdleThrottle |
— | 0.05 |
0 – 1 | Sets the lowest throttle that the fuel calculation uses while the engine runs, so an idling vehicle still uses fuel. A higher value empties the tank faster at idle. Typical range: 0.03–0.10. |
| Burning now | currentLitersPerHour |
L/h | 0 |
0 – 200 | Shows the fuel use of the engine now. Read-only at runtime. |
RCCP_Limiter
Limits the speed of the vehicle in each gear. The vehicle does not go faster than the limit of the current gear.
Inspector sections, in order: Speed limits, Downhill force.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Speed limit per gear | limitSpeedAtGear |
km/h | — |
min -1 | Sets the top speed for each gear, first gear first. A value of -1 (or 0) gives that gear no limit. Add one entry for each gear in the gearbox. A gear with no entry has no limit. Above the limit, the engine fuel decreases to zero within 2 km/h. |
| Auto-fill from gearbox | autoSet |
— | false |
— | If on, the code copies Gear target speeds from the gearbox into Speed limit per gear and replaces the values set by hand. If off, set the limit of each gear by hand. |
| Brake on downhill slopes | applyDownhillForce |
— | true |
— | If on, a force against the motion also holds the vehicle at the limit when the fuel cut is not enough, for example downhill. If off, the vehicle can pass the limit downhill. |
| Downhill braking strength | downhillForceStrength |
— | 20 |
0 – 100 | Sets how hard the force holds the vehicle back above the limit. The value is an acceleration in m/s² (force per kg of vehicle mass). The force reaches full strength 2 km/h above the limit. A higher value pulls the speed back more sharply, and the limit can feel as hard as an invisible wall. Typical range: 10–30. |
| Limiting now | limitingNow |
— | false |
— | On while the vehicle is above the speed limit of the current gear and the limiter holds the vehicle back. Read-only at runtime. |
RCCP_TrailerController
Turns an object into a towable trailer: its own wheels and lights, and the hitch that joins it to a vehicle.
Inspector sections, in order: Trailer setup, Camera while towing, Hitch.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Towing vehicle | carController |
— | — |
— | The vehicle that tows this trailer. The code sets this field when the trailer hitches. Keep this field empty. |
| Trailer wheels | trailerWheels |
— | — |
— | Lists every wheel of the trailer, each with its WheelCollider and its visible wheel model. Add one entry for each wheel. |
| Center of mass | COM |
— | — |
— | The empty GameObject that marks the center of mass of the trailer. A lower point makes the trailer harder to tip over. Put the point low and between the axles. The code applies this point while the trailer is hitched. |
| Support legs | legs |
— | — |
— | The support legs that show while the trailer stands alone. The code hides the legs when a vehicle hitches the trailer, and shows the legs again when the trailer detaches. |
| Hitch trigger | attacher |
— | — |
— | The Trailer Attacher trigger at the front of the trailer. When the Trailer Attacher of a towing vehicle touches this trigger, the trailer hitches to that vehicle. |
| Override camera while towing | manualSetCameraDistanceAndHeight |
— | false |
— | If on, the truck-trailer camera uses Camera distance and Camera height below while this trailer is hitched, so the whole rig stays in view. If off, the camera sets its distance and height automatically to show the vehicle and the trailer. |
| Camera distance | TPSDistance |
m | 20 |
min 0 | Sets the distance of the camera behind the vehicle and trailer while the trailer is hitched. A higher value shows more of the trailer. Typical range: 15–25 for a truck and trailer. Only used while Override camera while towing is on. |
| Camera height | TPSHeight |
m | 6 |
min 0 | Sets the height of the camera above the vehicle and trailer while the trailer is hitched. A higher value gives a view more from above. Typical range: 4–8. Only used while Override camera while towing is on. |
| Max hitch angle | maxAngle |
° | 90 |
min 0 | Sets the largest angle between the trailer and the towing vehicle. Above this angle, a force pushes the trailer back into line. A lower value keeps the trailer closer behind the vehicle. Typical range: 60–90. |
| Hitch point | trailerConnectionPoint |
— | — |
— | The point on the trailer that joins to the towing vehicle. If this field is empty, the code creates a point at the position of Hitch trigger. |
| Hitched now | attached |
— | false |
— | On while the trailer is hitched to a vehicle. Read-only at runtime. |
RCCP_TrailerController+TrailerWheel
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| wheelCollider | wheelCollider |
— | — |
— | The WheelCollider that carries the weight and grip of this trailer wheel. |
| wheelModel | wheelModel |
— | — |
— | The visible wheel model. The code moves and turns this model to match the WheelCollider. |
| steering | steering |
— | false |
— | If on, this wheel steers with the average sideways slip of the steering wheels, so the trailer axle follows the towing vehicle. If off, the wheel stays straight. |
| maxSteerAngle | maxSteerAngle |
— | 40 |
0 – 50 | Sets the largest steer angle of this wheel, in degrees. A higher value lets the trailer follow a tighter line through corners. Typical range: 10–40. Only used while Steering is on. |
RCCP_TrailerAttacher
A trigger box that hitches a trailer to a vehicle when the two meet. Put one on the back of the vehicle and one on the front of the trailer.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Attached trailer | attachedTrailer |
— | — |
— | The trailer that is hitched through this attacher. The code sets this field when a trailer hitches. Keep this field empty. |
Wheels and suspension
RCCP_Axle
One axle and its two wheels. Shares out the power it receives, and handles steering, braking and the handbrake for this pair of wheels.
Inspector sections, in order: Wheels on this axle, Body roll & power split.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Left wheel model | leftWheelModel |
— | — |
— | The wheel model that the player sees on the left of this axle. The model spins and steers. If Auto-align WheelColliders is on, the size and position of the model also configure the WheelCollider, so a larger wheel model needs no other change. In Edit Mode, the axle copies this model to Wheel model on the Left WheelCollider. |
| Right wheel model | rightWheelModel |
— | — |
— | The wheel model that the player sees on the right of this axle. The model spins and steers. If Auto-align WheelColliders is on, the size and position of the model also configure the WheelCollider, so a larger wheel model needs no other change. In Edit Mode, the axle copies this model to Wheel model on the Right WheelCollider. |
| Left WheelCollider | leftWheelCollider |
— | — |
— | The RCCP_WheelCollider on the left of this axle. This wheel handles grip, suspension, drive torque and skidmarks. The setup wizard assigns this field. Press Edit next to the field to open the settings of this wheel. |
| Right WheelCollider | rightWheelCollider |
— | — |
— | The RCCP_WheelCollider on the right of this axle. This wheel handles grip, suspension, drive torque and skidmarks. The setup wizard assigns this field. Press Edit next to the field to open the settings of this wheel. |
| Auto-align WheelColliders | autoAlignWheelColliders |
— | true |
— | If on, the WheelColliders follow the wheel models in Edit Mode. Each WheelCollider moves to the center of its model (raised by half of Suspension travel) and takes its Radius from the model size. A new wheel model then needs no new setup. If off, place and size the WheelColliders by hand. |
| Anti-roll force | antirollForce |
N | 500 |
min 0 | Resists body roll in corners. A higher value gives flatter cornering, but a bump under one wheel also moves the other wheel. Typical range: 300–1500 (more for heavy vehicles). To stop rollover, decrease the height of the center of mass. Anti-roll stops rollover only at several times this range. A behavior preset can increase this value but never decrease it. |
| Torque share | powerMultiplier |
— | 1 |
-1 – 1 | Sets the share of the drive torque that reaches the wheels of this axle. 1 = all of the torque. A lower value gives this axle less drive, which is how to bias an all-wheel-drive vehicle to the front or rear. A negative value reverses the drive direction. The value applies only while this axle is powered. |
| Steered axle | isSteer |
— | false |
— | If on, the two wheels of this axle turn with the steering. Usually only the front axle steers. If the rear axle also steers, the vehicle has four-wheel steering. |
| Steering angle | maxSteerAngle |
° | 40 |
0 – 50 | Sets how far the wheels turn at full steering input. A higher value gives tighter turns, but the vehicle reacts more sharply. Typical range: 30–40 (road cars). The maximum is 50, because the WheelCollider physics becomes unstable above 50. |
| Steering speed | steerSpeed |
— | 1 |
.01 – 5 | Sets how fast the wheels move to the steer angle that the player requests (at 1, 150 degrees per second). A lower value gives slow, heavy steering. Typical range: 0.5–2. Above the default, a higher value changes little, because the suspension and tires cannot follow faster steering. An active behavior preset limits this value to its own range. |
| Steering scale | steerMultiplier |
— | 1 |
-1 – 1 | Scales the steer angle of this axle. 1 = the full steer angle. A value between 0 and 1 gives less steer angle than the input requests. A negative value steers the wheels in the opposite direction, which is how to configure rear-wheel steering. |
| Braked axle | isBrake |
— | false |
— | If on, the brake input applies brake torque to the two wheels of this axle. If off, the brake does not slow these wheels. Keep this setting on for every axle in most vehicles. |
| Brake torque | maxBrakeTorque |
Nm | 5000 |
min 0 | Sets the total brake torque of this axle at full brake input. Each of the two wheels gets half of this value. A higher value gives shorter stops, but the wheels lock sooner. Typical range: 3000–6000 (road cars). The handbrake also uses this value, scaled by Handbrake strength. |
| Brake share | brakeMultiplier |
— | 1 |
0 – 1 | Scales the brake torque of this axle. 0 = no braking, 1 = full Brake torque. On the rear axle, a lower value prevents rear wheel lock and spins under braking. Typical range: 0.5–0.7 (rear axle). |
| Handbrake axle | isHandbrake |
— | false |
— | If on, the handbrake applies brake torque to the two wheels of this axle and can lock them. The handbrake acts only at an input of 0.2 or more. Usually only the rear axle has the handbrake. A handbrake on the front axle makes the vehicle difficult to slide. |
| Handbrake strength | handbrakeMultiplier |
— | 1 |
0 – 1 | Sets the handbrake torque as a share of Brake torque. A higher value locks the wheels at once, which makes slides easy. Typical range: 0.6–1. |
| Powered axle | isPower |
— | false |
— | Shows if a differential sends drive torque to this axle. The differential that has this axle as its Connected axle sets the value. Read-only at runtime. |
RCCP_WheelCollider
One wheel: its geometry, suspension, tire grip, wheel model and live values. RCCP_WheelCollider stores these settings, and RCCP runs its own wheel physics.
Inspector sections, in order: Wheel & axle, Wheel alignment & size, Grip & surface, Flat tire, Other options, Wheelbase & track width, Suspension, Legacy friction curves, Suspension (solver), Contact, Tire and Live values.
Radius, Collider center, Wheel mass and the base suspension values are stored on RCCP_WheelCollider itself. Legacy friction curves shows the forward axis and the sideways axis. The two stiffness values and wheelDampingRate are read-only, because they do not control RCCP 2 wheel forces.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Spring Progression | wheelData.springProgression |
— | — |
0 – 3 | Sets the spring rate increase at full compression, from 0 to 3 (unitless). A value of 0 gives a linear spring. |
| Rebound Damping Ratio | wheelData.damperReboundRatio |
— | — |
1 – 4 | Sets rebound damping divided by bump damping, from 1 to 4 (unitless). A value of 1 gives equal damping. |
| Bump Stop Zone | wheelData.bumpStopZone |
m | — |
0 – 0.10 | Sets the bump stop zone, from 0 to 0.10 m in world space. A value of 0 disables the stop. |
| Droop Stop Zone | wheelData.droopStopZone |
m | — |
0 – 0.08 | Sets the droop stop zone, from 0 to 0.08 m in world space. A value of 0 disables the stop. |
| Manual Sprung Mass | wheelData.sprungMassOverride |
kg | — |
min 0 | Sets the sprung mass override, in kg. Use 0 for automatic mass, or a positive value for a manual mass. |
| Contact Patch Width | wheelData.contactPatchWidth |
m | — |
0.08 – 0.45 | Sets the contact patch width, from 0.08 to 0.45 m in world space. Transform scale does not change this value. |
| Max Step Height | wheelData.maxStepHeight |
m | — |
0.02 – 0.5 | Sets the maximum step height that the wheel detects, from 0.02 to 0.5 m in world space. Transform scale does not change this value. |
| Peak Grip | wheelData.tire.peakGripLongitudinal |
— | — |
0 – 3 | Sets the longitudinal peak force divided by load, from 0 to 3 (unitless), at the reference load. |
| Peak Slip Ratio | wheelData.tire.peakSlipRatio |
— | — |
0.02 – 0.60 | Sets the slip ratio at the longitudinal peak, from 0.02 to 0.60 (unitless). |
| Slide Grip | wheelData.tire.slideGripLongitudinal |
— | — |
0.25 – 0.99 | Sets the fraction of longitudinal peak grip during a full slide, from 0.25 to 0.99 (unitless). |
| Sharpness | wheelData.tire.sharpnessLongitudinal |
— | — |
0 – 0.95 | Sets the longitudinal peak sharpness, from 0 to 0.95 (unitless). A value of 0 gives a round peak. |
| Peak Grip | wheelData.tire.peakGripLateral |
— | — |
0 – 3 | Sets the lateral peak force divided by load, from 0 to 3 (unitless), at the reference load. |
| Peak Slip Angle | wheelData.tire.peakSlipAngleDeg |
° | — |
2 – 30 | Sets the slip angle at the lateral peak, from 2 to 30 degrees. |
| Slide Grip | wheelData.tire.slideGripLateral |
— | — |
0.25 – 0.99 | Sets the fraction of lateral peak grip during a full slide, from 0.25 to 0.99 (unitless). |
| Sharpness | wheelData.tire.sharpnessLateral |
— | — |
0 – 0.95 | Sets the lateral peak sharpness, from 0 to 0.95 (unitless). A value of 0 gives a round peak. |
| Load Sensitivity | wheelData.tire.loadSensitivity |
— | — |
0 – 0.35 | Sets the grip decrease as load increases, from 0 to 0.35 (unitless). A value of 0 gives constant grip. |
| Relaxation Length | wheelData.tire.relaxationLengthLateral |
m | — |
0.02 – 1.5 | Sets the rolling distance for lateral force to increase, from 0.02 to 1.5 m. |
| Rolling Resistance | wheelData.tire.rollingResistance |
— | — |
0 – 0.15 | Sets the rolling resistance coefficient at zero speed, from 0 to 0.15 (unitless). |
| Breakaway Resistance | wheelData.tire.breakawayResistance |
— | 0.07 |
0 – 0.3 | Sets the minimum resistance before a stopped tire starts rolling. Zero disables the extra threshold. The holding torque scales with wheel load and radius. |
| Longitudinal Relaxation Ratio | wheelData.tire.relaxationRatioLongitudinal |
— | — |
0.25 – 1 | Sets the longitudinal relaxation length divided by the lateral relaxation length, from 0.25 to 1 (unitless). |
| Tread Damping | wheelData.tire.treadDampingRatio |
— | — |
0 – 1.4 | Sets the tread damping ratio, from 0 to 1.4 (unitless). This value damps the contact patch spring at standstill. |
| Rolling Resistance Increase | wheelData.tire.rollingResistanceSpeed |
s^2/m^2 | — |
0 – 0.00005 | Sets the rolling resistance increase with speed squared, from 0 to 0.00005 s^2/m^2. |
| Axle | connectedAxle |
— | — |
— | The axle that this wheel belongs to. The axle sends drive torque, steering and braking to this wheel. At runtime, each axle writes itself into this field for its Left WheelCollider and Right WheelCollider. Set this field by hand only for a wheel that no axle uses. |
| Wheel model | wheelModel |
— | — |
— | The wheel model that the player sees. If Align wheel model is on, the model follows the WheelCollider in each frame. If Auto-align WheelColliders on the axle is on, the size of the model sets the wheel radius. This field is necessary: without a model, the component disables itself at start. |
| Align wheel model | alignWheels |
— | true |
— | If on, the wheel model follows the WheelCollider in each frame, so the model moves with the suspension and turns with the steering. If off, the model stays where it is, for a wheel that a script animates. |
| Simulate wheel | solverLive |
— | true |
— | If on, this wheel takes part in the wheel physics. The RCCP_WheelCollider component must also be enabled. If off, the wheel does not take part in the wheel physics, but the wheel does not detach. Scripts use the IsLive property. |
| Initial steer angle | wheelSettings.steerAngle |
° | 0 |
— | Sets the initial angle of the wheel, in degrees. A steering axle replaces this angle while the vehicle drives. The Inspector locks this field in Play Mode. |
| Rim offset | offset |
m | 0 |
-10 – 10 | Moves the wheel model sideways. A positive value moves the model inward, toward the center of the vehicle. Only the look changes, because the WheelCollider does not move. Typical range: 0–0.05. |
| Camber | camber |
° | — |
-10 – 10 | Sets inward wheel tilt. Visual only unless Physical alignment is enabled. With physical alignment, this value applies at the suspension reference position. |
| Caster | caster |
° | — |
-10 – 10 | With Physical alignment enabled, positive values tilt the steering-axis top rearward. Steering changes camber. Otherwise retains the legacy visual rotation. |
| Physical alignment | physicalAlignment |
— | true |
— | Enables physical camber, caster geometry, toe and travel-driven camber gain. Enabled by default. |
| Toe | toe |
° | 0 |
-10 – 10 | Sets toe per wheel. Positive is toe-in. Requires Physical alignment. |
| Camber gain | camberGain |
°/m | 50 |
-100 – 100 | Changes inward camber per meter of compression from Rest position. Airborne wheels use full droop. Requires Physical alignment. |
| Camber stiffness | camberStiffness |
1/rad | 1.5 |
0 – 5 | Sets camber thrust per unit load and radian. Zero keeps the geometry without thrust. Requires Physical alignment. |
| Tire width | width |
m | .25 |
min .1 | Sets the width of the skidmarks of this wheel. The value does not change grip (use Grip for grip). Typical range: 0.2–0.35. |
| Grip | grip |
— | 1 |
0 – 2 | Multiplies the grip that the road surface gives this tire. At 1, the surface decides the grip. A higher value makes the tire hold the road better (1.5 for racing tires). A lower value makes the tire slide easily (0.5 for a wet road, 0 for ice). Range: 0–2. Typical range: 0.8–1.5. |
| Force ground surface | groundIndexOverride |
— | -1 |
min -1 | Forces this wheel to use one entry of the Ground Materials list, whatever surface is under the wheel. Use this setting for a scripted ice patch or a test setup. A value above the list size uses the last entry. -1 = off (the wheel uses the real surface). For most vehicles, keep the default value. |
| Radius when flat | deflatedRadiusMultiplier |
— | .8 |
0 – 1 | Sets the radius of this wheel when the tire is flat, as a share of the normal radius. A lower value moves the rim closer to the road. Typical range: 0.7–0.85. |
| Grip when flat | deflatedStiffnessMultiplier |
— | .25 |
0 – 1 | Sets the share of grip that stays when this tire is flat. A lower value makes the vehicle pull hard to that side and slide. Typical range: 0.2–0.4. |
| Draw skidmarks | drawSkid |
— | true |
— | If on, this wheel leaves skidmarks when it slides. Disable this setting on a wheel that never touches the road, for example a spare wheel. An RCCP_Lod component changes this value when the LOD level changes. |
| Drift mode | driftMode |
— | false |
— | If on, the drift system of the Stability component changes the grip of this wheel, so the vehicle slides and stays in the slide. An active behavior preset overwrites this value. For a drift vehicle, set drift mode in the behavior preset. |
| Wheelbase | wheelbase |
m | 2.55 |
min 0.01 | Sets the distance from the front axle to the rear axle. The steering (Ackermann angles) and the ESP use this value. Measure the value on the model, because a wrong value makes tight corners feel wrong. Typical range: 2.3–3. |
| Track width | trackWidth |
m | 1.5 |
min 0.01 | Sets the distance between the left and right wheels of this axle. The steering uses this value together with Wheelbase. The ESP also uses this value. Typical range: 1.4–1.7. |
| Touching the ground | isGrounded |
— | false |
— | Shows if this wheel touches a surface. Read-only at runtime. |
| Sliding | isSkidding |
— | false |
— | Shows if the slip of this wheel is at or above the slip limit of the current surface. Skidmarks, tire smoke and the skid sound use this limit. Read-only at runtime. |
| Surface | groundIndex |
— | 0 |
min 0 | Shows the entry of the Ground Materials list that this wheel is on now. Read-only at runtime. |
| Drive torque now | motorTorque |
Nm | 0 |
— | Shows the drive torque that the axle sends to this wheel in the current physics step. The wheel applies the value and resets it to 0 in the same step. Read-only at runtime. |
| Brake torque now | brakeTorque |
Nm | 0 |
min 0 | Shows the brake torque on this wheel in the current physics step, from the brake, the handbrake, the ESP and a flat tire. The wheel applies the value and resets it to 0 in the same step. Read-only at runtime. |
| Steer input | steerInput |
— | 0 |
— | This value is not used. No code writes the value, so the value is always 0. Read SteerAngleDeg for the angle the wheel uses. Read-only at runtime. |
| Handbrake now | handbrakeInput |
— | 0 |
min 0 | Shows how strongly the handbrake acts on this wheel, from 0 to 1 (handbrake torque divided by 1000 Nm). The wheel resets the value to 0 in each physics step. Read-only at runtime. |
| Engine brake torque now | engineBrakeTorqueNm |
Nm | 0 |
min 0 | Shows the engine braking torque on this wheel in the current physics step, while the throttle is released. The wheel applies the value and resets it to 0 in the same step. Read-only at runtime. |
| Wheel speed | wheelRPM2Speed |
km/h | 0 |
— | Shows how fast this wheel turns, as a road speed. Compare the value with the vehicle speed to find a wheel that spins or locks. The value updates only while the wheel touches the ground. Read-only at runtime. |
| Tire temperature | totalWheelTemp |
°C | 20 |
min 0 | Shows the tire temperature (20–125 °C). The temperature increases while the tire slides and decreases after the slide. The tire smoke uses this value. Read-only at runtime. |
| Bump force | bumpForce |
N | — |
— | Shows how much the contact force on this wheel changed since the last physics step. Read-only at runtime. |
| Flat tire | deflated |
— | false |
— | Shows if this tire is flat. The Deflate() and Inflate() methods of this component set the value, for example from Damage Mechanics. Read-only at runtime. |
| Stability cut | cutTractionESP |
— | 0 |
0 – 1 | Shows the power cut (0 to 1) that the ESP (stability control) requests for this wheel now. The wheel scales the cut by its sideways slip. Read-only at runtime. |
| Traction control cut | cutTractionTCS |
— | 0 |
0 – 1 | Shows the power cut (0 to 1) that TCS (traction control) requests for this wheel now. The wheel scales the cut by its forward slip. Read-only at runtime. |
| ABS release | cutBrakeABS |
— | 0 |
0 – 1 | Shows the share of brake torque (0 to 1) that ABS (anti-lock brakes) releases on this wheel now. Read-only at runtime. |
| Damage pull | damageSteerBias |
° | 0 |
— | Shows the extra steer angle that damage applies to this wheel. This angle makes a damaged vehicle pull to one side, also on wheels that do not steer. Damage Mechanics writes the value. Read-only at runtime. |
| Flat tire progress | deflationT |
— | 0 |
— | Shows the progress of a flat tire, from 0 (inflated) to 1 (fully flat). A slow leak increases the value over time, and the radius and grip of the tire follow the value. Read-only at runtime. |
| Flat tire wobble | deflationWobble |
° | 0 |
— | Shows how much the flat wheel model wobbles as it turns, in degrees. Damage Mechanics sets the value (Flat tire wobble). The wobble occurs only while the tire is flat. Read-only at runtime. |
| Drift grip (forward) | driftForwardStiffnessMultiplier |
— | 1 |
— | Shows the factor that the drift system of the Stability component applies to the forward grip of this wheel now. 1 = full grip. The wheel uses the factor only while Drift mode is on. Read-only at runtime. |
| Drift grip (sideways) | driftSidewaysStiffnessMultiplier |
— | 1 |
— | Shows the factor that the drift system of the Stability component applies to the sideways grip of this wheel now. 1 = full grip. The wheel uses the factor only while Drift mode is on. Read-only at runtime. |
The Inspector shows these messages when they apply:
This wheel uses data converted at runtime. The Upgrade wheel data button saves this data for all wheels on each selected vehicle.
A legacy friction curve changed. At runtime, the changed tire axis follows the curve. Click Apply curve change to save the new tire values.
If you change a legacy friction curve, the tire values of that axis are derived again. Values you edit here stay while their curve does not change.
The Live values panel reads published solver values instead of the input accumulators listed above:
| Readout | Code name | Unit |
|---|---|---|
| Applied drive torque | AppliedMotorTorque |
Nm |
| Applied brake torque | AppliedBrakeTorque |
Nm |
| Steer angle | SteerAngleDeg |
° |
| Normal load | NormalLoadN |
N |
| Suspension force | SuspensionForceN |
N |
| Suspension compression | SuspensionTravel01 |
0 = full extension, 1 = full compression |
| Longitudinal force | LongitudinalForceN |
N |
| Lateral force | LateralForceN |
N |
| Wheel RPM | Rpm |
rpm |
| Slip ratio | SlipRatio |
— |
| Slip angle | SlipAngleDeg |
° |
| Normalized slip | NormalizedSlip |
1 = tire peak |
| Bottomed out | IsBottomed |
— |
| Wall contact | IsWallContact |
— |
Select one wheel for Live values. If curves change, Effective tire values shows the derived axes during Play Mode.
RCCP_WheelCollider wheel settings
RCCP_WheelCollider stores these geometry, suspension and friction settings in its wheelSettings field. The RCCP wheel system reads these settings and simulates the wheel. Scripts read a copy with the WheelSettings property and write changes with SetWheelSettings.
These fields show in the RCCP_WheelCollider Inspector. Radius, Collider center and Wheel mass are in Wheel alignment & size. The other fields are in Suspension and in Legacy friction curves (Forward grip and Sideways grip).
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Suspension travel | wheelSettings.suspensionDistance |
m | .2 |
min 0 | Sets how far this wheel can move up and down (the suspension travel). A higher value gives more body movement over bumps and a softer look. If the value is too small, the suspension reaches its limit on every bump. Typical range: 0.15–0.3. |
| Spring | wheelSettings.spring |
N/m | 50000 |
min 0 | Sets how strongly the suspension supports the weight of the vehicle. A higher value gives stiffer suspension and less body movement, as on a sports car. A lower value gives softer suspension, and the body leans and dips more. Typical range: 30000–70000 (road cars). If a behavior preset is active, the preset multiplies this value. |
| Damper | wheelSettings.damper |
N·s/m | 3500 |
min 0 | Sets how fast the suspension stops bouncing after a bump. A higher value stops the bounce at once and keeps the vehicle stable. A lower value lets the body float after a bump. Typical value: 5–10% of Spring (2500–4000). If a behavior preset is active, the preset multiplies this value. |
| Rest position | wheelSettings.targetPosition |
— | .4 |
0 – 1 | Sets the rest position of the wheel in its suspension travel. 0 = fully extended (bottom of the travel), 1 = fully compressed (top of the travel). A lower value leaves more travel to absorb bumps, and the body sits higher. RCCP sets new wheels to 0.4. |
| Body sway | wheelSettings.forceAppPointDistance |
— | .1 |
min 0 | Sets the height at which this wheel pushes on the body (from the base of the wheel at rest). At 0, body lean and weight shift are most realistic. At 0.25, the vehicle is most stable, with almost no lean. Move the value toward 0.25 for arcade handling, or keep it near 0 for realism. |
| Peak-grip slip | wheelSettings.forwardFriction.extremumSlip |
— | .4 |
min 0 | Sets how much the wheel must slip (spin faster or slower than the road) before the tire gives its peak grip. A higher value makes the tire take longer to grip, and wheelspin feels soft. Typical range: 0.3–0.5. If a behavior preset is active, the preset replaces this value. |
| Peak grip | wheelSettings.forwardFriction.extremumValue |
— | 1 |
min 0 | Sets the peak grip of this wheel under drive torque or braking. A higher value gives stronger acceleration and shorter stops. Typical value: 1. If a behavior preset is active, the preset replaces this value. |
| Sliding slip | wheelSettings.forwardFriction.asymptoteSlip |
— | .8 |
min 0 | Sets how much the wheel must slip before the grip settles at the Sliding grip value. Typical range: 0.6–0.9. If a behavior preset is active, the preset replaces this value. |
| Sliding grip | wheelSettings.forwardFriction.asymptoteValue |
— | .5 |
min 0 | Sets the grip that stays when the wheel spins or locks fully. With a lower value, a spinning or locked wheel gives less drive and less braking. Typical range: 0.5–0.8. If a behavior preset is active, the preset replaces this value. |
| Forward grip stiffness | wheelSettings.forwardFriction.stiffness |
— | 1 |
min 0 | RCCP 2 keeps this legacy value as configuration data. The field is read-only. The wheel system applies Grip and surface grip internally. Change Grip to adjust grip. |
| Peak-grip slip | wheelSettings.sidewaysFriction.extremumSlip |
— | .35 |
min 0 | Sets how far the tire must slide sideways before it gives its peak grip. A higher value lets the vehicle slide a small amount before the tire grips, which feels softer. Typical range: 0.25–0.4. If a behavior preset is active, the preset replaces this value. |
| Peak grip | wheelSettings.sidewaysFriction.extremumValue |
— | 1 |
min 0 | Sets the peak cornering grip of this wheel. A higher value lets the vehicle turn harder before it starts to slide. Typical value: 1. If a behavior preset is active, the preset replaces this value. |
| Sliding slip | wheelSettings.sidewaysFriction.asymptoteSlip |
— | .5 |
min 0 | Sets how far the tire must slide before the grip settles at the Sliding grip value. Typical range: 0.5–0.8. If a behavior preset is active, the preset replaces this value. |
| Sliding grip | wheelSettings.sidewaysFriction.asymptoteValue |
— | .75 |
min 0 | Sets the cornering grip that stays when the tire slides fully. A higher value gives long drifts that are easy to control. A lower value makes the rear of the vehicle lose grip suddenly. Typical range: 0.5–0.8. If a behavior preset is active, the preset replaces this value. |
| Sideways grip stiffness | wheelSettings.sidewaysFriction.stiffness |
— | 1 |
min 0 | RCCP 2 keeps this legacy value as configuration data. The field is read-only. The wheel system applies Grip and surface grip internally. Change Grip to adjust grip. |
| Radius | wheelSettings.radius |
m | .5 |
min 0 | Sets the radius of the wheel in the physics. The radius must match the wheel model, or the vehicle floats above the road or sinks into the road. If Auto-align WheelColliders on the axle is on, RCCP calculates the radius from the wheel model in Edit Mode and replaces a typed value. A flat tire decreases the radius (Radius when flat). |
| Wheel mass | wheelSettings.mass |
kg | 20 |
min 0 | Stores the authored mass of this wheel. If Use fixed WheelColliders is on, the wheel system uses the vehicle mass divided by 25 as the effective wheel mass. If off, the wheel system uses this authored mass. |
| Wheel spin damping | wheelSettings.wheelDampingRate |
— | .25 |
min 0 | RCCP 2 keeps this legacy value only for compatibility. The field is read-only. Use Rolling Resistance to control the spin resistance of the wheel. |
| Collider center | wheelSettings.center |
m | (0, 0, 0) |
— | Moves the physics center of the wheel relative to this GameObject. Keep the value at zero, because RCCP positions the wheel by moving the GameObject. |
Assists and stability
RCCP_Stability
The driver assists that keep the vehicle under control: ABS, ESP and traction control, and the helper forces of these assists.
Inspector sections, in order:
- ABS, ESP & traction control
- ESP tuning
- Engage & release timing
- What ESP expects the car to do
- Correction gains
- Sideways slide limits
- Smoothing
- Assists working now
- ESP readouts
- Drift & grounding
- Stability helpers
- Spin protection
- Steering helper tuning
- Strength by speed
- Steering assist
- High-speed safety
- Smoothing
- Smoothing
- Drift system
- Forces
- Grip
- Recovery
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| ABS (anti-lock brakes) | ABS |
— | true |
— | If on, ABS (anti-lock brakes) releases and applies the brake again when a wheel starts to lock. The vehicle can then steer under hard braking. If off, the wheels can lock and the vehicle slides straight ahead. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| ESP (stability control) | ESP |
— | true |
— | If on, ESP (stability control) brakes one wheel to straighten the vehicle when the vehicle starts to spin or slide. ESP works only at about 14 km/h and higher. If off, the player must correct every slide. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| TCS (traction control) | TCS |
— | true |
— | If on, TCS (traction control) decreases the torque of a driven wheel that spins. The vehicle then starts cleanly, without wheelspin. If off, the player must control wheelspin. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| ABS threshold | engageABSThreshold |
— | .5 |
.01 – .5 | Sets ABS onset relative to the calibrated default of 0.5. At 0.5, braking releases at 1.10 tire peak units and resumes below 1.00. At 0.25, both levels are halved. Lower values start ABS earlier. The slip signal accounts for the grip used while cornering. |
| ESP threshold | espDeadband |
°/s | 6 |
0.5 – 10 | Sets the yaw rate error at which ESP starts (see Yaw rate error). The code uses two times this value in both ESP modes. A lower value catches a slide early, and the vehicle feels safe but limited. A higher value lets the player slide first. Typical range: 4–8. |
| TCS threshold | engageTCSThreshold |
— | .35 |
.01 – .5 | Sets TCS onset relative to the calibrated default of 0.35. At 0.35, the torque cut increases from 0% at 1.10 tire peak units to 100% at 2.20. Drive returns gradually as slip decreases. At 0.175, both levels are halved. Lower values start TCS earlier. The slip signal includes cornering slip. |
| ABS strength | ABSIntensity |
— | 1 |
0 – 1 | Sets how much brake torque ABS removes from a wheel that starts to lock. At 1, ABS releases the brake fully. A lower value releases the brake less, so the wheel can still lock partly. While the player pulls the handbrake, the code decreases this strength. Typical range: 0.8–1. |
| ESP strength | ESPIntensity |
— | 1 |
0 – 1 | Sets how hard ESP brakes a wheel to straighten the vehicle. A higher value gives corrections that the player can feel, and the vehicle almost cannot spin. A lower value gives soft corrections and gives the slide to the player. While the player pulls the handbrake, the code decreases this strength. Typical range: 0.3–0.7. |
| TCS strength | TCSIntensity |
— | 1 |
0 – 1 | Scales the TCS torque reduction. At 0, TCS does not decrease the torque. At 0.25, TCS has full authority. Above 0.25, a higher value adds no authority, unless the handbrake decreases the effective strength. The handbrake decreases this strength. |
| ESP mode | espMode |
— | ESPMode.Sport |
— | Selects how ESP corrects a slide. Normal brakes a wheel and can also decrease engine power. Sport only brakes a wheel, so the vehicle keeps its drive during the correction and the player keeps more control. Both modes start at the same threshold. |
| Keep speed while ESP brakes | preserveSpeedFactor |
— | .5 |
0 – 1 | Applies a forward force that cancels the speed loss from ESP braking. 0 = ESP braking decreases the speed, 1 = the vehicle keeps its speed through the correction. Use 1 for arcade handling. This force does not give back engine power that ESP (Normal mode) or TCS cuts. While the player brakes, the code decreases this force, so stops do not become longer. |
| ESP release threshold | espDeactivationDeadband |
°/s | 2.5 |
0.1 – 5 | Sets the yaw rate error below which ESP stops a correction. Keep this value 1–3 below ESP threshold. If the two values are too close, ESP starts and stops many times per second in one corner. As with ESP threshold, the code uses two times this value. Typical range: 2–4. |
| Minimum ESP time | espMinInterventionTime |
s | 0.055 |
0 – 0.5 | Sets the minimum time that ESP stays on after a correction starts. A higher value gives one long, smooth correction. A lower value gives short corrections that can feel uneven. Typical range: 0.05–0.2. |
| Slide type hold time | espModeCommitTime |
s | 0.2 |
0 – 0.5 | Sets the minimum time that ESP keeps its decision about which end of the vehicle slides. A higher value stops ESP from changing between front and rear braking in the middle of a corner. If the slide is more than Max sideslip angle or Max sideslip rate, ESP ignores this hold. Typical range: 0.15–0.3. |
| Dashboard light threshold | espMinNoticeableBrakeTorque |
Nm | 250 |
0 – 500 | Sets the minimum ESP brake torque for the dashboard ESP light. A higher value shows the light only for large corrections, without flicker in each corner. At 0, the light shows whenever ESP working is on. Typical range: 50–150. |
| Dashboard light hold | espUIMinHoldTime |
s | 0.1 |
0 – 1 | Sets how long the dashboard ESP light stays on after the ESP brake torque decreases below Dashboard light threshold. If ESP stops working, the code clears the light at once. A higher value gives a steady light, without flicker. At 0, the code does not hold the light. Typical range: 0.1–0.3. |
| Expected understeer | understeerGradient |
— | 0.002 |
0 – 0.01 | Sets how much understeer ESP expects from this vehicle in fast corners. A higher value lets the vehicle understeer more before ESP corrects, for heavy vehicles and SUVs. A lower value holds the vehicle to the steering line, for sports cars. Typical range: 0.002–0.005. |
| Expected road grip | estimatedMu |
— | 1 |
0.1 – 1.2 | Sets the road grip that ESP expects. ESP uses this value to limit the yaw rate that it expects. Use 0.9–1 for dry asphalt, 0.5–0.7 for wet roads and 0.2–0.4 for snow or ice. Set this value to match the main surface of the track. |
| Yaw rate lag | yawRateTimeConstant |
s | 0.25 |
0.05 – 0.3 | Sets how long ESP gives the vehicle to follow the steering before ESP treats the difference as a slide. A higher value makes ESP ignore fast steering movements. A lower value makes ESP react to each steering input. Typical range: 0.1–0.3. |
| Correction strength | espPGain |
— | 4 |
0.5 – 10 | Sets how strongly ESP corrects the yaw rate error. A higher value gives a firm, immediate correction. A lower value gives a gentle correction that can miss a fast slide. The code multiplies this value by the vehicle mass, so one value works on light and heavy vehicles. Typical range: 3–6. |
| Correction damping | espDGain |
— | 0.3 |
0 – 2 | Adds correction for how fast the yaw rate error increases. This correction catches a sudden rear slide before the slide becomes a spin. A higher value corrects earlier but can overcorrect. The code multiplies this value by the vehicle mass. Typical range: 0.2–0.5. |
| Max sideslip angle | sideslipMaxAngle |
° | 10 |
3 – 20 | Sets the sideslip angle at which ESP treats the slide as the start of a spin. Sideslip is the angle between the direction the vehicle points and the direction it travels. Above this angle, ESP starts even below ESP threshold. A lower value starts ESP while the vehicle is almost straight. Typical range: 6–12 on dry asphalt. |
| Max sideslip rate | sideslipMaxRate |
°/s | 15 |
5 – 30 | Sets how fast the sideslip angle can increase before ESP treats the slide as a spin. Above this rate, ESP starts even below ESP threshold. A lower value catches sudden slides earlier, before the angle is large. Typical range: 10–20. |
| ESP brake smoothing | espBrakeSmoothing |
— | 10 |
1 – 20 | Sets how fast the ESP brake torque can increase and decrease. A higher value gives sharp, immediate corrections. A lower value gives soft corrections that the player almost does not feel. Typical range: 6–12. |
| ABS working | ABSEngaged |
— | false |
— | This value is on while ABS releases the brake of at least one wheel. Read-only at runtime. |
| ESP working | ESPEngaged |
— | false |
— | This value is on while ESP corrects, also for corrections that are too small to feel. Read-only at runtime. |
| ESP dashboard light | ESPIndicatorEngaged |
— | false |
— | This value is on only while the ESP correction is large enough for the dashboard ESP light. Dashboard light threshold and Dashboard light hold control this value. The HUD reads this value. Read-only at runtime. |
| TCS working | TCSEngaged |
— | false |
— | This value is on while TCS decreases the torque of a driven wheel because the wheel spins. Read-only at runtime. |
| Yaw rate now | debugYawActualDegS |
°/s | — |
— | Shows how fast the vehicle turns now (yaw rate). A positive value means a turn to the right. Read-only at runtime. |
| Yaw rate wanted | debugYawRefDegS |
°/s | — |
— | Shows the yaw rate that ESP expects for the current steering and speed. Read-only at runtime. |
| Yaw rate error | debugYawErrorDegS |
°/s | — |
— | Shows Yaw rate now minus Yaw rate wanted. ESP corrects this error. A large error that increases means that the vehicle slides. Read-only at runtime. |
| Sideslip angle | debugSideslipAngleDeg |
° | — |
— | Shows the angle between the direction the vehicle points and the direction it travels. The value is 0 when the vehicle drives straight, and large when the vehicle slides sideways. A positive value means the vehicle points to the left of its travel direction. Read-only at runtime. |
| Sideslip rate | debugSideslipRateDegS |
°/s | — |
— | Shows how fast the sideslip angle changes. A large value means that a spin starts. Read-only at runtime. |
| Wheel ESP is braking | debugActiveWheelIndex |
— | -1 |
— | Shows the wheel that ESP brakes now: 0 front left, 1 front right, 2 rear left, 3 rear right. The value is -1 if ESP brakes no wheel. Read-only at runtime. |
| Rear is sliding | debugIsOversteer |
— | — |
— | This value is on if ESP detects oversteer (the rear slides out). If off while ESP works, ESP detects understeer (the front pushes straight ahead). Read-only at runtime. |
| Drift amount | driftIntensity |
— | 0 |
0 – 1 | Shows how much the vehicle drifts now, from 0 to 1. The code calculates this value from the sideways slip of the rear tires. The drift forces use this value. The value is 0 if the behavior preset does not use drift mode. Read-only at runtime. |
| Wheels on the ground | groundedFactor |
— | 0 |
0 – 1 | Shows a value that increases from 0 to 1 in 2 seconds while a wheel touches the ground. The value resets to 0 in the air and is 0.35 while the handbrake input is more than 0.5. The drift forces and the drift angle limiter use this value. Read-only at runtime. |
| Steering helper | steeringHelper |
— | true |
— | If on, the code applies forces at the wheels that decrease sideways slip and help the vehicle follow the steering. The vehicle feels stable and easy to place. If off, only the tires control the direction of the vehicle. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Traction helper | tractionHelper |
— | true |
— | If on, the code decreases the sideways grip of the front tires while the vehicle slides. A spin then changes back into a slide and does not become worse. If off, the vehicle gets no help to recover. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Angular drag helper | angularDragHelper |
— | false |
— | If on, the code increases the angular drag of the Rigidbody as the speed increases. This stops unstable spins at high speed. If off, the vehicle turns as freely at 200 km/h as at 20 km/h. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Drift angle limiter | driftAngleLimiter |
— | false |
— | If on and the drift angle is more than Max drift angle, the code slows the rotation of the vehicle. This stops a full spin. If off, nothing stops a spin. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Max drift angle | maxDriftAngle |
° | 30 |
0 – 90 | Sets the drift angle at which the limiter starts to slow the rotation of the vehicle. A higher value allows long, wide slides. A lower value keeps the vehicle almost straight. Typical range: 25–40 for a drift vehicle. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Drift correction strength | driftAngleCorrectionFactor |
— | 2 |
0 – 10 | Sets how strongly the limiter slows the rotation above Max drift angle. A higher value stops the slide sharply. A lower value stops the slide gently. Typical range: 2–4. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Steering helper strength | steerHelperStrength |
— | .025 |
0 – 1 | Sets how strongly the steering helper pushes the vehicle toward the direction it points. A higher value makes the vehicle grip the road and forgive errors. A lower value feels more natural and lets the vehicle slide more. Typical range: 0.02–0.1. Small values have a large effect. The active behavior preset limits this value to the range of the preset. |
| Strength when slow | minSpeedHelperStrength |
— | .2 |
0 – 1 | Sets the share of the steering helper strength that applies at 0 km/h. A lower value makes the vehicle agile and easy to turn at low speed. The share changes to Strength when fast at Full strength speed. Typical range: 0.1–0.3. |
| Strength when fast | maxSpeedHelperStrength |
— | 1 |
0 – 1 | Sets the share of the steering helper strength that applies at Full strength speed and higher. At 1, the helper uses its full strength, which keeps the vehicle steady on a highway. A lower value keeps the vehicle agile but easier to spin. Typical range: 0.8–1. |
| Full strength speed | fullHelperSpeed |
km/h | 80 |
0 – 200 | Sets the speed at which the steering helper reaches Strength when fast. Below this speed, the strength decreases toward Strength when slow. A lower value makes the vehicle stable at a lower speed. Typical range: 60–100. |
| Minimum steer angle | minSteerAngleForAssist |
° | 1 |
0.1 – 5 | Sets the minimum steer angle for the steering assist. Below this angle, the assist applies no force, so the assist does not pull the vehicle while it drives straight. Typical range: 0.5–2. |
| Assist starts at | steerAssistMinSpeed |
km/h | 10 |
5 – 30 | Sets the speed below which the steering assist applies no force. Between this speed and Assist full at, the assist increases to full strength. Typical range: 5–15. |
| Assist full at | steerAssistMaxSpeed |
km/h | 60 |
30 – 120 | Sets the speed at which the steering assist reaches full strength. Between Assist starts at and this speed, the assist increases gradually. Typical range: 50–80. |
| High-speed threshold | highSpeedThreshold |
km/h | 60 |
40 – 100 | Sets the speed above which the code decreases the steering helper when a wheel leaves the ground. This stops the helper from flipping the vehicle over a crest or a bump. Typical range: 50–80. |
| High-speed fade range | highSpeedSafetyRange |
km/h | 80 |
50 – 150 | Sets how many km/h above High-speed threshold the steering helper needs to decrease to 40 percent of its strength. A higher value gives a gradual fade that the player does not notice. Typical range: 60–100. |
| Steering helper smoothing | steerHelperForceSmoothing |
— | 15 |
1 – 20 | Sets how fast the forces of the steering helper can change. A higher value gives a sharp, immediate response. A lower value gives a soft response, and the vehicle needs a moment to settle. Typical range: 10–20. |
| Traction helper strength | tractionHelperStrength |
— | .05 |
0 – 1 | Sets how much the traction helper decreases the front sideways grip while the vehicle slides. A higher value releases the front sooner, so the vehicle straightens and does not spin. A lower value keeps more front grip. Typical range: 0.03–0.15. The active behavior preset limits this value to the range of the preset. |
| Angular drag helper strength | angularDragHelperStrength |
— | .075 |
0 – 1 | Sets how much the angular drag increases with speed. A higher value makes the vehicle stable but slow to start a turn. A lower value makes the vehicle sharp and unstable. Typical range: 0.05–0.15. The active behavior preset limits this value to the range of the preset. |
| Drift force smoothing | driftForceSmoothing |
— | 8 |
1 – 20 | Sets how fast the drift forces can increase and decrease. A higher value makes the vehicle enter and exit a slide suddenly. A lower value makes slides start and stop smoothly. Typical range: 6–12. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Yaw torque multiplier | driftYawTorqueMultiplier |
— | 0.7 |
— | Sets the strength of the yaw torque that the drift code adds from the steering and the throttle. A higher value turns the rear out fast and makes slides easy to start. Typical range: 0.5–1. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Forward push | driftForwardForceMultiplier |
— | 1500 |
— | Sets the forward push that the drift code applies while the vehicle slides, so the vehicle does not lose all its speed. A higher value gives long slides that keep their speed. Typical range: 1000–2000. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Sideways push | driftSidewaysForceMultiplier |
— | 1750 |
— | Sets the sideways push that the drift code applies while the vehicle slides. A higher value gives wide slides. A lower value gives tight slides that stay on the line. Typical range: 1000–2000. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Drift starts at | driftMinSpeed |
km/h | 20 |
— | Sets the speed below which the drift code applies no force, so the vehicle does not slide at low speed. Typical range: 15–30. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Drift full force at | driftFullForceSpeed |
km/h | 80 |
— | Sets the speed at which the drift forces reach full strength. Between Drift starts at and this speed, the forces increase gradually. Typical range: 60–100. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Throttle yaw factor | driftThrottleYawFactor |
— | 0.55 |
0 – 1 | Sets how much the throttle alone turns the rear of the vehicle out in a slide. A higher value lets the player hold and steer a slide with the throttle, without the steering. Typical range: 0.4–0.7. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Rear sideways grip | driftRearSidewaysStiffnessMin |
— | 0.5 |
0.1 – 1 | Sets the sideways grip that the rear tires keep at the full drift amount. A lower value lets the rear slide easily, so the vehicle stays sideways. At 1, the rear tires lose no grip. Typical range: 0.4–0.7. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Rear forward grip | driftRearForwardStiffnessMin |
— | 0.9 |
0.5 – 1 | Sets the forward grip that the rear tires keep at the full drift amount. A lower value makes the vehicle lose more speed in a slide. Typical range: 0.8–1. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Front sideways grip | driftFrontSidewaysStiffnessMin |
— | 0.7 |
0.5 – 1.2 | Sets the sideways grip target of the front tires in a drift. At the full drift amount, the front grip is halfway between 1 and this value. A higher value lets the player steer the slide. Typical range: 0.6–0.9. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Grip loss speed | driftFrictionResponseSpeed |
— | 12 |
— | Sets how fast the tire grip changes while the drift amount is more than 0.1. A higher value makes the vehicle lose grip suddenly. A lower value makes the vehicle slide gradually. Typical range: 8–15. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Grip recovery speed | driftFrictionRecoverySpeed |
— | 10 |
— | Sets how fast the tire grip returns when the drift amount decreases to 0.1 or less. A higher value makes the vehicle grip again at once. A lower value keeps the vehicle loose for a moment. Typical range: 8–15. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Max angular velocity | driftMaxAngularVelocity |
°/s | 65 |
— | Sets the maximum rotation speed of the vehicle while the vehicle drifts, so a slide cannot become an endless spin. At 0, there is no limit. Typical range: 50–90. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Counter-steer recovery | driftCounterSteerRecoveryBoost |
— | 2 |
— | Multiplies the yaw torque from the steering while the player counter-steers (steers against the slide). A higher value makes slides easy to save. A lower value needs exact timing to catch a slide. Typical range: 1.5–3. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Momentum force | driftMomentumMaintenanceForce |
— | 800 |
— | Sets a forward push that keeps the vehicle moving through a slide, so the vehicle does not stop sideways. The push applies only while the player presses the throttle and increases with the drift amount. Typical range: 500–1200. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
RCCP_Input
Takes the player's steering and pedals, shapes them, and hands them to the rest of the vehicle.
Inspector sections, in order: Where the inputs come from, Steering feel, Driver aids, When the player cannot drive, Deadzones.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Inputs come from a script | overridePlayerInputs |
— | false |
— | If on, the vehicle ignores the keyboard, gamepad and touch controls. A script drives the vehicle through OverrideInputs() or AcquireControl(). The AI and the replay set this value automatically. Keep this value off for a player vehicle. |
| Skip all input shaping | overrideExternalInputs |
— | false |
— | If on, the code skips the steering curve, counter steering, auto reverse, pedal swap and throttle cut on shifts. The deadzones, cruise control and hill start assist still apply. The steering limit of the wheels still applies. To remove that limit, disable Steering limiter. AcquireControl() sets this value by default. Keep this value off for a player vehicle. |
| Steering curve by speed | steeringCurve |
— | — |
— | Sets the share of the full steer angle at each speed (X in km/h, Y from 0 to 1). A curve that decreases fast keeps the vehicle calm on a highway. A flat curve keeps the vehicle sensitive at speed. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Steering limiter | steeringLimiter |
— | true |
— | If on, the code limits steering while grounded wheels on a steering axle slide sideways. The limit starts above 4 m/s (14.4 km/h) forward wheel speed and acts in full from 8 m/s (28.8 km/h). If off, this limit does not apply. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Steering limiter multiplier | steeringLimiterMultiplier |
— | 1 |
0 – 1 | Sets the steering limiter strength. 0 removes the correction, 0.5 applies half, and 1 applies the full correction. The default is 1. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Grip steering limit | gripSteeringLimit |
— | true |
— | If on, the code limits the steer angle at speed to the angle that reaches the grip limit of the front tires. The limit comes from the wheelbase, the front tire grip and the speed. A full steer input then does not make the rear slide at high speed. The limit acts only when it is smaller than the Steering curve angle, usually above 30 km/h. It has no effect while the AI drives or while a drift preset is active. The behavior preset does not overwrite this value. |
| Grip steering margin | gripSteeringMargin |
° | 1 |
0 – 5 | Sets the extra steer angle, in degrees, that Grip steering limit allows above the calculated grip-limit angle. A higher value gives a sharper turn-in at speed but more yaw overshoot. Typical range: 0.5–1.5. The default is 1. |
| Counter steering | counterSteering |
— | true |
— | If on, the code steers the front wheels slightly into a slide (counter-steering), from the sideways slip of the front tires. Slides are then much easier to hold on a gamepad. If off, the player makes every correction. The active behavior preset overwrites this value when the preset is applied. Set this value on the preset. |
| Counter steer strength | counterSteerFactor |
— | .5 |
0 – 1 | Sets how much of the slide correction the code makes for the player. A higher value makes slides almost correct themselves. A lower value gives most of the work to the player. Typical range: 0.2–0.5. The active behavior preset limits this value to the range of the preset. |
| Auto reverse when braking at rest | autoReverse |
— | true |
— | If on, the gearbox selects reverse when the vehicle is at 3 km/h or less and the brake input is 0.75 or more. One pedal then brakes and reverses. If off, the player must select reverse. This setting works only if Transmission is Automatic. |
| Swap pedals in reverse | inverseThrottleBrakeOnReverse |
— | true |
— | If on, the throttle and brake swap in reverse. The pedal that moves the vehicle forward then moves the vehicle backward. This feels natural on a gamepad. If off, the pedals keep their usual function. This setting works only if Transmission is Automatic. |
| Cut throttle while shifting | cutThrottleWhenShifting |
— | true |
— | If on, the code sets the throttle to 0 during a gear change, so the vehicle does not jerk. If off, the throttle does not change and the shift is rougher. If Auto throttle on shifts is on in the Gearbox, the gearbox sets the throttle during the shift. |
| Hill start assist | hillStartAssist |
— | false |
— | If on, the code holds the brake when the vehicle stops on a slope. The code releases the brake when the throttle reaches Release throttle, so the vehicle does not roll back. If off, the vehicle can roll back. This setting works only in forward gears. |
| Minimum slope | hillStartMinSlope |
° | 2 |
.5 – 20 | Sets the minimum slope angle for the hill hold. A lower value holds the vehicle also on a gentle slope. Typical range: 2–5. |
| Standstill speed | hillStartSpeedThreshold |
km/h | 1 |
min 0 | Sets the speed below which the vehicle counts as stopped for the hill hold. A higher value starts the hold while the vehicle still moves at low speed. Typical range: 0.5–2. |
| Release throttle | hillStartReleaseThrottle |
— | .25 |
.05 – 1 | Sets the throttle input that releases the hill hold. A higher value makes the vehicle start with more power and no roll-back. A lower value releases the hold at a light touch of the throttle. Typical range: 0.15–0.35. |
| Cruise control | cruiseControl |
— | false |
— | If on, the code adds throttle to keep Cruise speed. Cruise control adds throttle only and does not brake. If the player brakes, the code sets this value to off. This setting works only in forward gears. |
| Cruise speed | cruiseTargetSpeed |
km/h | 80 |
min 10 | Sets the speed that cruise control keeps. A script can change this value while the vehicle drives, for example with SetCruiseControl(). |
| Cruise throttle gain | cruiseThrottleGain |
— | .25 |
.01 – 1 | Sets the throttle that cruise control adds for each km/h below Cruise speed. A higher value recovers the speed fast on a hill, but can overshoot. Typical range: 0.15–0.4. |
| Apply brake | applyBrakeOnDisable |
— | false |
— | If on, the code applies full brake while the player cannot drive this vehicle. The vehicle then stops where it is. If off, the vehicle rolls to a stop. |
| Apply handbrake | applyHandBrakeOnDisable |
— | true |
— | If on, the code applies full handbrake while the player cannot drive this vehicle. The vehicle then stays in place, also on a slope. If off, the vehicle can roll. |
| Steering deadzone | steeringDeadzone |
— | 0.05 |
0 – 0.2 | Sets how far the steering input must move from center before the vehicle steers. The code scales the input above the deadzone to the full range. A higher value stops a worn stick from pulling the vehicle to one side, but small corrections are lost. Typical range: 0.03–0.1. |
| Throttle deadzone | throttleDeadzone |
— | 0.05 |
0 – 0.2 | Sets how far the throttle input must move before the vehicle responds. A higher value stops a resting trigger from moving the vehicle forward. Typical range: 0.03–0.1. |
| Brake deadzone | brakeDeadzone |
— | 0.05 |
0 – 0.2 | Sets how far the brake input must move before the brakes apply. A higher value stops a resting trigger from applying the brakes. Typical range: 0.03–0.1. |
| Handbrake deadzone | handbrakeDeadzone |
— | 0.05 |
0 – 0.2 | Sets how far the handbrake input must move before the handbrake applies. Typical range: 0.03–0.1. |
| Clutch deadzone | clutchDeadzone |
— | 0.05 |
0 – 0.2 | Sets how far the clutch control must move before the clutch input starts to increase. Typical range: 0.03–0.1. |
| NOS deadzone | nosDeadzone |
— | 0.05 |
0 – 0.2 | Sets how far the NOS (nitrous) control must move before the code reads a NOS input. Typical range: 0.03–0.1. |
| Raw inputs | inputs |
— | — |
— | Shows the inputs as they arrive, before the deadzones and the steering settings. A script that drives the vehicle writes these values. The deadzones also apply to inputs from a script. Read-only at runtime. |
| Throttle now | throttleInput |
— | 0 |
0 – 1 | Shows the throttle input now, from 0 to 1, after the deadzone and the driver aids. Read-only at runtime. |
| Steering now | steerInput |
— | 0 |
-1 – 1 | Shows the steering input now, after the deadzone, counter steering and steering curve. The range is -1 (full left) to 1 (full right). Read-only at runtime. |
| Brake now | brakeInput |
— | 0 |
0 – 1 | Shows the brake input now, from 0 to 1, after the deadzone and the driver aids. Read-only at runtime. |
| Handbrake now | handbrakeInput |
— | 0 |
0 – 1 | Shows the handbrake input now, from 0 to 1, after the deadzone. Read-only at runtime. |
| Clutch now | clutchInput |
— | 0 |
0 – 1 | Shows the clutch input now, after the deadzone. 0 = fully released, 1 = fully pressed. Read-only at runtime. |
| NOS now | nosInput |
— | 0 |
0 – 1 | Shows the NOS (nitrous) input now, from 0 to 1, after the deadzone. Read-only at runtime. |
RCCP_CarController
The vehicle itself. Add the parts it needs with the buttons above, then choose who drives it and which behavior preset shapes it.
Inspector sections, in order: Who drives this car, Behavior preset, Collision events, Engine speed, Gearbox & final drive, Road & wheel speed, Torque through the drivetrain, Axles, Driving state, Inputs reaching the vehicle, Inputs from the player, Lights.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Ignore behavior presets | ineffectiveBehavior |
— | false |
— | If on, the code applies no behavior preset to this vehicle, so every value stays as set in the Inspector. Use this setting for an AI or traffic vehicle with manual tuning. If off, the code applies the vehicle-specific preset, or the global preset if Apply a behavior preset is on in RCCP Settings. |
| Player can drive this car | canControl |
— | true |
— | If on, the vehicle accepts the keyboard, gamepad and touch controls. If off, the code sets all inputs to zero, also inputs from a script or the AI. Apply brake and Apply handbrake on the Input component select if the vehicle then brakes. Use this setting to take control away during a cut-scene or a menu. |
| Driven by a script or AI | externalControl |
— | false |
— | If on, an AI, a scripted path or a replay drives the vehicle. The vehicle then ignores the player controls and keys. The AI sets this value automatically. Keep this value off for a player vehicle. |
| Use a vehicle-specific preset | useCustomBehavior |
— | false |
— | If on, this vehicle uses the behavior preset selected in Preset, and not the preset selected in RCCP Settings. One vehicle can then drift while the others race. This preset applies even if Apply a behavior preset is off. If off, the vehicle uses the preset selected in RCCP Settings. |
| Preset | customBehaviorIndex |
— | -1 |
-1 – 20 | Selects the behavior preset for this vehicle from the presets in RCCP Settings. This value works only if Use a vehicle-specific preset is on. |
| Minimum impact force | impactMinImpulse |
— | 1 |
min 0 | Sets the minimum collision impulse (N·s) that raises the RCCP_Events.OnRCCPImpact event for game code. A higher value counts only large crashes. A lower value also counts scrapes and small bumps. Typical range: 1–5. |
| Impact cooldown | impactCooldown |
s | 0.5 |
min 0 | Sets the minimum time between two impact events on this vehicle. A scrape along a wall then does not raise hundreds of events. A higher value gives one event per crash. Typical range: 0.3–1. |
| Engine RPM | engineRPM |
rpm | 0 |
— | Shows the engine speed now, copied from the Engine component. Read-only at runtime. |
| Idle RPM | minEngineRPM |
rpm | 800 |
— | Shows Idle RPM from the Engine component. Change the value on the Engine component. Read-only at runtime. |
| Max RPM | maxEngineRPM |
rpm | 8000 |
— | Shows Max RPM from the Engine component. Change the value on the Engine component. Read-only at runtime. |
| Current gear | currentGear |
— | 0 |
— | Shows the forward gear that is engaged now (0 for first gear). Read-only at runtime. |
| Current gear ratio | currentGearRatio |
— | 1 |
— | Shows the ratio of the gear that is engaged now. The value is negative in reverse. Read-only at runtime. |
| Top gear ratio | lastGearRatio |
— | 1 |
— | Shows the ratio of the highest forward gear. The code calculates Top speed in top gear from this ratio. Read-only at runtime. |
| Differential ratio | differentialRatio |
— | 1 |
— | Shows the final drive ratio, as the average of all active differentials. Read-only at runtime. |
| Speed | speed |
km/h | 0 |
— | Shows the speed of the vehicle along its forward direction. The value is negative while the vehicle moves backward. Read-only at runtime. |
| Speed from wheel RPM | wheelRPM2Speed |
km/h | 0 |
— | Shows the speed of the driven wheels as road speed. The value is always positive. If the value is higher than Speed, the driven wheels spin. If the value is lower, the driven wheels lock. Read-only at runtime. |
| Engine RPM from the wheels | tractionWheelRPM2EngineRPM |
rpm | 0 |
— | Shows the engine RPM that the driven wheels give through the current gear and the final drive. The value decreases to 0 if the clutch is pressed or no gear is engaged. Read-only at runtime. |
| Speed this gear is asking for | targetWheelSpeedForCurrentGear |
km/h | 0 |
— | Shows the road speed that the current gear gives at the current engine RPM, with no wheelspin. Read-only at runtime. |
| Top speed in top gear | maximumSpeed |
km/h | 0 |
— | Shows the speed in the highest gear at Max RPM. The code calculates this value from the gear ratios, the final drive and the wheel size. Set the target top speed with Top speed on the Engine component. Read-only at runtime. |
| Engine torque | producedEngineTorque |
Nm | 0 |
— | Shows the torque that the engine makes now. Read-only at runtime. |
| Gearbox torque | producedGearboxTorque |
Nm | 0 |
— | Shows the torque that leaves the gearbox, after the current gear multiplies the torque. Read-only at runtime. |
| Differential torque | producedDifferentialTorque |
Nm | 0 |
— | Shows the torque that leaves the differentials toward the wheels, as the average of all active differentials. Read-only at runtime. |
| Powered axles | _poweredAxles |
— | — |
— | Lists the axles that receive engine power. The drive type of each differential sets Powered axle on the axles. Read-only at runtime. |
| Braked axles | _brakedAxles |
— | — |
— | Lists the axles that the brake acts on (Braked axle on). Read-only at runtime. |
| Steered axles | _steeredAxles |
— | — |
— | Lists the axles that turn with the steering (Steered axle on). Read-only at runtime. |
| Handbrake axles | _handbrakedAxles |
— | — |
— | Lists the axles that the handbrake acts on (Handbrake axle on). Read-only at runtime. |
| Direction | direction |
— | 1 |
— | Shows -1 while a reverse gear is engaged, and 1 in all other gear states. Read-only at runtime. |
| Shifting | shiftingNow |
— | false |
— | This value is on during a gear change. During the change, the throttle can be cut. Read-only at runtime. |
| Reversing | reversingNow |
— | false |
— | This value is on while a reverse gear is engaged. Read-only at runtime. |
| Steering angle | steerAngle |
° | 0 |
— | Shows the steer angle of the front wheels now. A positive value means the wheels point to the right. Read-only at runtime. |
| Engine starting | engineStarting |
— | false |
— | This value is on for a short time while the engine starts. Read-only at runtime. |
| Engine running | engineRunning |
— | false |
— | This value is on while the engine runs and can make power. Read-only at runtime. |
| In neutral | NGearNow |
— | false |
— | This value is on while the gearbox is in neutral, so no power reaches the wheels. The gearbox is also in neutral during a gear change. Read-only at runtime. |
| Throttle at the wheels | throttleInput_V |
— | 0 |
— | Shows the throttle that reached the driven axles, as the average of the powered axles. Read-only at runtime. |
| Brake at the wheels | brakeInput_V |
— | 0 |
— | Shows the brake that reached the braked axles, from the brake torque of each axle. This value includes Brake share and the park brake. This value is not the pedal position. Read-only at runtime. |
| Steering at the wheels | steerInput_V |
— | 0 |
— | Shows how far the steered wheels turn now, as a share of their maximum steer angle. This value decreases with speed because of the steering curve. For game logic, read Raw inputs on the Input component. Read-only at runtime. |
| Handbrake at the wheels | handbrakeInput_V |
— | 0 |
— | Shows the handbrake that reached the handbrake axles, after Handbrake strength and the park brake. Read-only at runtime. |
| Clutch at the gearbox | clutchInput_V |
— | 0 |
— | Shows the clutch position from the Clutch component. 0 = fully released, 1 = fully pressed. Read-only at runtime. |
| NOS in use | nosInput_V |
— | 0 |
— | Shows 1 while NOS (nitrous) is in use, and 0 at all other times. Read-only at runtime. |
| Fuel reaching the engine | fuelInput_V |
— | 0 |
— | Shows the fuel input that the engine gets now, with the extra fuel that keeps the engine at idle. Read-only at runtime. |
| Gear engagement | gearInput_V |
— | 1 |
— | Shows 1 while a gear drives the wheels. Shows 0 in neutral, in park and during a gear change. Read-only at runtime. |
| Throttle from the player | throttleInput_P |
— | 0 |
— | Shows the throttle input from the player, after the deadzone and the driver aids, before the vehicle uses the input. Read-only at runtime. |
| Brake from the player | brakeInput_P |
— | 0 |
— | Shows the brake input from the player, after the deadzone and the driver aids. Read-only at runtime. |
| Steering from the player | steerInput_P |
— | 0 |
— | Shows the steering input from the player, after the deadzone and the steering settings. The range is -1 (full left) to 1 (full right). This value decreases with speed because of the steering curve. For game logic, read Raw inputs on the Input component. Read-only at runtime. |
| Handbrake from the player | handbrakeInput_P |
— | 0 |
— | Shows the handbrake input from the player, after the deadzone. Read-only at runtime. |
| Clutch from the player | clutchInput_P |
— | 0 |
— | Shows the clutch input from the player, after the deadzone. Read-only at runtime. |
| Nitrous from the player | nosInput_P |
— | 0 |
— | Shows the NOS (nitrous) input from the player, after the deadzone. NOS can start only at 0.5 or more. Read-only at runtime. |
| Low beam on | lowBeamLights |
— | false |
— | This value is on while the low beam headlights are lit. Read-only at runtime. |
| High beam on | highBeamLights |
— | false |
— | This value is on while the high beam headlights are lit. Read-only at runtime. |
| Left indicator on | indicatorsLeftLights |
— | false |
— | This value is on while the left indicator flashes. Read-only at runtime. |
| Right indicator on | indicatorsRightLights |
— | false |
— | This value is on while the right indicator flashes. Read-only at runtime. |
| Hazards on | indicatorsAllLights |
— | false |
— | This value is on while the hazard lights flash. Read-only at runtime. |
Looks and sound
RCCP_Audio
Every sound that the vehicle makes: the engine layers, and one block for each sound effect, from the starter motor to a flat tire.
Inspector sections, in order: Output, How the engine layers blend, Smoothing & variation, Crash loudness, Engine sounds, Other sounds.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Mixer group | audioMixer |
— | — |
— | The AudioMixer group for the sounds of this vehicle. If this group is the Audio mixer group in RCCP Settings, each sound plays through its category group (engine, tires, impacts or other). If this is a different group, all sounds of this vehicle play through it. If empty, the sounds play directly to the AudioListener, with no mixer. |
| Engine blend | engineBlendMode |
— | EngineBlendMode.Legacy |
— | Sets how the engine layers mix. Legacy: each layer fades on its own curve, as in older RCCP versions. Equal power: the two nearest layers crossfade at constant loudness, each pitched from its Ref to stay in tune. If a layer has no On clip, a Ref of 1 or less, or a shared Ref, the code uses Legacy. |
| Load source | engineLoadSource |
— | EngineLoadSource.Throttle |
— | Selects what decides the mix between the On clip and the Off clip of each layer. Throttle: the throttle input, as in older RCCP versions. Torque: the torque that the engine produces. With Torque, driving uphill sounds loaded, coasting sounds empty, and a cold, damaged or boosted engine sounds different. |
| Torque blend | engineLoadBlend |
— | 1 |
0 – 1 | Sets how much of the Torque load replaces the throttle input. Used only if Load source is Torque. 0 = throttle input only, 1 = torque only. Typical value: 1. |
| Effect fade speed | effectVolumeSmoothing |
— | 0 |
0 – 80 | Sets how fast the looping effects change volume: turbo, reverse whine, brake squeal, flat tire, nitrous and wind. A higher value changes the volume faster. 0 = the volume changes instantly, as in older RCCP versions, which can cause clicks. Typical value: 25. |
| Pitch variation | pitchRandomness |
— | 0 |
0 – 0.3 | Sets a random pitch change for each crash, gear change and RPM limiter sound, so repeated clips sound different. A higher value gives more variation. 0 = no variation, as in older RCCP versions. Typical value: 0.08. |
| Crash volume by mass | normalizeCrashByMass |
— | false |
— | If on, the crash volume follows the impact speed change (impulse divided by vehicle mass), so light and heavy vehicles both sound correct. If off, the crash volume follows the raw impulse. A heavy vehicle then reaches full volume on a light hit, and all harder hits sound the same. |
| Full-volume crash | crashMaxVolumeReference |
— | 20000 |
min 0.01 | Sets the impact that plays crash sounds at full volume. Harder impacts play at the same volume. If Crash volume by mass is off, the unit is impulse in N·s (typical value: 20000). If on, the unit is impact speed change in m/s (typical value: 14.3). The code does not convert this value when the setting changes. Change both together. |
| Engine layers | engineSounds |
— | — |
— | The engine recordings. Each layer covers one part of the RPM range, usually Low, Med, High and Idle, with its own RPM window, volume and Ref. Layers can be added and removed, but not reordered. |
| Starter | engineStart |
— | — |
— | The sound of the starter motor. The code plays this sound once each time the engine starts. |
| Gear change | gearboxSound |
— | — |
— | The mechanical sound that plays on each gear change, including a shift into reverse or neutral. |
| Crash | crashSound |
— | — |
— | The impact sounds that play when the vehicle hits an object. Each sound plays at the contact point of the impact. |
| Reverse whine | reverseSound |
— | — |
— | The whine that plays while the vehicle moves backward. The pitch and the volume increase with the reverse speed. |
| Wind | windSound |
— | — |
— | The wind noise. The volume increases with the speed of the vehicle. |
| Brake squeal | brakeSound |
— | — |
— | The squeal that plays when the front brakes are applied while the front wheels turn. The volume increases with the front brake torque. |
| Nitrous | nosSound |
— | — |
— | The hiss that plays while the nitrous is in use. |
| Turbo | turboSound |
— | — |
— | The turbo whine. The volume and the pitch follow the boost pressure. The code plays this sound only if the engine is Turbocharged. |
| Backfire pop | exhaustFlameSound |
— | — |
— | The exhaust pop that plays with a backfire flame. If an exhaust tip has Play a pop sound on, the tip plays the pop and this sound does not play. |
| Blow-off valve | blowSound |
— | — |
— | The sound that plays when the throttle closes while the turbo has boost pressure. |
| RPM limiter | limiterSound |
— | — |
— | The stutter that plays while the rev limiter cuts the engine fuel. |
| Tire blowout | wheelDeflateSound |
— | — |
— | The burst that plays when a tire deflates. |
| Tire repair | wheelInflateSound |
— | — |
— | The sound that plays when a flat tire is inflated again (repaired). |
| Flat tire roll | wheelFlatSound |
— | — |
— | The flapping loop that plays while the vehicle drives on a flat tire. |
RCCP_Audio+EngineSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| On | audioClipOn |
— | — |
— | The clip that this layer plays while the engine is under load (throttle on). If only one recording is available, assign the same clip to Off. In Equal power, the code then merges the two voices into one. |
| Off | audioClipOff |
— | — |
— | The clip that this layer plays while the engine is not under load (throttle closed, coasting). The same clip as On is correct, and every idle layer that ships with RCCP uses the same clip. |
| localPosition | localPosition |
m | — |
— | Sets the position of this layer, relative to the vehicle center, in meters. Positive Z points to the front. Engine layers are usually about 1.5 m forward. |
| minPitch | minPitch |
— | .1 |
min 0 | Sets the playback pitch at the bottom of the RPM window of this layer. Only Legacy uses this value. In Equal power, the pitch comes from Ref, and the code ignores this value. Typical range: 0.1–1. |
| maxPitch | maxPitch |
— | 1 |
min 0 | Sets the playback pitch at the top of the RPM window of this layer. Only Legacy uses this value. In Equal power, the pitch comes from Ref, and the code ignores this value. Typical range: 1–1.5. |
| minRPM | minRPM |
rpm | 600 |
min 0 | Sets the engine RPM at which this layer starts to be heard (Legacy). In Equal power, this value only sets the lowest pitch of the clip (this value divided by Ref). |
| maxRPM | maxRPM |
rpm | 8000 |
min 0 | Sets the engine RPM at which this layer has faded out again (Legacy). The layer with the highest value is the top layer, and this layer continues to play above its window. In Equal power, this value only sets the highest pitch of the clip (this value divided by Ref). |
| minDistance | minDistance |
m | 10 |
min 0 | Sets the distance from the listener inside which this layer plays at full volume. Closer than this distance, the volume does not increase. Typical range: 5–10. |
| maxDistance | maxDistance |
m | 200 |
min 0 | Sets the distance from the listener at which the volume of this layer stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 100–250. |
| Vol | maxVolume |
— | 1 |
0 – 1 | Sets the volume of this layer when the layer is fully faded in. Decrease this value on a layer that is too loud in the mix. Typical range: 0.5–1. |
| Ref | referenceRPM |
rpm | 0 |
min 0 | Sets the engine RPM at which the On clip was recorded. In Equal power, the code pitches each layer from this value, so all audible layers play the same engine note. 0 = no value, and the vehicle uses Legacy. The Measure button calculates this value from the clip, and the Apply button writes it. |
| Off Ref RPM | referenceRPMOff |
rpm | 0 |
min 0 | Sets the engine RPM at which the Off clip was recorded, if different from the On clip. 0 = the Off clip uses Ref. Set this value if Measure finds the two clips at different RPM. Without this value, the Off clip plays out of tune with the On clip. Only Equal power uses this value. |
RCCP_Audio+EngineStart
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The clip of the starter motor. The code plays this clip once each time the engine starts. |
| localPosition | localPosition |
m | — |
— | Sets the position of the starter sound, relative to the vehicle center, in meters. Positive Z points to the front, so the starter is usually about 1.5 m forward, with the engine. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the starter sound plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 65 |
min 0 | Sets the distance from the listener at which the volume of the starter sound stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 40–100. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of the starter sound. Typical range: 0.6–1. |
| pitch | pitch |
— | 1 |
0.1 – 2 | Sets the playback pitch of the starter sound. 1 = the clip as recorded. A lower value gives a slow, deep, tired start. A higher value gives a fast, eager start. Typical range: 0.7–1.2. |
RCCP_Audio+GearboxSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The gear change clips. If there are several clips, the code selects one at random for each shift, so the shifts do not all sound the same. |
| localPosition | localPosition |
m | — |
— | Sets the position of the gear change sound, relative to the vehicle center, in meters. The usual position is below and behind the cockpit. |
| minDistance | minDistance |
m | 3 |
min 0 | Sets the distance from the listener inside which the gear change sound plays at full volume. Closer than this distance, the volume does not increase. Typical range: 2–5. |
| maxDistance | maxDistance |
m | 15 |
min 0 | Sets the distance from the listener at which the volume of the gear change sound stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 10–20. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of the gear change sound. Typical range: 0.4–1. |
RCCP_Audio+CrashSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The impact clips. If there are several clips, the code selects one at random for each hit, so repeated crashes do not sound the same. |
| localPosition | localPosition |
m | — |
— | The code does not use this value. Each crash sound plays at the contact point of the impact. |
| minDistance | minDistance |
m | 10 |
min 0 | Sets the distance from the listener inside which a crash sound plays at full volume. Closer than this distance, the volume does not increase. Typical range: 5–15. |
| maxDistance | maxDistance |
m | 100 |
min 0 | Sets the distance from the listener at which the volume of a crash sound stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 60–150. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of the hardest crash. Lighter hits play at a lower volume. Typical range: 0.8–1. |
RCCP_Audio+ReverseSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The whine loop that plays while the vehicle moves backward. The volume and the pitch increase with the reverse speed. |
| localPosition | localPosition |
m | — |
— | Sets the position of the reverse whine, relative to the vehicle center, in meters. Keep the value at 0 to play the sound from the vehicle center. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the reverse whine plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 60 |
min 0 | Sets the distance from the listener at which the volume of the reverse whine stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 40–80. |
| maxVolume | maxVolume |
— | .8 |
0 – 1 | Sets the volume of the reverse whine at full reverse speed (40 km/h backward). Typical range: 0.5–0.8. |
| minPitch | minPitch |
— | .8 |
min 0 | Sets the playback pitch of the whine when the vehicle starts to move backward. A lower value gives a deeper start. Typical range: 0.7–0.9. |
| maxPitch | maxPitch |
— | 1 |
min 0 | Sets the playback pitch of the whine at full reverse speed (40 km/h backward). A higher value increases the pitch more as the speed increases. Typical range: 1–1.3. |
RCCP_Audio+WindSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The wind noise loop. The volume increases with the speed of the vehicle. |
| localPosition | localPosition |
m | — |
— | Sets the position of the wind noise, relative to the vehicle center, in meters. Keep the value at 0 to play the sound from the vehicle center. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the wind noise plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 50 |
min 0 | Sets the distance from the listener at which the volume of the wind noise stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 30–60. |
| maxVolume | maxVolume |
— | .1 |
0 – 1 | Sets the volume of the wind noise at 200 km/h and above. Keep this value low, or the wind noise hides the engine sound. Typical range: 0.05–0.2. |
RCCP_Audio+BrakeSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The brake squeal loop. The volume increases with the front brake torque, and the squeal stops when the front wheels stop turning. |
| localPosition | localPosition |
m | — |
— | Sets the position of the brake squeal, relative to the vehicle center, in meters. Keep the value at 0 to play the sound from the vehicle center. |
| minDistance | minDistance |
m | 10 |
min 0 | Sets the distance from the listener inside which the brake squeal plays at full volume. Closer than this distance, the volume does not increase. Typical range: 5–15. |
| maxDistance | maxDistance |
m | 100 |
min 0 | Sets the distance from the listener at which the volume of the brake squeal stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 50–120. |
| maxVolume | maxVolume |
— | .25 |
0 – 1 | Sets the volume of the squeal at full front brake torque. Typical range: 0.15–0.4. |
RCCP_Audio+NosSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The nitrous hiss loop. The code plays this loop while the nitrous is in use. |
| localPosition | localPosition |
m | — |
— | Sets the position of the nitrous hiss, relative to the vehicle center, in meters. Negative Z points to the rear, so the hiss is usually about 1.5 m back. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the nitrous hiss plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 70 |
min 0 | Sets the distance from the listener at which the volume of the nitrous hiss stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 50–100. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of the nitrous hiss. Typical range: 0.7–1. |
RCCP_Audio+TurboSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The turbo whine loop. The volume increases with the boost pressure. |
| localPosition | localPosition |
m | — |
— | Sets the position of the turbo whine, relative to the vehicle center, in meters. Positive Z points to the front, so the turbo is usually about 1.5 m forward, with the engine. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the turbo whine plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 50 |
min 0 | Sets the distance from the listener at which the volume of the turbo whine stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 30–60. |
| maxVolume | maxVolume |
— | .2 |
0 – 1 | Sets the volume of the turbo whine at full boost. Keep this value below the engine volume. Typical range: 0.1–0.3. |
| minPitch | minPitch |
— | 1 |
0.1 – 2 | Sets the playback pitch of the whine with no boost. If Min Pitch and Max Pitch are both 1, the pitch does not change, as in older RCCP versions. Typical value: 0.9. |
| maxPitch | maxPitch |
— | 1 |
0.1 – 2 | Sets the playback pitch of the whine at full boost. A higher value increases the pitch of the turbo more as the boost increases. Typical value: 1.35. |
RCCP_Audio+ExhaustFlameSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The backfire pop clips. If there are several clips, the code selects one at random for each pop. |
| localPosition | localPosition |
m | — |
— | Sets the position of the backfire pop, relative to the vehicle center, in meters. Negative Z points to the rear, so the pop is usually behind and below the center. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the backfire pop plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 80 |
min 0 | Sets the distance from the listener at which the volume of the backfire pop stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 50–120. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of a backfire pop. Typical range: 0.7–1. |
RCCP_Audio+BlowSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The blow-off valve clips. The code plays one clip at random when the throttle closes while the turbo has boost pressure. |
| localPosition | localPosition |
m | — |
— | Sets the position of the blow-off sound, relative to the vehicle center, in meters. The usual position is behind and below the center. |
| minDistance | minDistance |
m | 3 |
min 0 | Sets the distance from the listener inside which the blow-off sound plays at full volume. Closer than this distance, the volume does not increase. Typical range: 2–5. |
| maxDistance | maxDistance |
m | 20 |
min 0 | Sets the distance from the listener at which the volume of the blow-off sound stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 15–40. |
| maxVolume | maxVolume |
— | .2 |
0 – 1 | Sets the volume of the blow-off sound at full boost. At lower boost, the volume decreases to as little as 60% of this value. Typical range: 0.15–0.4. |
RCCP_Audio+LimiterSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The rev limiter clips. The code plays one clip at random each time the rev limiter cuts the fuel. |
| localPosition | localPosition |
m | — |
— | Sets the position of the limiter stutter, relative to the vehicle center, in meters. The usual position is forward, with the engine. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the limiter stutter plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 60 |
min 0 | Sets the distance from the listener at which the volume of the limiter stutter stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 40–80. |
| maxVolume | maxVolume |
— | .8 |
0 – 1 | Sets the volume of the limiter stutter. Typical range: 0.6–1. |
RCCP_Audio+DeflateSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The clip that plays once when a tire deflates (blowout). |
| localPosition | localPosition |
m | — |
— | Sets the position of the blowout sound, relative to the vehicle center, in meters. Keep the value at 0 to play the sound from the vehicle center. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the blowout sound plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 25 |
min 0 | Sets the distance from the listener at which the volume of the blowout sound stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 20–40. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of the blowout sound. Typical range: 0.8–1. |
RCCP_Audio+InflateSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The clip that plays once when a flat tire is inflated again (repaired). |
| localPosition | localPosition |
m | — |
— | Sets the position of the repair sound, relative to the vehicle center, in meters. Keep the value at 0 to play the sound from the vehicle center. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the repair sound plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 25 |
min 0 | Sets the distance from the listener at which the volume of the repair sound stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 20–40. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of the repair sound. Typical range: 0.8–1. |
| lastInflate | lastInflate |
— | true |
— | The code does not use this value. No RCCP code reads or writes this field, so a change has no effect. Read-only at runtime. |
RCCP_Audio+FlatSound
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| audioClips | audioClips |
— | — |
— | The flapping loop that plays while the vehicle drives on a flat tire. The volume increases with the wheel speed. The loop is silent while the vehicle is in the air. |
| localPosition | localPosition |
m | — |
— | Sets the position of the flat tire sound, relative to the vehicle center, in meters. Keep the value at 0 to play the sound from the vehicle center. |
| minDistance | minDistance |
m | 5 |
min 0 | Sets the distance from the listener inside which the flat tire sound plays at full volume. Closer than this distance, the volume does not increase. Typical range: 3–10. |
| maxDistance | maxDistance |
m | 50 |
min 0 | Sets the distance from the listener at which the volume of the flat tire sound stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 30–60. |
| maxVolume | maxVolume |
— | 1 |
0 – 1 | Sets the volume of the flat tire sound. Typical range: 0.8–1. |
RCCP_Lights
The light manager of the vehicle: the lights that are on now, and every lamp on the vehicle.
Inspector sections, in order: Light switches, Attached lights.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Low beam on | lowBeamHeadlights |
— | false |
— | If on, the low beam headlights and the tail lights are on. The light key of the player usually controls this value. Enable this setting in the Inspector to see the lit lamps during vehicle setup. |
| High beam on | highBeamHeadlights |
— | false |
— | If on, the high beam headlights are on. If High beams need low beams is on, the low beams must also be on. The light key of the player usually controls this value. Enable this setting in the Inspector to see the lit lamps during vehicle setup. |
| High beams need low beams | highBeamWithLowBeamOnly |
— | false |
— | If on, the high beams light only while the low beams are on, as with a real light switch. If off, the high beams can light without the low beams. |
| Hazards on | indicatorsAll |
— | false |
— | If on, all indicators blink together (hazard lights). The hazard key of the player usually controls this value. |
| lights | lights |
— | — |
— | All lamps on this vehicle. The Inspector rebuilds this list from the child objects. Use the buttons below to add or remove lamps. Do not edit the list manually. |
RCCP_Light
One lamp: the job it does, how bright it gets, the lens it makes glow, and whether a crash can break it.
Inspector sections, in order: What this lamp does, Brightness & fade, Lens glow.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Light function | lightType |
— | LightType.Headlight_LowBeam |
— | Sets the function of this lamp: low beam, high beam, brake light, tail light, reverse light or indicator. The function decides when the lamp lights. Nothing else about the lamp changes. |
| Render mode | lightRendererMode |
— | LightRenderMode.Auto |
— | Sets whether this lamp is a per-pixel light (high quality) or a per-vertex light (low cost). If Keep my render mode is off, the code replaces this value at start with the RCCP Settings value for this light function. High beams always use this value. |
| Keep my render mode | overrideRenderMode |
— | false |
— | If on, this lamp uses its Render mode value. If off, the code sets the render mode from RCCP Settings at start (except for high beams). |
| Brightness | intensity |
— | 1 |
.1 – 10 | Sets the brightness of this lamp when the lamp is fully on. A higher value gives a brighter pool of light on the road. Typical range: 1–3 for headlights. Use a value below 1 for tail lamps and indicators. |
| Fade speed | smoothness |
— | .5 |
.1 – 1 | Sets how fast the lamp fades on and off. A higher value gives an almost instant change. A lower value gives a slow warm-up, as with a filament bulb. Typical range: 0.3–0.7. |
| Lens renderer | emissiveRenderer |
— | — |
— | The mesh whose material glows with the lamp, usually the lens. If empty, the lamp lights the scene but the lens stays dark, which looks wrong from outside. |
| Lens material slot | emissiveMaterialIndex |
— | 0 |
min 0 | Sets the index of the material on the lens mesh that glows. The first material is 0. Change this value only if the lens mesh has more than one material. |
| Lens color | emissiveColor |
— | Color.white |
— | The emission color of the lens when the lamp is on. The code multiplies this color by the current lamp brightness. Use an HDR color above white to make the lens bloom. |
| Emission keyword | shaderKeywordEmissionEnable |
— | "_EMISSION" |
— | The shader keyword that enables emission on the lens material. Change this value only for a custom shader that does not use the standard _EMISSION keyword. If empty, the code does not enable a keyword. |
| Emission color property | shaderKeywordEmissionColor |
— | "_EmissionColor" |
— | The shader property that receives the lens color. Change this value only for a custom shader that does not use the standard _EmissionColor property. |
| Extra glowing meshes | additionalEmissiveRenderers |
— | — |
— | More meshes that glow with this lamp, for example a chrome surround, a reflector or a badge. Each mesh has its own material slot and color. |
| Lens flare | useLensFlares |
— | true |
— | If on, the lamp shows a lens flare toward the camera, which makes a headlight look real when seen from the front. The flare needs a LensFlare component (Built-in) or a LensFlareComponentSRP (URP and HDRP) on the lamp. |
| Flare brightness | flareBrightness |
— | 1 |
0 – 10 | Sets the flare brightness before the distance and the view angle decrease it. A higher value gives a larger, brighter flare. Typical range: 0.5–2. |
| Flare half-distance | flareHalfDistance |
m | 200 |
min 1 | Sets the distance at which the flare has decreased to half strength. A higher value keeps flares visible farther down the road. Brightness near the lamp (inside 4 m Built-in, 8 m URP and HDRP) does not change. A value of 8 m (Built-in) or 16 m (URP and HDRP) gives the behavior of older RCCP versions. Typical range: 100–300. |
| Can be smashed | isBreakable |
— | true |
— | If on, a hard impact can smash this lamp. The lamp then stays dark until the vehicle is repaired. If off, impacts do not damage the lamp. |
| Toughness | strength |
— | 100 |
min 0 | Sets how much impact damage the lamp takes before the lamp smashes. The value decreases with each hit, so during play the field shows the remaining toughness. A higher value lets the lamp survive harder crashes. Typical value: 100. |
| Smashes below | breakPoint |
— | 35 |
min 0 | Sets the Toughness value at or below which the lamp smashes. A higher value smashes the lamp after less damage. Typical range: 30–50 (with a Toughness of 100). |
| Smashed | broken |
— | false |
— | If on, this lamp is smashed and stays dark until the vehicle is repaired. Read-only at runtime. |
RCCP_Light+RCCP_EmissiveRenderer
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| emissiveRenderer | emissiveRenderer |
— | — |
— | An extra mesh that glows with this lamp, in addition to the Lens renderer. |
| emissiveMaterialIndex | emissiveMaterialIndex |
— | 0 |
min 0 | Sets the index of the material on this mesh that glows. The first material is 0. |
| emissiveMaterial | emissiveMaterial |
— | — |
— | Keep this field empty. At start, the code fills this field with a copy of the material in the selected slot. If a material is set here, the code uses that material and ignores the slot. |
| emissiveColor | emissiveColor |
— | Color.white |
— | The emission color of this mesh when the lamp is on. The code multiplies this color by the current lamp brightness. Use an HDR color above white to make the mesh bloom. |
| shaderKeywordEmissionEnable | shaderKeywordEmissionEnable |
— | "_EMISSION" |
— | The shader keyword that enables emission on this material. Change this value only for a custom shader. If empty, the code does not enable a keyword. |
| shaderKeywordEmissionColor | shaderKeywordEmissionColor |
— | "_EmissionColor" |
— | The shader property that receives the color of this mesh. Change this value only for a custom shader. |
RCCP_Particles
Sparks, smoke, fire and debris — the particle effects a crash, a scrape and a hot tire throw off.
Inspector sections, in order: Sparks, Impacts, Scraping along a wall, One-shot bursts.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Spark on these layers | collisionFilter |
— | -1 |
— | Sets the layers that cause sparks. Only hits on objects in these layers make sparks. Keep Everything, unless the vehicle hits scenery that must not make sparks. |
| Impact sparks prefab | contactSparklePrefab |
— | — |
— | The spark burst that plays at the moment of an impact. The code plays the burst only if the impact speed is 5 m/s or more. |
| Scrape sparks prefab | scratchSparklePrefab |
— | — |
— | The continuous spark trail that plays while the vehicle scrapes along a wall or another object. |
| Rim sparks prefab | wheelSparklePrefab |
— | — |
— | The sparks from a bare rim. The code plays these sparks while a tire is flat and the wheel turns at 250 RPM or more. |
| Extra sparks on a big hit | impactExtraParticlesMax |
— | 60 |
min 0 | Sets how many extra sparks the hardest impact adds to the standard burst, so a heavy crash looks heavier than a light hit. A higher value gives a larger difference. 0 = all hits make the same burst. |
| Flash on impact | impactLights |
— | true |
— | If on, a hard hit also makes a short, warm flash of light, which makes a crash at night look real. Flash threshold sets the minimum impact for the flash. |
| Flash threshold | impactLightMinImpulse |
— | 2 |
min 0 | Sets the minimum impact strength for the flash, on a 0–10 scale (impulse divided by 7500 N·s). A higher value flashes only on hard crashes. A lower value flashes on small bumps. Typical range: 1–4. |
| Scrape build-up delay | scrapeRampDelay |
s | 1 |
min 0 | Sets how long the vehicle must scrape along a wall before the spark trail starts to increase. A lower value makes a short scrape look violent. Typical range: 0.5–2. |
| Scrape build-up | scrapeRampMaxMultiplier |
— | 3 |
min 1 | Sets how much the spark trail increases during a long scrape. The increase starts after Scrape build-up delay and reaches this multiplier in 3 s. 1 = no increase. Typical range: 2–4. |
| Damage smoke & fire | enableDamageSmoke |
— | false |
— | If on, the engine area smokes as the engine zone takes damage (light gray, then black smoke) and catches fire when the vehicle is wrecked. Smoke starts below 70% zone health. The smoke needs Track damage by area on the damage component. The fire also needs Mechanical damage. |
| Smoke position | damageSmokeAnchor |
— | — |
— | The Transform where the engine smoke and fire start. If empty, the code places them at the front of the vehicle, at hood height, which is correct for most models. |
| Smoke prefab | damageSmokePrefab |
— | — |
— | The looping smoke effect. If empty, the code uses the Engine smoke prefab from RCCP Settings. |
| Fire prefab | damageFirePrefab |
— | — |
— | The looping fire effect. If empty, the code uses the Engine fire prefab from RCCP Settings. |
| Tire blowout prefab | blowoutBurstPrefab |
— | — |
— | The one-shot burst that plays when a tire deflates. If empty, the code uses the Tire blowout particles from RCCP Settings. |
| Part debris prefab | detachDebrisPrefab |
— | — |
— | The one-shot burst that plays when a part (for example a bumper, hood or door) comes off. If empty, the code uses the Part debris prefab from RCCP Settings. |
| Glass shard prefab | glassShardPrefab |
— | — |
— | The one-shot burst that plays when a lamp is smashed. If empty, the code uses the Broken glass prefab from RCCP Settings. |
| Tire smolder | tireSmolder |
— | true |
— | If on, a hot tire (above 117 °C) continues to smoke after the slide stops, and the smoke decreases as the tire cools. If off, the smoke stops when the wheel stops sliding. |
| Smolder smoke | maxSmolderVolume |
— | 0.4 |
0 – 1 | Sets the smoke amount of a fully heated tire (125 °C) after the slide stops, relative to the smoke of a full slide. A higher value gives a long, clear smoke trail after a burnout. Typical range: 0.3–0.5. |
RCCP_Exhaust
One exhaust tip: the smoke it trails, the backfire flame it pops, and the sound, light and camera kick that come with the pop.
Inspector sections, in order: Backfire flame, Lens flare, Flame look, Flame light, Backfire sound, Camera shake, Nitrous color change, Exhaust smoke.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Pop when throttle released | flameOnCutOff |
— | false |
— | If on, a throttle release in the pop window (Pop above to Pop below, or Pop on engine braking) makes a flame at this tip. If off, throttle releases do not make flames. Nitrous and launch control flames do not use this setting. |
| Pop on launch control | flameOnLaunchControl |
— | true |
— | If on, the tip pops continuously while launch control holds the engine RPM at the start. This setting has an effect only if Launch control is on for the engine. |
| Pop above | backfireMinRPM |
rpm | 5000 |
min 0 | Sets the lowest RPM at which a throttle release can pop. Increase this value on a high-RPM engine that pops too frequently. Decrease this value on an engine that does not reach 5000 RPM, or the engine never pops. Typical range: 4000–6000. |
| Pop below | backfireMaxRPM |
rpm | 5500 |
min 0 | Sets the highest RPM at which a throttle release can pop. A larger gap to Pop above makes pops much more frequent. Typical range: 500–2000 above Pop above. |
| Pop on engine braking | useOverrunGate |
— | false |
— | If on, the tip pops when engine braking holds the vehicle back, instead of in the Pop above to Pop below window. This works on any vehicle without tuning, but Engine braking must be on for the engine. If the vehicle has no active RCCP_Audio, the code uses the RPM window. |
| Engine braking needed | overrunThreshold |
— | 0.5 |
0 – 1 | Sets how strong the engine braking must be before a pop can occur (0–1). Used only with Pop on engine braking. A higher value allows pops only on large throttle releases. A lower value makes the tip crackle on each small release. Typical range: 0.3–0.7. |
| Pop chance | backfireChance |
— | 1 |
0 – 1 | Sets the probability that a throttle release pops. The code decides once per release. 1 = each release pops, as in older RCCP versions, which soon sounds mechanical. Typical range: 0.4–0.7. |
| Pop on gear changes | popDuringShifting |
— | true |
— | If on, the tip can pop during a gear change, where most of the pops of a race car occur. If off, throttle-release pops do not occur while the gearbox shifts. |
| Pop pitch variation | backfirePitchRandomness |
— | 0.15 |
0 – 0.3 | Sets a random pitch change for each pop, so the same clip does not sound the same each time. A higher value gives more variation. 0 = all pops sound the same, which sounds artificial. Typical value: 0.15. |
| Flame effect | flame |
— | — |
— | The particle system that shows the flame. The code uses the first Light under this particle system as the flame light. The shipped exhaust prefab includes the flame. Change this value only for a custom flame. |
| Flare brightness | flareBrightness |
— | 1 |
min 0 | Sets the strength of the lens flare around the flame, before the distance and the view angle decrease it. A higher value gives a larger flare on camera. Typical range: 0.5–2. |
| Flame color | flameColor |
— | Color.red |
— | The color of a backfire flame and its light. Orange and red look like unburnt fuel. |
| Nitrous flame color | boostFlameColor |
— | Color.blue |
— | The color of the flame and its light while the nitrous is in use. Blue is the usual color. |
| Light up the surroundings | usePixelLight |
— | true |
— | If on, the flame light is a per-pixel light that lights the road and the bumper near the tip. A pop at night then looks real. If off, the flame light is a per-vertex light, which costs less but looks less accurate. |
| Light reach | flameLightRange |
m | 3 |
— | Sets the range of the flame light around the tip. A higher value lights a larger area of the road behind the vehicle. Typical range: 2–5. |
| Flash brightness | flameLightIntensityMultiplier |
— | 8 |
— | Sets the brightness of the flame light. The flash at the moment of a pop and the sustained glow both use this multiplier. A higher value gives a hard, bright flash. Typical range: 4–12. |
| Flash length | flameLightFlashDuration |
s | 0.2 |
— | Sets how long the flash lasts. A higher value gives a slow, soft flash instead of a sharp crack. Typical range: 0.1–0.3. |
| Flash shape | flameLightCurve |
— | — |
— | The curve of the flash brightness over Flash length. The horizontal axis goes from 0 (start of the pop) to 1 (end of Flash length). The shipped curve peaks at 0.05 and decreases to 0 at 0.2. Make the curve flatter for a softer glow. |
| Sustained brightness | flameLightBaseIntensity |
— | 0.3 |
— | Sets the brightness of the glow while a flame continues after the flash, for example with nitrous. Flash brightness multiplies this value. Typical range: 0.2–0.5. |
| Flicker amount | flameLightFlicker |
— | 0.1 |
— | Sets how much the sustained glow changes. A higher value gives a flame that looks alive. 0 = a steady glow. Typical range: 0.05–0.2. |
| Flicker speed | flameLightFlickerFrequency |
— | 15 |
— | Sets how fast the sustained glow changes. A higher value gives a fast, crackling flicker. A lower value gives a slow, smooth glow. Typical range: 10–20. |
| Play a pop sound | playBackfireSound |
— | true |
— | If on, each backfire and nitrous start plays a pop from this tip, so the sound comes from the correct position in 3D. If off on all tips, the Backfire pop sound of RCCP_Audio plays instead, from the vehicle. |
| Pop clips | backfireClips |
— | — |
— | The pop clips. The code selects one clip at random for each pop. If the list is empty, the code uses the Backfire pops clips from RCCP Settings. |
| Pop volume | backfireSoundVolume |
— | 0.5 |
0 – 1 | Sets the volume of a pop. Typical range: 0.3–0.7. |
| Full volume within | backfireSoundMinDistance |
m | 1 |
min 0 | Sets the distance from the listener inside which the pop plays at full volume. Closer than this distance, the volume does not increase. Typical range: 1–3. |
| Heard up to | backfireSoundMaxDistance |
m | 15 |
min 0 | Sets the distance from the listener at which the volume of the pop stops decreasing (logarithmic rolloff). Farther away, the volume does not decrease more. Typical range: 15–40. |
| Shake the camera | triggerCameraShake |
— | true |
— | If on, a pop or a nitrous start gives the camera a short shake. The shake does not change how the vehicle drives. Only the player vehicle shakes the camera. |
| Pop shake | backfireShakeIntensity |
— | 0.5 |
— | Sets the strength of the camera shake for a backfire pop. A higher value makes each pop more visible on camera. Typical range: 0.3–0.7. |
| Nitrous shake | nosIgnitionShakeIntensity |
— | 0.3 |
— | Sets the strength of the camera shake when the nitrous starts. Typical range: 0.2–0.5. |
| Color change time | nosColorTransitionDuration |
s | 0.25 |
— | Sets how long the flame takes to change from Flame color to Nitrous flame color. A higher value gives a visible change from orange to blue. 0 = an instant change. Typical range: 0.2–0.4. |
| Smoke at idle | minEmission |
— | 5 |
min 0 | Sets the smoke emission rate (particles per second) with the throttle closed. A higher value gives a smoky, badly tuned engine. 0 = a clean tip at idle. The tip makes smoke only below 25 km/h. Typical range: 3–10. |
| Smoke at full throttle | maxEmission |
— | 20 |
min 0 | Sets the smoke emission rate (particles per second) at full throttle. A higher value gives a heavy plume during acceleration. The tip makes smoke only below 25 km/h. Typical range: 15–40. |
| Puff size at idle | minSize |
— | 1 |
min 0 | Sets the start size of each smoke particle with the throttle closed. Typical range: 0.5–1.5. |
| Puff size at full throttle | maxSize |
— | 4 |
min 0 | Sets the start size of each smoke particle at full throttle. A higher value gives a thick cloud behind the vehicle. Typical range: 3–6. |
| Puff speed at idle | minSpeed |
— | .1 |
min 0 | Sets the start speed of the smoke with the throttle closed. A low value lets the smoke stay near the tip. Typical range: 0.05–0.3. |
| Puff speed at full throttle | maxSpeed |
— | 1 |
min 0 | Sets the start speed of the smoke at full throttle. A higher value pushes the smoke away from the tip in a jet. Typical range: 0.5–2. |
| Since throttle released | flameTime |
s | 0 |
min 0 | Shows how long this tip has popped since the throttle was last at 25% or more. Throttle-release pops stop when this value is more than 0.5 s. Read-only at runtime. |
| Popping now | popping |
— | false |
— | If on, this tip makes a flame now (backfire, nitrous or launch control). Read-only at runtime. |
RCCP_Customizer
The paint, wheels, spoilers, sirens, decals, neons and upgrades on this vehicle, and when the code applies the saved set.
Inspector sections, in order: Startup, Saving & loading.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Apply when | initializeMethod |
— | InitializeMethod.Start |
— | Sets when the code applies the fitted parts as the vehicle starts: Awake, OnEnable, Start, or one physics step after Start. Start is correct for most games. Use the delayed option for vehicles that are not fully assembled on the first frame. |
| Save slot name | saveFileName |
— | "" |
— | The PlayerPrefs key that stores the saved set of this vehicle. Give each vehicle a different name, or the saved sets overwrite each other. If empty, the code makes a random key, so the set is not kept between sessions. |
| Save changes automatically | autoSave |
— | true |
— | If on, the code writes each change of the player to the save slot immediately. If off, the game code decides when to save (RCCP_Customizer.Save()), for example after the player pays for a change. |
| Load the saved set | autoLoadLoadout |
— | true |
— | If on, the vehicle loads the saved set from the save slot at Awake, so the vehicle shows the last choices of the player. If off, the vehicle starts with the Fitted parts set in the Inspector. |
| Set up automatically | autoInitialize |
— | true |
— | The code does not use this value. The upgrade managers start at the time that Apply when sets, whatever this value is. |
| Fitted parts | loadout |
— | — |
— | The parts on the vehicle now: paint color, wheel set, spoiler, siren, decals, neons and the four upgrade levels. A change here changes how the vehicle appears. If Load the saved set is on and a saved set exists, the saved set replaces these values at Awake. |
RCCP_Lod
Disables the effects and sounds of a vehicle as its distance from the camera increases, so distant vehicles cost less. The driving, denting and lights of the vehicle do not change with distance.
Inspector sections, in order: Override.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Always full detail | forceToFirstLevel |
— | false |
— | If on, this vehicle keeps all effects and sound at any distance. Use this setting for the player vehicle, or during tests of effects that the LOD disables. |
| Always reduced detail | forceToLatestLevel |
— | false |
— | If on, this vehicle always uses the lowest level: the wheel models do not turn, and the vehicle has no effects or sound. Use this setting for distant traffic that the player never sees closely. Always full detail has priority. |
| LOD distance factor | lodFactor |
— | .8 |
.1 – 1 | Sets how far from the camera the vehicle keeps full detail. At 1, full detail continues to 75 m. At 0.1, full detail stops at 25 m. A higher value costs more performance. A value of 0.8 is a good balance. Below about 0.5, the change of detail is easy to see. |
| Current LOD level | currentLODLevel |
— | 0 |
0 – 3 | Shows the current detail level of this vehicle, from 0 (full detail) to 3. From level 1, the vehicle has no particles, exhaust effects, skidmarks or wheel blur, and the wheel models do not turn. From level 2, the vehicle also has no sound. Read-only at runtime. |
RCCP_BodyTilt
Leans the body into corners and under braking. Purely visual — it never touches the physics, and colliders stay where they are.
Sideways lean changes continuously between forward and reverse motion. The lean decreases during sideways sliding and below 1 m/s.
Inspector sections, in order: How far it leans, Smoothing, Parts that lean.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Maximum lean | maxTiltAngle |
° | 7 |
0 – 15 | Sets the maximum sideways lean angle of the body. The forward lean is limited to half of this value. A higher value gives a soft, floating look. A lower value gives a stiff look. Typical range: 3–8. |
| Lean under braking | forwardTiltMultiplier |
— | 5 |
min 0 | Sets how much the body leans forward and backward. The lean follows the pitch rotation rate of the vehicle, for example when the nose dips under hard braking. A higher value gives a larger lean. 0 = no forward lean. Typical range: 3–8. |
| Lean in corners | sidewaysTiltMultiplier |
— | 5 |
min 0 | Sets how much the body leans sideways in a turn. The lean follows the yaw rate (turn rate) of the vehicle. A higher value gives a soft, top-heavy look. 0 = no sideways lean. Typical range: 3–8. |
| Lean speed | tiltSmoothSpeed |
— | 5 |
min 0 | Sets how fast the body moves to its new lean. A higher value follows the vehicle immediately. A lower value lags behind, which looks like a heavy vehicle. 0 = no smoothing, and the lean changes instantly. Typical range: 3–8. |
| tiltTargets | tiltTargets |
— | — |
— | The parts of the vehicle that lean. Select the parts in the list below. Do not edit this array manually. At start, the code moves the body colliders of these parts to a separate object that does not lean. The code skips a part that holds wheel colliders or the center of mass. |
Damage
RCCP_Damage
What a crash does to this vehicle: dented bodywork, broken lamps, wheels out of position and parts that come off. This component also saves and repairs the damage.
Inspector sections, in order: Setup, Body meshes, Skinned body meshes, Wheels, Lamps, Detachable parts.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Save slot | saveName |
— | "" |
— | The save name for the damage of this vehicle. The component saves and loads the damage in PlayerPrefs under this name, so a damaged vehicle can return with its damage. Give each vehicle its own name. The Save, Load and Delete buttons at the bottom use this name in Play Mode. |
| Collect parts automatically | automaticInstallation |
— | true |
— | If on, the vehicle collects its own body meshes, lamps, detachable parts and wheels at start, so the lists need no manual setup. If off, select the objects in the four lists below (the Get buttons fill the lists). |
| Damage from layers | damageFilter |
— | -1 |
— | Only hits from objects on these layers damage the vehicle. Hits from objects on other layers do no damage. Remove the layers of trigger volumes, invisible walls and scenery that must not dent the vehicle. |
| Spawn protection | spawnProtectionDuration |
s | 1 |
min 0 | Prevents collision damage for this many seconds after the vehicle spawns or is reactivated. Uses game time. Recorded and scripted impacts still apply. Set 0 to disable protection. |
| Maximum damage | maximumDamage |
m | .75 |
min 0 | Limits how far a body mesh vertex can move from its original position. A wheel pushed farther than this distance comes off if Wheels can come off is on. A higher value allows deeper dents. 0 = no limit, but wheels never come off, and Steering pulls after a hit and Tires go flat slowly do nothing. Typical range: 0.5–1. |
| Include inactive GameObjects | processInactiveGameobjects |
— | false |
— | If on, the collection of body meshes, lamps and detachable parts also includes inactive child GameObjects. Parts that start hidden (for example a hood or spoiler that the player can change) can then dent and break when they become visible. If off, the collection includes only GameObjects that are active at start. |
| Dent the bodywork | meshDeformation |
— | true |
— | If on, crashes dent the body meshes. This is the main switch for both denting methods. If off, no body mesh changes shape, whatever the settings below. Wheel, lamp and part damage do not use this switch. |
| Vertex dents on blendshape meshes | skinnedMeshDeformation |
— | false |
— | If on, crashes add local vertex dents below the existing blendshapes of readable skinned body meshes without bones. Enable this setting before Play Mode. This setting is experimental. The code does not save or replay vertex dents. |
| Soft-body denting | softBodyDeformation |
— | false |
— | If on, panels bend and wobble on impact, keep a permanent dent and spring back during a repair. This costs more CPU and memory per vehicle. If off, panels move straight to the dented shape. This setting adds or removes a Deformation Solver object under this component. While this setting is on, a deleted solver object is created again. |
| Dent spread | deformationRadius |
m | .75 |
min 0 | Sets the radius of the area around the hit point that dents. A higher value spreads the dent across more of the panel. A lower value gives a small, local dent. Typical range: 0.5–1. |
| Dent strength | deformationMultiplier |
— | 1 |
min 0 | Sets how deep a crash dents the bodywork. A higher value gives deeper dents from the same hit. At 1, both denting methods give the same dent depth. With soft-body denting, the effect is not proportional: half the value gives less than half the depth, and below about 0.05 almost no dent stays. Typical value: 1. |
| Recalculate normals | recalculateNormals |
— | true |
— | If on, the code recalculates the normals of dented areas, so a dent catches the light correctly. If off, the cost is lower, but dents look flat. With soft-body denting, this option costs the most CPU, so disable it first if the frame rate decreases. |
| Preserve authored normals | preserveAuthoredNormals |
— | true |
— | If on, only the vertices that moved get new normals, so windows and other smooth curved surfaces stay smooth after a crash. If off, the code recalculates all normals, as older RCCP versions did, and smooth surfaces can look faceted. |
| Dent sharpening depth | normalDeformBlendRange |
m | 0.1 |
min 0.0001 | Sets the dent depth over which the normals change from the smooth original surface to the dented surface. A lower value makes small dents look sharp. A higher value makes damage look soft. Undamaged glass does not change. Typical range: 0.05–0.2. |
| Weld seam normals | weldSeamNormals |
— | true |
— | If on, the lighting of a deep dent stays smooth, without hard lines along the seams of the model. Edges that are sharp in the model stay sharp. |
| Keep bent panels visible | recalculateBounds |
— | true |
— | If on, the code recalculates the bounds of each dented mesh, so a badly bent panel stays visible. If off, a panel pushed far from its start position can disappear at some camera angles. The recalculation costs some CPU. For most vehicles, keep the default value. |
| Bend the wheels | wheelDamage |
— | true |
— | If enabled, impacts displace and tilt wheels. Bent wheels wobble once per revolution. Repair restores the original position and rotation. |
| Wheel damage mode | wheelDamageMode |
— | VisualOnly |
Mechanical, VisualOnly |
Mechanical moves the wheel collider and permits detachment, steering pull and tire leaks. Visual Only bends the wheel model without these physics changes. |
| Wheel damage reach | wheelDamageRadius |
m | 2 |
min 0 | Sets how close a hit must be to a wheel to move the wheel. A higher value lets a hit anywhere near that corner move the wheel. A lower value means only a direct hit moves the wheel. Typical range: 1.5–2.5. |
| Wheel damage strength | wheelDamageMultiplier |
— | 1 |
min 0 | Sets how far each hit pushes a wheel out of position. A higher value makes wheels crooked after fewer hits, and lets them come off sooner if Wheels can come off is on. A lower value lets wheels take more hits. Typical value: 1. |
| Wheels can come off | wheelDetachment |
— | true |
— | If on, a wheel pushed farther than Maximum damage comes off, and that corner of the vehicle sinks to the ground. If off, wheels bend but always stay on the vehicle. |
| Wheel detachment grace | spawnDetachGrace |
s | 1 |
min 0 | Sets how long after spawn the wheels cannot come off, so the landing on the road at spawn never removes a wheel. Dents still occur. 0 = no protection. Typical value: 1. |
| Break the lamps | lightDamage |
— | true |
— | If on, hits break the lamps near them. A broken lamp stays dark until the vehicle is repaired. Only lamps with Can be smashed on can break. If off, lamps never break. |
| Lamp damage reach | lightDamageRadius |
m | .75 |
min 0 | Sets how close a hit must be to a lamp to damage the lamp. A higher value lets a hit anywhere on that end of the vehicle damage the lamps. A lower value means only a direct hit does damage. Typical range: 0.5–1. |
| Lamp damage strength | lightDamageMultiplier |
— | 1 |
min 0 | Sets how much damage each hit does to a lamp. A higher value breaks lamps on the first small hit. A lower value lets lamps survive several hits. Typical value: 1. |
| Damage the parts | partDamage |
— | true |
— | If on, a bumper, hood or door gets weaker with each hit near it, becomes loose and then comes off. If off, parts never come loose. |
| Part damage reach | partDamageRadius |
m | 1 |
min 0 | Sets how close a hit must be to a part to damage the part. A higher value lets one hit damage several parts. A lower value damages only the part that the hit touches. Typical range: 0.75–1.5. |
| Part damage strength | partDamageMultiplier |
— | 1 |
min 0 | Sets how much damage each hit does to a part. A higher value makes doors and hoods come off after a few hits. A lower value makes parts stay on longer. Typical value: 1. |
| Track damage by area | trackZoneHealth |
— | true |
— | If on, the vehicle keeps a separate condition value for its front, rear, left and right (1 = no damage, 0 = wrecked). Alone, this setting only records the values, for example for a damage display on the HUD. Mechanical damage needs this setting for engine damage and fire. |
| Area damage per hit | zoneDamageMultiplier |
— | 3 |
min 0 | Sets how much each hit decreases the condition of the hit area. A higher value lets a few solid hits wreck a corner. At the default value, about 8–12 solid hits wreck an area. Typical value: 3. |
| Dent direction | deformationDirectionMode |
— | DeformationDirectionMode.Legacy |
— | Sets the direction in which dents push in. Legacy pushes toward the root position of the vehicle, as older RCCP versions did, and is the safe choice for an existing project. Corrected pushes along the direction of the hit, which fixes crooked dents on rotated parts of the model. |
| Mechanical damage | mechanicalDamage |
— | false |
— | If on, crash damage changes how the vehicle drives. The engine loses power, the radiator overheats and the steering pulls to one side. The tires lose air over time, and a wrecked engine can catch fire. Enabling this setting adds a Damage Mechanics object with these settings. Disabling this setting removes the object. |
| Mesh Filters | meshFilters |
— | — |
— | The body meshes that can dent. If Collect parts automatically is on, the component fills this list at start. If off, press Get Meshes, then remove each mesh that must not dent. The list skips wheel meshes and meshes without Read/Write enabled in their import settings. |
| Skinned Mesh Renderers | skinnedMeshRenderers |
— | empty |
— | The skinned body meshes that get vertex dents below their blendshapes. If Collect parts automatically is on, the component fills this list at start. If off, the code uses only this list. An empty list disables skinned vertex dents. |
| wheels | wheels |
— | — |
— | The wheels that crash damage can move out of position and detach. If Collect parts automatically is on, the component fills this list at start. |
| lights | lights |
— | — |
— | The lamps that can break. If Collect parts automatically is on, the component fills this list at start. |
| parts | parts |
— | — |
— | The detachable parts (bumpers, hood, doors) that can become loose and come off. If Collect parts automatically is on, the component fills this list at start. |
| repairNow | repairNow |
— | false |
— | Requests a repair. RCCP.Repair() and the Repair Now button set this value, and a script can also set the value to true. The component clears the value when the repair starts. Read-only at runtime. |
| Repaired | repaired |
— | true |
— | Shows if the vehicle has no damage. Any damage (for example a dent or a flat tire) sets the value to off. The value is on again when a repair is complete. With soft-body denting, a repair is complete when the panels have fully sprung back. Read-only at runtime. |
RCCP_DamageMechanics
Makes crash damage change how the vehicle drives. The engine becomes weaker, the radiator overheats and the steering pulls to one side. The tires go slowly flat, and the engine can catch fire. To remove all of these effects, disable Mechanical damage on the Damage component.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Engine location | engineZone |
— | RCCP_DamageZone.Front |
— | Sets which end of the vehicle holds the engine. Damage to that end weakens the engine, breaks the radiator and can start a fire. The amount of engine smoke also follows the condition of that end. The smoke position is a separate setting (Smoke position on the Particles component). Use Front for most vehicles and Rear for rear-engine vehicles. |
| Engine loses power | engineDamage |
— | true |
— | If on, the engine loses power as the end that holds the engine takes damage. When the radiator is broken, the engine overheats and loses more power. This setting needs Track damage by area on the Damage component. |
| Health to torque | healthToTorqueCurve |
— | AnimationCurve.Linear(0, .4, 1, 1) |
— | Sets how much engine power stays at each level of damage. The horizontal axis is the condition of the engine end (left wrecked, right undamaged). The vertical axis is the power (top is full power). By default, a wrecked engine still gives 40% of its power. |
| Radiator breaks below | overheatHealthThreshold |
— | .5 |
0 – 1 | Sets the condition of the engine end below which the radiator breaks and the engine starts to heat up. A higher value means a small hit is enough. A lower value means only a serious crash breaks the radiator. At 0.5, the engine end is half wrecked. Typical range: 0.3–0.6. |
| Time to overheat | overheatBuildTime |
s | 60 |
min 1 | Sets how long a vehicle with a broken radiator takes to overheat fully. Heat increases only while the engine runs. Heating by RPM makes the heating faster or slower. Typical range: 30–90. |
| Heating by RPM | rpmToHeatRateCurve |
— | — |
— | Sets how fast the engine heats up at each RPM. The horizontal axis goes from Idle RPM (left) to Max RPM (right). A higher curve gives faster heating. By default, the rate is 0.1 at idle, 1 at half range and 2 at Max RPM. |
| Time to cool down | overheatCoolTime |
s | 45 |
min 1 | Sets how long a hot engine takes to cool fully. Cooling starts when the engine stops, or when the condition of the engine end increases above Radiator breaks below. A repair of the vehicle resets the heat at once. Typical range: 30–60. |
| Overheat torque fade | overheatTorqueFade |
— | .3 |
0 – 1 | Sets how much more power a fully overheated engine loses, in addition to the crash damage. At 0.3, the engine loses up to another 30% of its power. 0 = overheating costs no power. Typical range: 0.2–0.4. |
| Steering pulls after a hit | steeringMisalignment |
— | true |
— | If on, a wheel pushed out of position also bends its steering, so the vehicle pulls to one side. The player must steer against the pull. This setting uses wheel damage, so Track damage by area is not necessary. Maximum damage must be above 0. |
| Max toe error | maxToeError |
° | 3 |
0 – 10 | Sets the largest toe error, in degrees, for a wrecked corner. A higher value gives a strong pull after a crash. A lower value gives a slight pull. Typical range: 2–4. |
| Offset to toe | offsetToToeCurve |
— | AnimationCurve.Linear(0, 0, 1, 1) |
— | Sets how the pull increases as a wheel moves farther out of position. The horizontal axis goes from an undamaged wheel (left) to a wheel moved as far as Maximum damage (right). The top of the curve is the full pull (Max toe error). By default, the curve is a straight line. |
| Tires go flat slowly | stagedDeflation |
— | true |
— | If on, a badly damaged wheel starts to leak, and its tire goes flat during the next few seconds. If off, wheel damage does not make tires flat. This setting uses wheel damage, so Track damage by area is not necessary. |
| Leak starts at | leakThreshold |
— | .5 |
0 – 1 | Sets how far a wheel must move out of position before the tire starts to leak, as a fraction of Maximum damage. A higher value gives a flat tire only on a wrecked corner. A lower value gives a flat tire on most hits. Typical range: 0.4–0.7. |
| Time to go flat | slowLeakDuration |
s | 10 |
min 0 | Sets how long a leaking tire takes to go fully flat. A higher value gives the player time to drive to a safe place. 0 = the tire goes flat at once. Typical range: 5–15. |
| Flat tire wobble | wobbleAmplitude |
° | 1.5 |
0 – 10 | Sets how much a flat wheel model wobbles as it turns, in degrees. A higher value gives a wobble that is easy to see. 0 = no wobble. The wobble is visual only. Typical range: 1–3. |
| Flat tire drag | deflatedBrakeDrag |
Nm | 50 |
min 0 | Sets the drag torque of a flat tire, which pulls the vehicle toward that corner. A higher value makes a flat tire hard to drive on. Below about 5 km/h, the drag decreases to zero, so a flat tire never holds a parked vehicle in place. Typical range: 30–80. |
| Engine can catch fire | fireDamage |
— | true |
— | If on, a wrecked engine end catches fire, and the fire stops the engine if the vehicle is not repaired in time. This setting needs Track damage by area on the Damage component. |
| Catches fire below | fireHealthThreshold |
— | .15 |
0 – 1 | Sets the condition of the engine end at or below which a fire can start. A lower value means only a wrecked vehicle burns. Typical range: 0.1–0.2. |
| Goes out above | fireExtinguishHealthThreshold |
— | .35 |
0 – 1 | Sets the condition of the engine end above which a fire stops by itself. Keep this value above Catches fire below. The gap between the two values stops the fire from starting and stopping again and again. A full repair always ends the fire. Typical range: 0.3–0.4. |
| Time before it catches | fireIgnitionDelay |
s | 3 |
min 0 | Sets how long the engine end must stay at or below Catches fire below before the fire starts. A higher value gives more warning. 0 = the fire starts at once. Typical range: 2–5. |
| Time until engine dies | fireToEngineDeathTime |
s | 20 |
min 1 | Sets how long the fire burns before it stops the engine. A repair ends the fire. If the fire stopped the engine, the repair starts the engine again. Typical range: 15–30. |
| Recompute inertia on detach | recomputeInertiaOnDetach |
— | false |
— | If on, RCCP recalculates the vehicle inertia each time a wheel or a part comes off, so a vehicle without its hood handles differently. If off, the inertia stays as configured. |
RCCP_DeformationSolver
The soft-body denting method. Panels bend and wobble on impact, keep a permanent dent and spring back after a repair. While this component is present and enabled, it dents the bodywork instead of the Damage component. If you remove this component, the classic denting method applies again.
Inspector sections, in order: Quality & CPU cost, Panel stiffness, Impact reach & strength, Preparing the panels, Panel report, Repair.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Solver passes | solverIterations |
— | 6 |
2 – 12 | Sets how many solver passes each panel gets in each physics step. A higher value gives cleaner, more stable dents. A lower value costs less CPU. Recalculate normals on the Damage component costs more CPU than the solver passes. Range: 2–12. Typical value: 6. |
| Substeps | substeps |
— | 1 |
1 – 3 | Sets how many times the solver calculates the denting in one physics step. A higher value makes fast crashes look better, but costs two or three times the CPU. Range: 1–3. Typical value: 1. |
| Wobble damping | velocityDamping |
— | 0.94 |
0.85 – 0.999 | Sets how fast a wobbling panel comes to rest. A lower value stops the wobble fast. A higher value lets the panel wobble longer after a hit. Range: 0.85–0.999. Typical value: 0.94. |
| Settle time | settleTime |
s | 0.5 |
— | Sets how long a panel must stay almost still (below 1 mm/s) before the solver stops work on the panel. A settled vehicle costs no CPU in each physics step. Typical value: 0.5. |
| Wobble time limit | maxAwakeTime |
s | 3 |
— | Sets how long a panel can move after a hit before the solver stops the panel, even if the panel still wobbles. This is a safety limit for a panel that never settles. Typical value: 3. |
| Relight interval | normalRecalcInterval |
steps | 3 |
min 1 | Sets how often the normals of a wobbling panel update, in physics steps (3 means every third step). A higher value uses less CPU on average, but the heaviest step stays the same. The normals always update once more when the panel settles. If Recalculate normals is off on the Damage component, this setting has no effect. Typical value: 3. |
| Stiffness preset | stiffnessPreset |
— | BodyStiffnessPreset.Standard |
— | Selects a set of values for the five settings below. Soft: panels fold easily and dent about 80% deeper. Standard: dents have the same depth as classic denting. Stiff: panels resist and dent about half as deep. A preset overwrites the five values, and Custom keeps the typed values. From a script, call ApplyStiffnessPreset(). |
| Panel give | anchorCompliance |
— | 2e-3 |
— | Sets how loosely each panel is held to its original shape. This is the most important setting in this group. A higher value lets panels sag and dent easily. A lower value lets panels keep their shape. Typical range: 0.001–0.004 (Stiff 0.001, Standard 0.002, Soft 0.004). |
| Stretch give | stretchCompliance |
— | 1e-6 |
— | Sets how much the panel surface can stretch when a hit pushes the panel in. A higher value lets the metal stretch like fabric. A lower value keeps the panel size. Typical range: 0.0000005–0.000002. |
| Fold give | bendCompliance |
— | 1e-4 |
— | Sets how easily a panel folds and creases instead of bending smoothly. A higher value gives sharp creases. A lower value gives smooth curves. Typical range: 0.00005–0.0002. |
| Permanent dent depth | plasticYield |
m | 0.002 |
— | Sets how deep a dent must be before the dent becomes permanent. A shallower dent springs back fully. A higher value means only heavy hits make a mark. Typical range: 0.001–0.004. |
| Permanent dent speed | plasticRate |
— | 0.9 |
0 – 1 | Sets how fast a dent becomes permanent after it is deep enough. A higher value sets the new shape almost at once. A lower value keeps some spring-back for a time. Range: 0–1. Typical range: 0.8–0.95. |
| Impact reach | impactRadius |
m | -1 |
— | Sets the radius of the area around the hit point that the impact pushes in. -1 = use Dent spread from the Damage component (the usual choice). The field keeps -1, so the value stays automatic. Typical value: -1. |
| Impact strength | impactEnergyScale |
— | 1.75 |
— | Sets how hard a crash pushes the panels. At 1.75 (Standard preset), a soft-body dent has the same depth as a classic dent at Dent strength 1. A change of denting method then does not change how damaged the vehicle looks. Change this value only to make every crash stronger or weaker. Typical value: 1.75. |
| Weld distance | weldEpsilon |
m | 1e-4 |
— | Joins points of the model that are closer together than this distance when a panel is prepared. The seams of the model then do not open as the panel dents. For most vehicles, keep the default value. Typical value: 0.0001. |
| Detail cap per panel | maxParticlesPerMesh |
— | 6000 |
— | Sets the maximum number of points in one panel for denting. The code decreases the points of a larger panel to this number. A higher value gives finer dents on large panels and uses more memory. A lower value gives coarser dents, but does not decrease the CPU cost per step. Typical value: 6000. |
| Async island build | asyncIslandBuild |
— | true |
— | If on, most of the one-time preparation of each vehicle runs in the background, and the vehicle uses classic denting until the preparation is complete. Spawning a vehicle then does not stutter. If off, the main thread prepares the panels (Panels prepared per step at a time). Platforms without background threads always use the off behavior. |
| Panels prepared per step | islandsPerBuildStep |
— | 2 |
0 – 32 | Sets how many panels this vehicle can finish preparing in one physics step during spawn. A lower value gives a smoother spawn, but soft-body denting starts later. 0 = as many panels as are ready. Panels prepared per step in RCCP Settings also limits the total for the scene. Range: 0–32. Typical value: 2. |
| Repair instantly | instantRepair |
— | false |
— | If on, a repair moves the bodywork back to its original shape in one frame. If off, the bodywork springs back over a short time, which looks better. Repair time limit sets the longest time for the spring-back. |
| Repair time limit | repairSettleTimeout |
s | 6 |
— | Sets the longest time that a spring-back repair can take before the code completes the repair at once. This is a safety limit, measured in real time. A normal repair completes long before this limit. Increase the value only if heavy vehicles visibly snap at the end of a repair. Typical value: 6. |
Scene, AI, customization and UI
RCCP_Camera
The camera that follows the vehicle. One camera object handles every view — chase, hood, wheel, roadside, cinematic and top-down — by moving itself rather than switching between separate cameras.
Inspector sections, in order: Camera mode & switching, Chase camera (TPS), Field of view, Tilt & angle, Zoom, Automatic framing & look-around, Offset & start rotation, Hood camera (FPS), Wheel camera, Fixed camera, Cinematic camera, Crash camera, Orbit controls, Top-down camera, Crash shake.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Vehicle to follow | cameraTarget |
— | — |
— | The vehicle that this camera follows, with the hood camera and the wheel camera of that vehicle. The code sets this reference when a player vehicle spawns. Keep this field empty. |
| Camera pivot | pivot |
— | — |
— | The child object that holds the Camera. The crash shake and the distance of the TOP view move this object. The other offsets and the zoom move the camera root. If this field is empty at start, the code uses the child named Pivot. Keep the default reference. |
| Camera mode | cameraMode |
— | CameraMode.TPS |
— | Sets the current view of the camera. TPS follows behind the vehicle, FPS uses the hood camera, WHEEL shows one wheel and FIXED uses roadside cameras. CINEMATIC moves around the vehicle and TOP looks down from above. The player cycles through the views that are on below. The code selects TRUCKTRAILER, CRASH and REPLAY by itself. |
| Change camera by itself | useAutoChangeCamera |
— | false |
— | If on, the camera changes to the next view after each Time on each view interval. This setting suits a menu background. During an RCCP replay, the replay director controls the view. If off, only the player changes the view. |
| Time on each view | autoChangeCameraInterval |
s | 10 |
min 0.1 | Sets the time, in seconds, that the camera stays on each view before the next automatic change. A higher value gives slower, calmer cuts. Used only while Change camera by itself is on. Typical range: 8–15. |
| Muffle audio inside the car | useInteriorAudioMuffle |
— | false |
— | If on, the code adds a low-pass filter to the camera, and the filter muffles all sounds in the hood and wheel views. The hood and wheel views then sound like the inside of the vehicle. Muffle in the hood view and Muffle in the wheel view select the views. If off, all views sound the same. |
| Muffle cutoff | interiorLowPassCutoff |
Hz | 2200 |
500 – 22000 | Sets the cutoff frequency of the muffle, in Hz. While the muffle is active, the filter removes sounds above this frequency. A lower value gives a stronger muffle, as with closed windows. A higher value gives a weaker muffle. Typical range: 1500–3000. |
| Muffle in the hood view | muffleInFPSCamera |
— | true |
— | If on, the muffle applies in the hood (FPS) view. If off, the hood view sounds the same as the outside views. |
| Muffle in the wheel view | muffleInWheelCamera |
— | true |
— | If on, the muffle applies in the WHEEL view. If off, the wheel view sounds the same as the outside views. |
| Muffle fade speed | muffleSmoothness |
— | 8 |
1 – 20 | Sets how fast the sound changes when the camera moves into or out of a muffled view. A higher value gives an almost instant change. A lower value gives a slow fade. Typical range: 6–12. |
| Aim at the middle of the car | calculateCenterPosition |
— | true |
— | If on, the camera aims at the center of the mesh bounds of the vehicle. A long truck or a low kart then stays centered in the view. If off, the camera aims at the origin of the vehicle Transform. On many models, the origin is at floor level between the wheels. |
| Positioning method | tPSMode |
— | TPSMode.TPS2 |
— | Selects how the chase camera calculates its position. TPS2 is the newer method and stays more stable in slides and jumps. If drift mode is on, TPS2 also turns toward the travel direction. TPS1 is the method of older RCCP versions. Use TPS1 only to keep the feel of an existing project. |
| Distance behind the car | TPSDistance |
m | 6.5 |
0 – 20 | Sets the distance of the chase camera behind the vehicle, in meters. A higher value shows more road and gives a calmer view. A lower value gives a close view with a stronger feeling of speed. Typical range: 5–8. If Frame the car automatically is on, the code replaces this value. |
| Height above the car | TPSHeight |
m | 1.5 |
0 – 10 | Sets the height of the chase camera above the vehicle, in meters. A higher value shows more of the road ahead. A lower value gives a flatter, more dramatic view. Typical range: 1–2.5. If Frame the car automatically is on, the code replaces this value. |
| Follow the car's pitch | TPSLockX |
— | true |
— | If on, the chase camera follows the pitch of the vehicle (for example, on a slope or when the nose dips under braking). If off, the camera keeps its pitch and only the vehicle tilts. Off gives a calmer view. On gives a more dynamic view. |
| Follow the car's heading | TPSLockY |
— | true |
— | If on, the chase camera turns to stay behind the vehicle when the vehicle turns. On is the standard chase view. If off, the camera keeps its heading, whatever the vehicle does. |
| Follow the car's roll | TPSLockZ |
— | false |
— | If on, the chase camera rolls with the vehicle in corners and over curbs. If off, the horizon stays level. For most vehicles, keep the default value (off). |
| Stay level in the air | TPSFreeFall |
— | true |
— | If on, the chase camera stops following the rotation of the vehicle while no wheel touches the ground. A jump or a roll then does not throw the view around. If off, the camera turns with the vehicle in the air. |
| Lag under acceleration | TPSDynamic |
— | false |
— | If on, the chase camera moves back a small distance under acceleration and moves sideways in a slide. The pitch also changes a small amount with acceleration. The player then feels speed and cornering. If off, the camera keeps a fixed offset. |
| TPS rotation damping | TPSRotationDamping |
— | .5 |
0 – 1 | Sets how fast the chase camera turns back behind the vehicle. A higher value keeps the camera locked behind the vehicle. A lower value lets the camera lag in corners. The lag looks calm, but the vehicle can go out of view in a fast change of direction. Typical range: 0.3–0.7. |
| TPS minimum FOV | TPSMinimumFOV |
° | 40 |
10 – 90 | Sets the FOV of the chase camera at 0 km/h. A lower value gives a tighter, more zoomed-in view. Typical range: 35–50. |
| TPS maximum FOV | TPSMaximumFOV |
° | 60 |
10 – 160 | Sets the FOV of the chase camera at 260 km/h and above. From 0 to 260 km/h, the FOV changes from TPS minimum FOV to this value. A larger difference gives a stronger feeling of speed. If the two values are the same, the FOV does not change. Typical range: 55–75. |
| Maximum lean | TPSTiltMaximum |
° | 15 |
0 – 25 | Sets the lean of the chase camera in a slide. The lean increases with the sideways speed of the vehicle, up to 10 m/s. With TPS2 and Lean strength 1, the largest lean is 40% of this value. With TPS1, the lean is almost 0. If the value is 0, the camera does not lean. Typical range: 10–20. |
| Lean strength | TPSTiltMultiplier |
— | 1 |
0 – 1.5 | Multiplies the lean of the chase camera. A higher value gives more lean at the same sideways speed. If the value is 0, the camera does not lean. Typical range: 0.8–1.2. |
| TPS yaw angle | TPSYaw |
° | 0 |
-45 – 45 | Adds a fixed roll to the chase camera, in degrees. The code applies this value around the view axis together with the lean, so the horizon tilts. The camera does not turn to the side. If the value is 0, the camera has no extra roll. Typical range: -10 to 10. |
| Look-down angle | TPSPitch |
° | 7.5 |
-45 – 45 | Adds a fixed downward tilt to the chase camera, in degrees. A higher value shows more road and less sky. A lower value gives a flatter view along the road. A negative value tilts the camera up. Typical range: 5–12. |
| Scroll sensitivity | zoomScrollMultiplier |
— | 5 |
.5 – 10 | Sets how far the chase camera zooms for each notch of the mouse scroll wheel. A higher value zooms farther for each notch. The zoom resets when the view changes. Typical range: 3–7. |
| Farthest zoom | minimumScroll |
m | 0 |
min 0 | Sets the farthest zoom, as a distance closer than Distance behind the car, in meters. If the value is 0, the player can zoom out to Distance behind the car, but not farther. Typical range: 0–1. |
| Closest zoom | maximumScroll |
m | 5 |
min 0 | Sets the closest zoom with the mouse scroll wheel, as a distance closer than Distance behind the car, in meters. A higher value lets the camera move closer to the vehicle. Typical range: 3–6. |
| Frame the car automatically | TPSAutoFocus |
— | true |
— | If on, the code calculates Distance behind the car and Height above the car from the size of the vehicle. The code does this each time the camera gets a new vehicle, so a bus and a kart both fit the view. The new values replace the values in those two fields. If off, the code keeps the two values. |
| Turn around when reversing | TPSAutoReverse |
— | true |
— | If on, the chase camera moves to the front of the vehicle while the vehicle moves backward faster than 5 km/h. The player then sees the direction of travel. If off, the camera stays behind the vehicle. |
| Let the player look around | useOrbitInTPSCameraMode |
— | true |
— | If on, the player can turn the chase camera around the vehicle with the mouse, a finger or a gamepad stick. If off, the view stays behind the vehicle. |
| Shake at speed | TPSShake |
— | true |
— | If on, the chase camera shakes a small amount, and the shake increases with speed up to 260 km/h. The shake gives a stronger feeling of speed. If off, the view stays steady. |
| Hold to look around | useOrbitOnlyHolding |
— | true |
— | If on, the player looks around only with a drag on the RCCP_UI_Drag panel of the UI. If off, the view follows every mouse movement, and the drag panel has no effect. A gamepad stick works in both cases. The view does not move back on release. Return to the normal view moves the view back. |
| Position offset | TPSOffset |
m | — |
— | Moves the chase camera relative to the vehicle, in meters. X moves the camera left and right, Y up and down, and Z forward and back. Use this offset to put the vehicle off-center in the view without a change of distance. Typical range: 0–0.5 on each axis. |
| Rotation at spawn | TPSStartRotation |
° | — |
— | Sets the direction of the chase camera at the first spawn, before the camera moves behind the vehicle. X is the pitch and Y is the yaw, in degrees. The code applies this rotation one time only. Keep the value at 0 unless the scene needs a fixed opening shot. |
| Use occlusion | useOcclusion |
— | true |
— | If on, the camera moves closer to the vehicle when a wall, a post or a building comes between the camera and the vehicle. The vehicle then stays in view. In the WHEEL and CINEMATIC views, an obstacle changes the view to TPS. If off, a wall can block the view of the vehicle. |
| Occlusion LayerMask | occlusionLayerMask |
— | -1 |
— | The layers that block the view of the camera. The code always ignores trigger colliders, the colliders of the target vehicle, and the RCCP vehicle, prop and detachable part layers. Remove the layers that the camera must ignore, for example invisible walls. |
| Include in the camera cycle | useHoodCameraMode |
— | true |
— | If on, the hood (FPS) view is in the camera cycle. The vehicle must have a Hood Camera object, or the cycle skips this view. Add one with the Add Hood / Cockpit Camera button of RCCP_Exterior_Cameras. If off, the cycle skips this view. |
| Hood motion | hoodMotion |
— | — |
— | Optional motion from acceleration braking and cornering. |
| Hood camera FOV | hoodCameraFOV |
° | 60 |
10 – 160 | Sets the FOV of the hood (FPS) view. A higher value shows more of the vehicle and of the road at the sides, which suits a cockpit view. Typical range: 55–75. |
| Let the player look around | useOrbitInHoodCameraMode |
— | true |
— | If on, the player can look around in the hood (FPS) view with the mouse, a finger or a gamepad stick. If off, the view always points straight ahead. |
| Include in the camera cycle | useWheelCameraMode |
— | true |
— | If on, the close-up WHEEL view is in the camera cycle. The vehicle must have a Wheel Camera object, or the cycle skips this view. Add one with the Add Wheel Camera button of RCCP_Exterior_Cameras. If off, the cycle skips this view. |
| Wheel camera FOV | wheelCameraFOV |
° | 60 |
10 – 160 | Sets the FOV of the WHEEL view. A lower value gives a close view of the tire and the suspension. Typical range: 50–70. |
| Include in the camera cycle | useFixedCameraMode |
— | true |
— | If on, the FIXED (roadside) view is in the camera cycle. The view cuts between fixed points as the vehicle passes them. This view uses a Fixed Camera System in the scene. Use the Create Fixed Camera System button below to add one. If off, the cycle skips this view. |
| Include in the camera cycle | useCinematicCameraMode |
— | true |
— | If on, the CINEMATIC view is in the camera cycle. The view moves around the vehicle, for replays and menus. This view uses a Cinematic Camera System in the scene. Use the Create Cinematic Camera System button below to add one. If off, the cycle skips this view. |
| Let a crash take this camera | useCrashCameraMode |
— | true |
— | If on, a hard crash can take over this camera for a slow-motion shot of the impact. This shot is not in the camera cycle. A Crash Camera System must be in the scene. Enable this setting, then use the Create Crash Camera System button that appears. If off, the crash camera never uses this camera. |
| Look-around speed (left/right) | orbitXSpeed |
— | 100 |
min 0 | Sets how fast the view turns left and right for a drag on the RCCP_UI_Drag panel. A gamepad stick at full travel turns the view this number of degrees per second. A higher value turns the view farther. With Hold to look around off, mouse movement does not use this value. Typical range: 60–150. |
| Look-around speed (up/down) | orbitYSpeed |
— | 100 |
min 0 | Sets how fast the view turns up and down for a drag on the RCCP_UI_Drag panel. A gamepad stick at full travel turns the view this number of degrees per second. A higher value turns the view farther. With Hold to look around off, mouse movement does not use this value. Typical range: 60–150. |
| Look-around smoothing | orbitSmooth |
— | 25 |
min 0 | Sets how fast the view follows the look-around input of the player. A higher value gives an immediate, direct response. A lower value gives a heavy, slow camera. Typical range: 15–30. |
| Lowest look-up angle | minOrbitY |
° | -15 |
-90 – 0 | Sets the lowest pitch angle of the look-around view, in degrees. A negative value lets the camera move below the vehicle and look up. A more negative value lets the camera move down to road level. Typical range: -25 to -5. |
| Highest look-down angle | maxOrbitY |
° | 70 |
0 – 90 | Sets the highest pitch angle of the look-around view, in degrees. A higher value lets the camera move almost directly above the vehicle and look down. Typical range: 50–80. |
| Return to the normal view | orbitReset |
— | true |
— | If on, the camera moves back behind the vehicle 2 seconds after the last look-around input, while the vehicle moves at 10 km/h or more. The player then does not drive with a sideways view. If off, the view stays where the player put it. |
| Include in the camera cycle | useTopCameraMode |
— | false |
— | If on, the TOP (overhead) view is in the camera cycle. This view suits a map-style or top-down game. If off, the cycle skips this view. |
| Use ortho mode | useOrthoForTopCamera |
— | false |
— | If on, the TOP view uses an orthographic camera (no perspective). Vehicles at the edge of the screen then look the same as vehicles in the center, as in classic top-down games. If off, the TOP view uses a perspective camera that looks down from a height. |
| Overhead height | topCameraDistance |
m | 100 |
min 0 | Sets the distance from the vehicle to the overhead camera, in meters, along the view direction. The height of the camera depends on this value and on Viewing angle. In perspective mode, a higher value shows more of the map and makes the vehicle smaller. Typical range: 50–150. |
| Viewing angle | topCameraAngle |
° | — |
— | Sets the rotation of the overhead camera, in degrees. X tilts the view down: 90 looks straight down, and about 45 gives a tilted, isometric look. Y turns the view around the vehicle. The view does not turn with the vehicle. |
| Look-ahead at speed | maximumZDistanceOffset |
m | 10 |
min 0 | Sets how far ahead of the vehicle the overhead view moves as speed increases, so the player can see the road ahead. The full distance applies at 100 km/h and above. If the value is 0, the vehicle stays in the center of the screen. Typical range: 5–20. |
| Minimum ortho size / FOV | minimumOrtSize |
— | 10 |
min 0 | Sets the framing of the overhead camera at 0 km/h. A lower value gives a closer view. With Use ortho mode on, this value is the orthographic size. With Use ortho mode off, this value is the FOV in degrees. Typical value: 10. |
| Maximum ortho size / FOV | maximumOrtSize |
— | 20 |
min 0 | Sets the framing of the overhead camera at 100 km/h and above, so fast driving shows more of the road. This value uses the same unit as Minimum ortho size / FOV (orthographic size or FOV in degrees). Typical value: 20. |
| Shake the camera on impact | enableCollisionEffects |
— | true |
— | If on, a hard impact of the player vehicle shakes the camera with a shove, a twist and a rumble. The camera then moves back to its position. Live impacts do not shake the FIXED and CINEMATIC views. If off, a live impact does not move the camera. |
| Spring stiffness | collisionSpringStiffness |
— | 60 |
1 – 200 | Sets how fast the spring pulls the camera back to its position after an impact. A higher value gives a short, sharp jolt. A lower value gives a long, loose swing. Typical range: 40–90. |
| Spring damping | collisionSpringDamping |
— | 15 |
0 – 50 | Sets how fast the shake decreases after an impact. A higher value gives one clean knock with no wobble. A lower value lets the camera rock for longer after the impact. Typical range: 10–25. |
| Movement strength | collisionTranslationMultiplier |
— | 1 |
0 – 5 | Sets how far an impact pushes the camera out of position. A higher value gives a large shove. If the value is 0, the shove does not move the camera, and only the twist remains. Typical range: 0.5–1.5. |
| Twist strength | collisionRotationMultiplier |
— | 1 |
0 – 5 | Sets how far an impact twists the camera. A higher value makes the horizon swing more. If the value is 0, the shove does not turn the camera. Typical range: 0.5–1.5. |
| Rumble strength | collisionRumbleIntensity |
— | 1 |
0 – 5 | Sets the strength of the fast, fine shake that adds to the main shove. A higher value gives a harder, rougher impact. If the value is 0, the shove has no rumble. Typical range: 0.5–1.5. |
| FOV kick strength | collisionFOVKickStrength |
— | 1 |
0 – 5 | Sets how much the view zooms in for a short time on a shake from TriggerCollisionShake() (for example, an exhaust pop or a replayed impact). Live impacts do not use this kick. If the value is 0, the FOV does not change. Used only while Shake the camera on impact is on. Typical range: 0.5–1.5. |
RCCP_Camera+CameraTarget
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| playerVehicle | playerVehicle |
— | — |
— | The vehicle that this camera follows. The code sets this reference when a player vehicle spawns. Keep this field empty. |
RCCP_Settings
The project-wide settings for RCCP. These settings apply to every vehicle and every scene in the project. The settings include the behavior presets, the physics and frame-rate defaults and the layers. The settings also include the prefabs and sounds that a new vehicle starts with.
Inspector sections, in order:
- General settings
- Behavior presets
- Controls
- Interface & logging
- Ground surfaces
- Tags & layers
- Optimization
- Resources
- Light prefabs
- Camera prefabs
- UI prefabs
- Particles
- Sound effects
- Other prefabs
- Rendering
- Physics & frame rate
- Wheel physics
- Deformation budget
- Input
- Mobile controls
- Dashboard
- Debug overlays
- Logging
- Lights
- Realtime reflections
- Engine sounds
- Vehicle sounds
- Wheel & turbo sounds
- Time scale
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Realtime reflections | realtimeReflections |
— | false |
— | If enabled, one reflection probe follows the active player vehicle. Disabled by default. Enable Realtime Reflection Probes in Unity before use. |
| Reflection resolution | reflectionResolution |
— | 128 |
64 – 512 | Sets the resolution of each reflection face. Higher values increase render cost and memory use. |
| Reflection update interval | reflectionUpdateInterval |
s | .2 |
min .05 | Sets the minimum time between reflection captures, in seconds. A new capture waits until the previous capture finishes. |
| Time slicing | reflectionTimeSlicing |
— | ReflectionProbeTimeSlicingMode.IndividualFaces |
— | Selects how each reflection capture is distributed across frames. No Time Slicing completes the capture in one frame and can cause frame spikes. |
| Reflection render distance | reflectionRenderDistance |
m | 80 |
min 10 | Sets the maximum distance captured by the reflection probe, in meters. Lower values reduce the visible scene. Probe captures do not render shadows. |
| Reflection layers | reflectionCullingMask |
— | ~0 |
— | Selects the layers visible in reflections. Standard RCCP vehicle, wheel, detachable-part and UI layers are always excluded. Use vehicle layers for vehicle renderers. |
| Use multithreading | multithreading |
— | true |
— | If on, supported platforms prepare skidmark mesh data on background threads. Mesh uploads stay on the main thread. Web builds and single-core devices use the main thread. Worker failures also use the main thread. Set this before Play Mode. Vehicle physics and deformation jobs use separate settings. |
| Override Fixed Timestep | overrideFixedTimeStep |
— | true |
— | If on, the RCCP Scene Manager sets the physics time step of the project to Fixed Timestep when the scene starts. All vehicles then use the same physics rate. If off, the code keeps the Time settings of the project. |
| Fixed Timestep | fixedTimeStep |
s | .02 |
.005 – .06 | Sets the physics time step, in seconds. A lower value gives smoother, more accurate vehicle physics at a higher CPU cost. A higher value costs less, but fast or stiff vehicles can jitter. 0.02 (50 steps per second) is the safe default. 0.01 (100 steps per second) suits racing or VR. Used only while Override Fixed Timestep is on. |
| Cap the frame rate | overrideFPS |
— | false |
— | If on, the RCCP Scene Manager sets the target frame rate to Frame rate cap when the scene starts. If off, the code keeps the frame-rate setting of the project. |
| Frame rate cap | maxFPS |
fps | 120 |
min 1 | Sets the highest frame rate of the game. A lower value decreases heat and battery use on a phone. Used only while Cap the frame rate is on. Typical values: 60 on mobile, 120 or more on desktop. |
| Apply maximum angular velocity | applyMaxAngularVelocity |
— | false |
— | If on, the code applies Maximum angular velocity to the Rigidbody of each vehicle when the vehicle starts. A vehicle then cannot spin too fast after a hard impact. If off, the code does not limit the spin, as in older RCCP versions. A change of this setting changes how all vehicles flip and spin. |
| Maximum angular velocity | maxAngularVelocity |
rad/s | 6 |
.5 – 20 | Sets the highest rotation speed of each vehicle, in rad/s. A lower value decreases spins and rolls after a crash, and vehicles settle sooner. A higher value permits faster spins. Typical range: 5–8. Used only while Apply maximum angular velocity is on. |
| Use fixed WheelColliders | useFixedWheelColliders |
— | true |
— | If on, the wheel system uses the vehicle mass divided by 25 as each wheel's effective mass. If off, the wheel system uses each wheel's authored mass. |
| Auto reset (legacy) | autoReset |
— | true |
— | Not used. RCCP keeps this field only so that old projects load. To flip a vehicle back onto its wheels, use Flip the car back over on RCCP_AeroDynamics. |
| Limit soft-body denting | deformationBudgetEnabled |
— | true |
— | If on, the code shares the cost of soft-body denting across all vehicles in the scene. If the cost is too high (for example, in a large pile-up), the code simplifies some vehicles or changes them to classic denting. The player vehicle is never simplified. If off, every vehicle dents at full quality at any cost. |
| Denting budget | deformationBudgetMs |
ms | 10 |
min 0.1 | Sets the CPU time per physics step, in ms, that all soft-body vehicles in the scene share. A higher value lets more vehicles keep full-quality dents, but uses more CPU. A lower value simplifies vehicles sooner. Typical value: 10. |
| Panels prepared per step | deformationBuildBudget |
— | 4 |
min 0 | Sets how many body panels all vehicles in the scene can finish preparing in one physics step. This limit prevents a stutter when many vehicles spawn at the same time. A lower value gives a smoother spawn, but soft-body denting starts later. If the value is 0, there is no scene-wide limit. Typical value: 4. |
| Denting memory cap | deformationMemoryCapMB |
MB | 96 |
min 0 | Sets the memory, in MB, that all soft-body vehicles in the scene can use together. Above this value, off-screen vehicles that already use classic denting release their memory. If such a vehicle needs soft-body denting again, the code must rebuild it fully. If the value is 0, there is no limit. Typical value: 96. |
| Apply a behavior preset | overrideBehavior |
— | true |
— | If on, the code applies the selected preset to every vehicle. The preset replaces the assist, steering, differential, grip, suspension and gear-shift values of each vehicle. If off, each vehicle keeps its own values. A vehicle with Ignore behavior presets on never gets a preset. A vehicle with Use a vehicle-specific preset on gets its own preset in both cases. |
| Presets | behaviorTypes |
— | — |
— | The driving presets of the project. The shipped presets are Balanced, Drift, Race and Arcade. The bar below selects the active preset. Each preset holds a full set of assist, steering, grip and suspension values. While Apply a behavior preset is on, a change of preset changes the setup of all vehicles at one time. |
| Remember key bindings | autoSaveLoadInputRebind |
— | true |
— | If on, the code saves the keys and buttons that the player rebinds, and loads them again in the next session. If off, the controls go back to the defaults in each session. |
| Use mobile controller | mobileControllerEnabled |
— | false |
— | If on, the UI shows the on-screen steering, pedals and buttons, and these controls drive the vehicle. If off, the UI hides them, and only a keyboard or gamepad drives the vehicle. Enable this setting for a phone or tablet build. |
| Mobile controller type | mobileController |
— | — |
— | Selects the on-screen controls. Touch Screen shows left and right steering buttons. Gyro steers when the player tilts the device. Steering Wheel shows a wheel that the player turns with a finger. Joystick shows a thumbstick. |
| Tilt sensitivity | gyroSensitivity |
— | 2.5 |
min 0 | Sets how much the vehicle steers for a given tilt of the device. A higher value gives full steering at a small tilt, and the steering becomes hard to control. A lower value needs more tilt. Typical range: 2–4. Used only with the Gyro controller type. |
| Show speed in mph | useMPH |
— | false |
— | If on, the UI shows all speeds in mph. If off, the UI shows km/h. This setting changes only the display, not the physics. |
| Show the telemetry panel | useTelemetry |
— | false |
— | If on, the RCCP Scene Manager adds the Telemetry canvas when the scene starts. The panel shows live vehicle data (for example, speed, RPM, gear and wheel forces). Use this panel to tune a vehicle. Disable this setting before release. |
| Show the input panel | useInputDebugger |
— | false |
— | If on, the UI shows a short message for each button action of the player (for example, a gear shift, a light switch or an assist switch). Use these messages to find out if a control problem comes from the input or from the vehicle. Disable this setting before release. |
| Extra console messages | verboseLog |
— | true |
— | If on, RCCP writes a Console message for routine actions (for example, a vehicle spawn, a preset change or a damage save). Warnings and errors show in both cases. The messages flood the Console, so keep this setting off in the shipped project. Enable this setting only to find a problem. |
| Set layers automatically | setLayers |
— | true |
— | If on, the code puts vehicle objects on the layers below. In Edit Mode, the vehicle Inspector puts the body on Vehicle layer. The Inspector also puts each RCCP_WheelCollider on WheelCollider layer and each detachable part on Detachable part layer. Each RCCP_Prop goes on Prop layer. If off, the code does not change these layers. |
| Vehicle layer | RCCPLayer |
— | "RCCP_Vehicle" |
— | The name of the layer for vehicle bodies. The layer must exist in Tags and Layers. If the layer is missing, the inspector shows Missing beside the name. |
| WheelCollider layer | RCCPWheelColliderLayer |
— | "RCCP_WheelCollider" |
— | The name of the layer for wheels. Each RCCP_WheelCollider puts its GameObject on this layer at start. The RCCP installer disables collisions between this layer and the Detachable part layer and Prop layer. |
| Detachable part layer | RCCPDetachablePartLayer |
— | "RCCP_DetachablePart" |
— | The name of the layer for detachable parts (for example, a bumper, hood or door). Each RCCP_DetachablePart puts its objects on this layer at start. The RCCP installer disables collisions between this layer and Vehicle layer, so a loose part does not push against its vehicle. |
| Prop layer | RCCPPropLayer |
— | "RCCP_Prop" |
— | The name of the layer for RCCP_Prop objects (for example, cones, bins and signs). Camera occlusion ignores this layer, so props do not block the view. Vehicle bodies can push props. The RCCP installer disables collisions between this layer and WheelCollider layer. |
| Obstacle layer | RCCPObstacleLayer |
— | "RCCP_Obstacle" |
— | The name of the obstacle layer. RCCP adds this layer to the project if the layer is missing. The AI does not read this setting. Set the obstacle layers of the AI on the RCCP_AIDynamicObstacleAvoidance component. |
| Headlights as vertex lights | useHeadLightsAsVertexLights |
— | false |
— | If on, low-beam headlights use per-vertex lighting (ForceVertex). This mode costs less, but lights the road less exactly. If off, low-beam headlights use per-pixel lighting. For mobile platforms, enable this setting. A lamp with Keep my render mode on ignores this setting. |
| Brake lights as vertex lights | useBrakeLightsAsVertexLights |
— | true |
— | If on, brake lights and tail lights use per-vertex lighting (ForceVertex), which costs less. If off, these lamps use per-pixel lighting. For mobile platforms, enable this setting. A lamp with Keep my render mode on ignores this setting. |
| Reverse lights as vertex lights | useReverseLightsAsVertexLights |
— | true |
— | If on, reverse lights use per-vertex lighting (ForceVertex), which costs less. If off, these lamps use per-pixel lighting. For mobile platforms, enable this setting. A lamp with Keep my render mode on ignores this setting. |
| Indicator lights as vertex lights | useIndicatorLightsAsVertexLights |
— | true |
— | If on, indicator lights use per-vertex lighting (ForceVertex), which costs less. If off, these lamps use per-pixel lighting. For mobile platforms, enable this setting. A lamp with Keep my render mode on ignores this setting. |
| Other lights as vertex lights | useOtherLightsAsVertexLights |
— | true |
— | No RCCP script reads this setting at present. A lamp type without its own setting above (for example, a high beam) uses the Render mode of its RCCP_Light component. |
| Default lamp setup | lightsSetupData |
— | — |
— | The default color, intensity and lens flare settings for a new lamp (headlight, brake light, tail light, reverse light or indicator). The RCCP light editors use these values when they create a lamp. Lamps that already exist do not change. |
| Lamp glow mesh | lightBox |
— | — |
— | The glow mesh that the Create LightBox button of an RCCP_Light adds in front of the lamp. The lamp then uses the mesh as its emissive renderer and looks lit from a distance. |
| Chase camera | RCCPMainCamera |
— | — |
— | The RCCP_Camera prefab that the Add to Scene menu creates. Assign a custom prefab to give each new scene the same camera framing and settings. |
| Hood camera | RCCPHoodCamera |
— | — |
— | The hood camera prefab that the Add Hood / Cockpit Camera button adds to a vehicle, for the hood (FPS) view. |
| Cinematic camera | RCCPCinematicCamera |
— | — |
— | The cinematic camera prefab that the Create Cinematic Camera System button adds to the scene. This camera moves around the vehicle for replays and menus. |
| Wheel camera | RCCPWheelCamera |
— | — |
— | The wheel camera prefab that the Add Wheel Camera button adds to a vehicle, for the close-up WHEEL view. |
| Fixed camera | RCCPFixedCamera |
— | — |
— | The fixed camera prefab that the Create Fixed Camera System button adds to the scene. The view cuts to these roadside positions as the vehicle passes. |
| Dashboard canvas | RCCPCanvas |
— | — |
— | The UI canvas prefab that the Add to Scene menu creates. The canvas holds the speedometer, the RPM gauge, the on-screen controls and the menus. Assign a restyled copy here to use the copy in new scenes. |
| Telemetry canvas | RCCPTelemetry |
— | — |
— | The telemetry panel that the RCCP Scene Manager adds at scene start while Show the telemetry panel is on. The panel shows live vehicle data. |
| Scrape dust | contactParticles |
— | — |
— | The default spark burst for a new RCCP_Particles component. The sparks play at the contact point when the vehicle hits something. |
| Scrape sparks | scratchParticles |
— | — |
— | The default spark trail for a new RCCP_Particles component. The sparks play while metal scrapes along a wall or the road. |
| Wheel sparks | wheelSparkleParticles |
— | — |
— | The default wheel sparks for a new RCCP_Particles component. The sparks play at a flat (deflated) tire that turns at 250 RPM or more. |
| Engine smoke | damageSmokeParticles |
— | — |
— | The smoke from the engine area of a badly damaged vehicle. A new RCCP_Particles component starts with this effect. A vehicle with an empty smoke slot uses this effect. |
| Engine fire | damageFireParticles |
— | — |
— | The fire on a wrecked engine. A new RCCP_Particles component starts with this effect. A vehicle with an empty fire slot uses this effect. |
| Tire blowout particles | blowoutParticles |
— | — |
— | The burst of air and rubber when a tire bursts. A new RCCP_Particles component starts with this effect. A vehicle with an empty burst slot uses this effect. |
| Part debris | detachDebrisParticles |
— | — |
— | The debris when a bumper, hood or door tears off. A new RCCP_Particles component starts with this effect. A vehicle with an empty debris slot uses this effect. |
| Broken glass | glassShardParticles |
— | — |
— | The glass shards when a lamp breaks. A new RCCP_Particles component starts with this effect. A vehicle with an empty glass slot uses this effect. |
| Audio mixer | audioMixer |
— | — |
— | The main group of the RCCP AudioMixer. Engine, tire, impact and other sounds play through the four child groups below, so a game can set each volume separately. The volume and pitch of this group still apply to every sound. The crash camera and slow motion change the pitch here. |
| Engine group | engineAudioGroup |
— | — |
— | The mixer group for engine sounds: engine layers, starter, turbo, blow-off, NOS, exhaust pops and backfires, gear shifts and the rev limiter. Used by each vehicle whose Mixer group is Audio mixer. If this field is empty, these sounds use Audio mixer. |
| Tires group | tiresAudioGroup |
— | — |
— | The mixer group for tire sounds: skids, brake squeal, and flat, deflating or inflating tires. Used by each vehicle whose Mixer group is Audio mixer. If this field is empty, these sounds use Audio mixer. |
| Impacts group | impactsAudioGroup |
— | — |
— | The mixer group for crash sounds. Used by each vehicle whose Mixer group is Audio mixer. If this field is empty, these sounds use Audio mixer. |
| Other group | otherAudioGroup |
— | — |
— | The mixer group for wind and the reverse sound. Used by each vehicle whose Mixer group is Audio mixer. If this field is empty, these sounds use Audio mixer. |
| Follow the time scale | audioFollowsTimeScale |
— | true |
— | If on, RCCP audio follows the time scale of the game through the AudioMixer. At time scale 0 (a paused replay, photo mode or a pause menu), the code pauses all audio. In slow motion, the pitch and volume decrease. Above 1x, the pitch increases. The mixer must have the RCCP_Pitch and volume parameters. |
| Lowest slow-motion pitch | timeScalePitchMin |
— | 0.5 |
0.25 – 1 | Sets the lowest pitch in slow motion. The pitch follows the square root of the time scale, so 0.25x plays at pitch 0.5, unless this limit is higher. |
| Highest fast-forward pitch | timeScalePitchMax |
— | 1.5 |
1 – 2 | Sets the highest pitch when time runs faster than 1x (for example, a 2x replay or a fast rewind). |
| Slow-motion volume drop | slowMotionVolumeDb |
dB | -6 |
-24 – 0 | Sets the volume decrease at the slowest time scale, in dB. The decrease becomes smaller as the time scale increases, and is 0 dB at 1x. |
| Mute while rewinding | muteWhileRewinding |
— | true |
— | If on, the code mutes all RCCP audio while a replay rewinds. If off, the engine and other sounds play at a rewind pitch. |
| Idle | engineIdleClipOn |
— | — |
— | The default idle clip of a new vehicle. The clip plays while the engine is under power (throttle on). |
| Idle (coasting) | engineIdleClipOff |
— | — |
— | The default idle clip of a new vehicle for coasting (throttle off). This field can use the same clip as Idle. |
| Low RPM | engineLowClipOn |
— | — |
— | The default low-RPM clip of a new vehicle. The clip plays while the engine is under power (throttle on). |
| Low RPM (coasting) | engineLowClipOff |
— | — |
— | The default low-RPM clip of a new vehicle for coasting (throttle off). |
| Mid RPM | engineMedClipOn |
— | — |
— | The default mid-RPM clip of a new vehicle. The clip plays while the engine is under power (throttle on). |
| Mid RPM (coasting) | engineMedClipOff |
— | — |
— | The default mid-RPM clip of a new vehicle for coasting (throttle off). |
| High RPM | engineHighClipOn |
— | — |
— | The default high-RPM clip of a new vehicle. The clip plays while the engine is under power (throttle on). |
| High RPM (coasting) | engineHighClipOff |
— | — |
— | The default high-RPM clip of a new vehicle for coasting (throttle off). |
| Starter motor | engineStartClip |
— | — |
— | The default starter-motor sound of a new vehicle. The sound plays one time at each engine start. |
| Reverse whine | reversingClip |
— | — |
— | The default reverse sound of a new vehicle. The volume and pitch of the sound increase with reverse speed. |
| Wind | windClip |
— | — |
— | The default wind sound of a new vehicle. The volume of the sound increases with speed. |
| Brake squeal | brakeClip |
— | — |
— | The default brake squeal of a new vehicle. The volume increases with the brake force on the front wheels while the wheels turn. |
| Indicator tick | indicatorClip |
— | — |
— | The sound for each flash of an indicator. No RCCP script reads this field at present, so this clip does not play. |
| Bump | bumpClip |
— | — |
— | The bump sound for a pothole or a curb. No RCCP script reads this field at present, so this clip does not play. |
| NOS | NOSClip |
— | — |
— | The default NOS sound of a new vehicle. The sound plays while NOS is active. |
| Turbo | turboClip |
— | — |
— | The default turbo sound of a new vehicle. The volume and pitch of the sound follow the boost pressure. |
| Backfire pops | exhaustFlameClips |
— | — |
— | The default exhaust pop sounds for a backfire flame. Add more than one clip, and the code selects one at random each time. The pops then do not sound the same each time. |
| Gear changes | gearClips |
— | — |
— | The default gear-change sounds of a new vehicle. A sound plays at each gear change. Add more than one clip, and the code selects one at random each time. |
| Crashes | crashClips |
— | — |
— | The default impact sounds of a new vehicle. Add more than one clip, and the code selects one at random for each impact. Repeated crashes then do not sound the same. |
| Tire blowout sound | wheelDeflateClip |
— | — |
— | The default sound of a new vehicle when a tire goes flat. |
| Tire repair | wheelInflateClip |
— | — |
— | The default sound of a new vehicle when a flat tire is inflated again (repaired). |
| Flat tire roll | wheelFlatClip |
— | — |
— | The default loop of a new vehicle that plays while the vehicle drives on a flat tire. |
| Turbo blow-off | blowoutClip |
— | — |
— | The default turbo blow-off sounds of a new vehicle. A sound plays when the throttle closes while the turbo has boost. Add more than one clip, and the code selects one at random each time. |
| Exhaust smoke | exhaustGas |
— | — |
— | The exhaust smoke prefab that the Create Exhaust button adds to a vehicle. |
| Skidmark manager | skidmarksManager |
— | — |
— | No RCCP script reads this reference at present. If the scene has no skidmark manager, the code creates one when a wheel starts. The manager makes one skidmark mesh for each ground surface. |
| Wheel blur | wheelBlur |
— | — |
— | The blurred wheel mesh that an RCCP_WheelBlur component puts on each wheel. The code shows the blur when the wheel spins fast. |
| Lens flare (URP / HDRP) | lensFlareData |
— | — |
— | The lens flare asset for lamps in a URP or HDRP project. The RCCP light tools and the Render Pipeline Converter put this flare on lamps. The inspector shows this field only with URP or HDRP. |
| Lens flare (built-in) | flare |
— | — |
— | The lens flare asset for lamps in a Built-in pipeline project. The RCCP light setup tools use this flare. |
| Lens flare prefab | flarePrefab |
— | — |
— | A reference prefab with a LensFlare component. In a Built-in pipeline project, the Light Setup wizard copies the LensFlare values of this prefab to each new lamp. |
| HDRP volume profile prefab | hdrpVolumeProfilePrefab |
— | — |
— | The post-processing volume prefab that the Render Pipeline Converter adds to a scene when it converts a project to HDRP. The inspector shows this field only with HDRP. |
| Decal material | defaultDecalMaterial |
— | — |
— | The default material for a decal upgrade (RCCP_VehicleUpgrade_Decal). The code assigns this material when the DecalProjector has no material or a default material. |
| Neon material | defaultNeonMaterial |
— | — |
— | The default material for a neon upgrade (RCCP_VehicleUpgrade_Neon). The code assigns this material when the DecalProjector has no material or a default material. |
| Vehicle collider material | vehicleColliderMaterial |
— | — |
— | A physics material for vehicle body colliders. No shipped RCCP script reads this field at present, so the code does not apply this material. |
| behaviorSelectedIndex | behaviorSelectedIndex |
— | 0 |
min 0 | The index of the active preset in Presets, from 0. The bar of preset names in this inspector sets this value. Select the preset with the bar, not with this number. |
| Light Cone Material | lightConeMaterial |
— | — |
— | The shared material for the fake headlight beams. A vehicle with an empty beam material slot uses this material. This reference also keeps the beam shader in a build. |
| Light Pool Material | lightPoolMaterial |
— | — |
— | The shared material for the pool of light on the road from a headlight, on render pipelines that cannot project a decal. A vehicle with an empty pool material slot uses this material. |
| Light Pool Decal Material | lightPoolDecalMaterial |
— | — |
— | The shared material for the pool of light on the road from a headlight on URP, where the code projects the pool as a decal. The URP Decal Renderer Feature must be active. |
| foldGeneralSettings | foldGeneralSettings |
— | false |
— | Stores the open or closed state of the General settings section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldBehaviorSettings | foldBehaviorSettings |
— | false |
— | Stores the open or closed state of the Behavior presets section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldControllerSettings | foldControllerSettings |
— | false |
— | Stores the open or closed state of the Controls section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldUISettings | foldUISettings |
— | false |
— | Stores the open or closed state of the Interface & logging section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldWheelPhysics | foldWheelPhysics |
— | false |
— | Stores the open or closed state of the Ground surfaces section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldOptimization | foldOptimization |
— | false |
— | Stores the open or closed state of the Optimization section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldTagsAndLayers | foldTagsAndLayers |
— | false |
— | Stores the open or closed state of the Tags & layers section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesSettings | foldResourcesSettings |
— | false |
— | Stores the open or closed state of the Resources section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesLightPrefabs | foldResourcesLightPrefabs |
— | false |
— | Stores the open or closed state of the Light prefabs section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesCameraPrefabs | foldResourcesCameraPrefabs |
— | false |
— | Stores the open or closed state of the Camera prefabs section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesUIPrefabs | foldResourcesUIPrefabs |
— | false |
— | Stores the open or closed state of the UI prefabs section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesParticles | foldResourcesParticles |
— | false |
— | Stores the open or closed state of the Particles section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesSoundFX | foldResourcesSoundFX |
— | false |
— | Stores the open or closed state of the Sound effects section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesOtherPrefabs | foldResourcesOtherPrefabs |
— | false |
— | Stores the open or closed state of the Other prefabs section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| foldResourcesRendering | foldResourcesRendering |
— | false |
— | Stores the open or closed state of the Rendering section of this inspector. If you click the section heading, this value changes. The value has no effect on the game. |
| Fake Shadow Material | fakeShadowMaterial |
— | — |
— | The shared material for the fake shadow under a vehicle. A vehicle with an empty shadow material slot uses this material. This reference also keeps the shadow shader in a build. |
RCCP_Settings+BehaviorType
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| behaviorName | behaviorName |
— | "New Behavior" |
— | The name of this preset. The preset bar above and every preset menu show this name. RCCP.SetBehavior() finds a preset by this name. |
| ABS | ABS |
— | true |
— | If on, the brakes release and apply again when a wheel is about to lock, so the vehicle can steer during hard braking. If off, the wheels can lock and the vehicle slides straight ahead. This setting applies to every vehicle that uses this preset. |
| ESP | ESP |
— | true |
— | If on, ESP (stability control) brakes single wheels to stop a spin or a slide. ESP can also decrease the engine torque. If off, the player must correct every slide. This setting applies to every vehicle that uses this preset. |
| TCS | TCS |
— | true |
— | If on, TCS (traction control) decreases the drive torque at a driven wheel that spins. The vehicle accelerates with less wheelspin. If off, the player must control the wheelspin. This setting applies to every vehicle that uses this preset. |
| steeringHelper | steeringHelper |
— | true |
— | If on, forces at the wheels push the vehicle toward the steering direction and decrease sideways slip. The vehicle is stable and easy to aim. If off, the vehicle goes where the tires take it. |
| tractionHelper | tractionHelper |
— | true |
— | If on, the code decreases the front grip while the vehicle slides. A spin then changes back into a slide and does not get worse. If off, the vehicle gets no help to recover. |
| angularDragHelper | angularDragHelper |
— | false |
— | If on, the angular drag increases with speed, so the vehicle resists rotation more at high speed. This prevents sudden spins at high speed. If off, the vehicle turns as freely at 200 km/h as at 20 km/h. |
| driftMode | driftMode |
— | false |
— | If on, this preset is a drift preset. During a slide, the code decreases the tire grip (mostly at the rear) and adds forces that help hold the slide. If off, the vehicle is configured for grip. |
| driftAngleLimiter | driftAngleLimiter |
— | false |
— | If on, the code slows the rotation of the vehicle when the slide angle is more than Drift Angle Limit. This prevents a full spin. If off, nothing stops a spin. |
| driftAngleLimit | driftAngleLimit |
° | 30 |
0 – 90 | Sets the slide angle (between the heading and the direction of travel) at which Drift Angle Limiter starts to act. A higher value permits long, wide slides. A lower value holds the vehicle almost straight. Typical range: 25–40 for a drift preset. |
| driftAngleCorrectionFactor | driftAngleCorrectionFactor |
— | 3 |
0 – 10 | Sets how strongly Drift Angle Limiter decreases the rotation when the slide angle is more than Drift Angle Limit. A higher value stops the slide sharply. A lower value corrects the slide gently. Typical range: 2–4. |
| driftYawTorqueMultiplier | driftYawTorqueMultiplier |
— | 0.7 |
0 – 3 | Scales the yaw torque that Drift Mode adds from the steering and the throttle. A higher value turns the rear of the vehicle around faster, and slides are easy to start. Typical range: 0.5–1. |
| driftForwardForceMultiplier | driftForwardForceMultiplier |
— | 2000 |
0 – 5000 | Scales a forward push along the vehicle while the rear tires slide. The push keeps the vehicle from losing all its speed. A higher value gives long slides that keep their speed. Typical range: 1000–2000. |
| driftSidewaysForceMultiplier | driftSidewaysForceMultiplier |
— | 1500 |
0 – 4000 | Scales a sideways push while the vehicle slides. A higher value gives wide slides. A lower value gives tight slides that stay on the line. Typical range: 1000–2000. |
| driftMinSpeed | driftMinSpeed |
km/h | 20 |
0 – 60 | Sets the speed below which the code adds no drift forces (yaw torque and pushes). The drift grip decrease still applies below this speed. Typical range: 15–30 km/h. |
| driftFullForceSpeed | driftFullForceSpeed |
km/h | 80 |
20 – 150 | Sets the speed at which the drift forces reach full strength. Between Drift Min Speed and this speed, the forces increase linearly. Typical range: 60–100 km/h. |
| driftThrottleYawFactor | driftThrottleYawFactor |
— | 0.3 |
0 – 1 | Sets how much the throttle alone turns the rear of the vehicle around during a slide. A higher value lets the player hold and steer a slide with the throttle only. Typical range: 0.4–0.7. |
| driftRearSidewaysStiffnessMin | driftRearSidewaysStiffnessMin |
— | 0.45 |
0.1 – 1 | Sets how much sideways grip the rear tires keep at full slide, as a multiplier. A lower value makes the rear lose grip easily, and the vehicle stays sideways. 1 = no grip loss. Typical range: 0.4–0.7. |
| driftRearForwardStiffnessMin | driftRearForwardStiffnessMin |
— | 0.8 |
0.5 – 1 | Sets how much forward grip the rear tires keep at full slide, as a multiplier. A lower value makes the vehicle lose more speed in a slide. Typical range: 0.8–1. |
| driftFrontSidewaysStiffnessMin | driftFrontSidewaysStiffnessMin |
— | 0.9 |
0.5 – 1.2 | Sets the sideways grip multiplier of the front tires during a drift. The front tires get half of the drift effect, so at full slide their grip is halfway between 1 and this value. A higher value lets the player steer the slide. Typical range: 0.6–0.9. |
| driftFrictionResponseSpeed | driftFrictionResponseSpeed |
— | 8 |
1 – 20 | Sets how fast the tire grip decreases when a slide starts. A higher value makes the vehicle lose grip suddenly. A lower value makes the vehicle slide gradually. Typical range: 8–15. |
| driftFrictionRecoverySpeed | driftFrictionRecoverySpeed |
— | 4 |
1 – 20 | Sets how fast the tire grip returns when a slide ends. A higher value restores the grip almost at once. A lower value keeps the tires loose for a short time. Typical range: 8–15. |
| driftMaxAngularVelocity | driftMaxAngularVelocity |
°/s | 120 |
0 – 360 | Limits the rotation speed (yaw rate) of the vehicle during a drift, so a slide cannot change into an endless spin. 0 = no limit. Typical range: 65–120 degrees per second. |
| driftCounterSteerRecoveryBoost | driftCounterSteerRecoveryBoost |
— | 2 |
1 – 5 | Multiplies the steering yaw torque while the player counter-steers to catch a slide. A higher value makes slides easy to save. A lower value requires exact timing. Typical range: 1.5–3. |
| driftMomentumMaintenanceForce | driftMomentumMaintenanceForce |
— | 800 |
0 – 3000 | Adds a forward push during a slide while the player applies throttle, so the vehicle does not stop sideways. The push increases with the throttle and with the slide. A higher value keeps slides moving. Typical range: 500–1200. |
| driftForceSmoothing | driftForceSmoothing |
— | 8 |
1 – 20 | Sets how fast the drift forces can increase and decrease. A higher value moves the vehicle into and out of a slide fast. A lower value makes slides start and end smoothly. Typical range: 6–12. |
| steeringCurve | steeringCurve |
— | — |
— | Sets how much of the full steer angle is available at each speed. X is the speed in km/h, and Y is the share of the full angle (0–1). A curve that decreases fast keeps the vehicle calm on a highway. A flat curve keeps the steering sensitive at speed. The curve applies even if Limit Steering is off. |
| steeringSensitivity | steeringSensitivity |
— | 1 |
min 0 | Stores a steering sensitivity value for this preset. The vehicle code does not read this value, so a change has no effect on driving. To limit the steering speed, use Steering Speed Minimum and Steering Speed Maximum. |
| counterSteering | counterSteering |
— | true |
— | If on, the vehicle steers into its own slide automatically (counter-steering). Slides are much easier to hold with a gamepad. If off, the player makes every correction. |
| limitSteering | limitSteering |
— | true |
— | If on, the code limits steering while grounded wheels on a steering axle slide sideways. The limit starts above 4 m/s (14.4 km/h) forward wheel speed and acts in full from 8 m/s (28.8 km/h). If off, this limit does not apply. Steering Curve applies in both cases. |
| steeringLimiterMultiplier | steeringLimiterMultiplier |
— | 1 |
0 – 1 | Sets the steering limiter strength for this preset. 0 removes the correction, 0.5 applies half, and 1 applies the full correction. The default is 1. Limit Steering must be enabled. |
| differentialType | differentialType |
— | RCCP_Differential.DifferentialType.Open |
— | Sets how each differential shares the torque between the two wheels of its axle while this preset is active. Open: the wheel with more grip gets more torque. Limited: the two wheels are partly linked. Full Locked and Direct: the code splits the torque equally, with no slip calculation. |
| counterSteeringMinimum | counterSteeringMinimum |
— | .5 |
min 0 | Sets the lowest Counter steer strength that a vehicle can have while this preset is active. The preset increases a lower value to this minimum. Typical range: 0.3–0.6. |
| counterSteeringMaximum | counterSteeringMaximum |
— | 1 |
min 0 | Sets the highest Counter steer strength that a vehicle can have while this preset is active. The preset decreases a higher value to this maximum. Typical range: 0.8–1. |
| steeringSpeedMinimum | steeringSpeedMinimum |
— | .5 |
min 0 | Sets the lowest Steering speed that an axle can have while this preset is active. The preset increases a lower value to this minimum. Typical range: 0.5–2. |
| steeringSpeedMaximum | steeringSpeedMaximum |
— | 1 |
min 0 | Sets the highest Steering speed that an axle can have while this preset is active. The preset decreases a higher value to this maximum. Typical range: 1–2. |
| steeringHelperStrengthMinimum | steeringHelperStrengthMinimum |
— | .1 |
0 – 1 | Sets the lowest Steering helper strength that a vehicle can have while this preset is active. The preset increases a lower value to this minimum. Typical range: 0.025–0.5. |
| steeringHelperStrengthMaximum | steeringHelperStrengthMaximum |
— | 1 |
0 – 1 | Sets the highest Steering helper strength that a vehicle can have while this preset is active. The preset decreases a higher value to this maximum. Decrease this value to keep the handling of all vehicles natural. Typical range: 0.15–1. |
| tractionHelperStrengthMinimum | tractionHelperStrengthMinimum |
— | .1 |
0 – 1 | Sets the lowest Traction helper strength that a vehicle can have while this preset is active. The preset increases a lower value to this minimum. Typical range: 0.025–0.5. |
| tractionHelperStrengthMaximum | tractionHelperStrengthMaximum |
— | 1 |
0 – 1 | Sets the highest Traction helper strength that a vehicle can have while this preset is active. The preset decreases a higher value to this maximum. Typical range: 0.05–1. |
| angularDrag | angularDrag |
— | .1 |
0 – 10 | Sets the angular drag of the Rigidbody on every vehicle that uses this preset. A higher value gives slow, heavy turning, and the vehicle settles fast after a hit. A lower value makes the vehicle light and lively. If the angular drag helper is on, the helper changes this drag at runtime. Typical range: 0.2–0.4. |
| angularDragHelperMinimum | angularDragHelperMinimum |
— | .1 |
0 – 1 | Sets the lowest Angular drag helper strength that a vehicle can have while this preset is active. The preset increases a lower value to this minimum. Typical range: 0.025–0.35. |
| angularDragHelperMaximum | angularDragHelperMaximum |
— | 1 |
0 – 1 | Sets the highest Angular drag helper strength that a vehicle can have while this preset is active. The preset decreases a higher value to this maximum. Typical range: 0.15–0.5. |
| applyInertiaScale | applyInertiaScale |
— | false |
— | If on, the preset sets Override inertia tensor to on (Multiplier mode) and writes Inertia Scale to each vehicle. If off, the preset does not change the inertia tensor settings, which is the safe choice for an existing project. An override that a preset wrote stays after a change to a preset with this setting off. |
| inertiaScale | inertiaScale |
— | Vector3.one |
— | Multiplies the inertia tensor of each vehicle per axis, if Apply Inertia Scale is on. X is pitch (nose-dive and squat), Y is yaw (turn-in), Z is roll (body lean). A value of 1 makes no change. A lower value makes rotation easier, and a higher value makes the vehicle more stable. A lower Y gives arcade handling. Typical range: 0.85–1.15. |
| suspensionSpringMultiplier | suspensionSpringMultiplier |
— | 1 |
0.25 – 3 | Multiplies the authored suspension spring of each wheel while this preset is active. A value of 1 makes no change. Above 1, the suspension is stiffer and the body stays flatter in corners, as on a sports car. Below 1, the suspension is softer, and the body leans and dips more. Typical range: 0.75–1.5. |
| suspensionDamperMultiplier | suspensionDamperMultiplier |
— | 1 |
0.25 – 3 | Multiplies the authored suspension damper of each wheel while this preset is active. A value of 1 makes no change. A higher value makes the vehicle settle at once after a bump. A lower value lets the body move up and down longer. Usually, change this value together with Suspension Spring Multiplier. Typical range: 0.75–1.5. |
| antiRollMinimum | antiRollMinimum |
N | 500 |
min 0 | Sets the lowest Anti-roll force that an axle can have while this preset is active. The preset increases a lower value to this minimum. This limits the body roll of soft vehicles in corners. Typical range: 500–5000. |
| gearShiftingThreshold | gearShiftingThreshold |
— | .8 |
.1 – .9 | Sets the point in the RPM range of each gear where an automatic gearbox shifts up. The preset writes this value to Shift-up timing on each vehicle that uses this preset. A higher value holds each gear longer, and the vehicle feels sporty. A lower value shifts up early, and the vehicle feels relaxed. Typical range: 0.6–0.9. |
| gearShiftingDelayMinimum | gearShiftingDelayMinimum |
s | .15 |
0 – 1 | Sets the shortest Shift time that a gearbox can have while this preset is active. The preset increases a lower value to this minimum. A lower value permits fast shifts, as on race cars. Typical range: 0.1–0.2. |
| gearShiftingDelayMaximum | gearShiftingDelayMaximum |
s | .5 |
0 – 1 | Sets the longest Shift time that a gearbox can have while this preset is active. The preset decreases a higher value to this maximum. A higher value permits slow shifts with a clear gap in the power. Typical range: 0.2–0.8. |
| forwardExtremumSlip_F | forwardExtremumSlip_F |
— | .4 |
min 0 | Sets how much faster than the road the front wheels must spin before they give maximum grip under power or braking. A higher value makes the tires take longer to grip, and wheelspin builds more gradually. Typical range: 0.3–0.5. |
| forwardExtremumValue_F | forwardExtremumValue_F |
— | 1 |
min 0 | Sets the maximum grip that the front wheels can give under power or braking. A higher value gives shorter stops. Typical value: 1. |
| forwardAsymptoteSlip_F | forwardAsymptoteSlip_F |
— | .8 |
min 0 | Sets how much the front wheels must spin before their grip settles at the sliding grip value below. Typical range: 0.6–0.9. |
| forwardAsymptoteValue_F | forwardAsymptoteValue_F |
— | .5 |
min 0 | Sets how much grip the front wheels keep when they spin or are fully locked. A lower value gives less grip to a locked front wheel. Typical range: 0.5–0.8. |
| forwardExtremumSlip_R | forwardExtremumSlip_R |
— | .4 |
min 0 | Sets how much faster than the road the rear wheels must spin before they give maximum grip under power or braking. Typical range: 0.3–0.5. |
| forwardExtremumValue_R | forwardExtremumValue_R |
— | .95 |
min 0 | Sets the maximum grip that the rear wheels can give under power or braking. A value slightly lower than the front value makes the vehicle lively at the corner exit. Typical range: 0.9–1. |
| forwardAsymptoteSlip_R | forwardAsymptoteSlip_R |
— | .75 |
min 0 | Sets how much the rear wheels must spin before their grip settles at the sliding grip value below. Typical range: 0.6–0.9. |
| forwardAsymptoteValue_R | forwardAsymptoteValue_R |
— | .5 |
min 0 | Sets how much grip the rear wheels keep when they spin or are fully locked. A lower value makes burnouts easier and wheelspin longer. Typical range: 0.5–0.8. |
| sidewaysExtremumSlip_F | sidewaysExtremumSlip_F |
— | .4 |
min 0 | Sets how far the front tires must slide sideways before they give maximum grip. A higher value lets the vehicle slide slightly before it grips, which feels softer. Typical range: 0.25–0.4. |
| sidewaysExtremumValue_F | sidewaysExtremumValue_F |
— | 1 |
min 0 | Sets the maximum cornering grip of the front wheels. A higher value lets the vehicle turn harder before the front slides wide. Typical value: 1. |
| sidewaysAsymptoteSlip_F | sidewaysAsymptoteSlip_F |
— | .5 |
min 0 | Sets how far the front tires must slide before their grip settles at the sliding grip value below. Typical range: 0.5–0.8. |
| sidewaysAsymptoteValue_F | sidewaysAsymptoteValue_F |
— | .75 |
min 0 | Sets how much cornering grip the front wheels keep when they slide fully. A higher value lets the player steer through a slide. Typical range: 0.6–0.8. |
| sidewaysExtremumSlip_R | sidewaysExtremumSlip_R |
— | .4 |
min 0 | Sets how far the rear tires must slide sideways before they give maximum grip. Typical range: 0.25–0.4. |
| sidewaysExtremumValue_R | sidewaysExtremumValue_R |
— | 1.05 |
min 0 | Sets the maximum cornering grip of the rear wheels. A value slightly higher than the front value keeps the vehicle stable. A value lower than the front value makes the rear lose grip easily. Typical range: 1–1.1. |
| sidewaysAsymptoteSlip_R | sidewaysAsymptoteSlip_R |
— | .5 |
min 0 | Sets how far the rear tires must slide before their grip settles at the sliding grip value below. Typical range: 0.5–0.8. |
| sidewaysAsymptoteValue_R | sidewaysAsymptoteValue_R |
— | .8 |
min 0 | Sets how much cornering grip the rear wheels keep when they slide fully. A higher value gives long, controllable drifts. A lower value makes the rear lose grip suddenly. Typical range: 0.7–0.9. |
RCCP_GroundMaterials
The list of road surfaces in this project. Each surface sets its grip, its tire sounds and the marks and dust that the tires leave on it. Every wheel of every vehicle finds its surface in this list.
Inspector sections, in order: Road surfaces, Terrain surfaces.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| frictions | frictions |
— | — |
— | The list of every road surface in the project, in order. The first entry is the default surface, and a wheel in the air uses the first entry. On a collider with an unlisted physics material, a wheel can keep the last surface it found. Click Add A Surface to add a surface, and the red X to remove one. |
| Terrain physics materials | terrainFrictions |
— | — |
— | Links each terrain to the road surfaces, paint layer by paint layer, so grass, gravel and mud on one terrain each have their own grip. Add one entry for each physics material on a Terrain Collider. In the entry, give a surface for each paint layer. |
RCCP_GroundMaterials+GroundMaterialFrictions
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Physics material | groundMaterial |
— | — |
— | The physics material that identifies this surface. A wheel uses the settings of this entry when it touches a collider with this physics material. The first entry in the list is the default surface. |
| Grip under power | forwardStiffness |
— | 1 |
min 0 | Sets the grip that this surface gives under power and braking, as a multiplier on the wheel friction. A higher value gives more grip, and the wheels spin less. The shipped asphalt uses 1.25. For ice, use about 0.3–0.5. |
| Cornering grip | sidewaysStiffness |
— | 1 |
min 0 | Sets the grip that this surface gives in corners. A higher value makes the vehicle hold its line. A lower value makes the vehicle slide wide. Usually, change this value together with Grip under power. The shipped asphalt uses 1.25. For ice, use about 0.3–0.5. |
| Skid starts at | slip |
— | .25 |
min 0 | Sets how much a wheel must slide on this surface before the code counts the slide as a skid. A skid starts the marks, the dust and the skid sound. A lower value makes gravel and grass react to the smallest slide. A higher value shows only a real slide. The shipped surfaces use 0.05 (sand) to 0.3 (asphalt). |
| Skid volume | volume |
— | 1 |
0 – 1 | Sets the volume of the skid sound on this surface at full slide. Decrease this value on quiet surfaces, for example grass and snow. Typical range: 0.6–1. |
| Full volume at | volumeSlipRange |
— | .4 |
min .01 | Sets the extra slide (above the Skid starts at value) at which the skid sound reaches full volume. The skid pitch uses the same range. A lower value makes the skid loud as soon as the tire slips. A higher value makes the skid sound increase gradually, so a small slide stays quiet. Typical range: 0.3–0.6. |
| Dynamic skid pitch | dynamicSkidPitch |
— | — |
— | Changes the skid pitch as the tire gains or loses grip. Asphalt uses this by default. |
| Minimum pitch | minimumSkidPitch |
— | .99 |
.1 – 3 | Sets the base pitch when a skid starts. The response limit allows brief changes below this base pitch. Changes apply during Play Mode. |
| Maximum pitch | maximumSkidPitch |
— | 1.07 |
.1 – 3 | Sets the base pitch at full slide. The response limit allows brief changes above this base pitch. Changes apply during Play Mode. |
| Slip response | skidPitchResponse |
— | .16 |
0 – 1 | Scales the pitch response to changes in slip. Higher values amplify smaller changes in slip. Zero disables this response. Changes apply during Play Mode. |
| Response limit | maximumSkidPitchChange |
— | .03 |
0 – .5 | Limits the pitch contribution from changes in slip. Increase this limit for a wider response. Zero disables the transient response. |
| Dust & smoke | groundParticles |
— | — |
— | The particle prefab for the dust, smoke or spray that a sliding tire makes on this surface. Keep this field empty if the surface makes no particles. |
| Skid sound | groundSound |
— | — |
— | The AudioClip that a sliding tire plays on this surface, for example a squeal on asphalt or a hiss on gravel. Keep this field empty for a silent surface. |
| Skidmarks | skidmark |
— | — |
— | The skidmark prefab for the marks that a sliding tire leaves on this surface. Each prefab has its own color and texture, so black rubber on asphalt and pale ruts in sand can both look right. |
RCCP_GroundMaterials+TerrainFrictions
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| groundMaterial | groundMaterial |
— | — |
— | The physics material on the Terrain Collider. The code uses this entry when a wheel touches a terrain with this physics material. Do not use a material from the surface list. A listed material wins, and the code ignores the paint layers. |
| splatmapIndexes | splatmapIndexes |
— | — |
— | The surface for each terrain paint layer. Add one element per paint layer, in the order of the layers on the terrain. Element 0 is paint layer 0. If a layer has no element, the code uses the surface with the same number as the layer. |
RCCP_GroundMaterials+SplatmapIndexes
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| index | index |
— | 0 |
min 0 | The number of the road surface that this paint layer uses, counting from 0 in the surface list above. The position of this element in the list is the paint layer number. |
RCCP_AeroDynamics
The weight distribution of the vehicle, the air forces at speed, and how heavy the vehicle feels when it turns. This component also flips the vehicle back onto its wheels if the vehicle stops on its roof.
Inspector sections, in order: Drag & downforce, Inertia tensor.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
| Follow the center of mass | dynamicCOM |
— | false |
— | If on, the code reads the center of mass from the COM marker every physics step. A script can then move the marker during driving, for example for a load that shifts. If off, the code reads the center of mass once at the start, which suits almost every vehicle. |
| Ignore drag while accelerating | ignoreRigidbodyDragOnAccelerate |
— | false |
— | If on, the Rigidbody drag decreases as the throttle increases and is zero at full throttle. The vehicle then reaches its top speed more easily. Air resistance is not affected. If off, the Rigidbody drag always applies, which can keep the vehicle below its top speed. |
| Downforce | downForce |
— | 10 |
min 0 | Sets the downforce that presses the vehicle onto the road while the vehicle is on the ground. The force increases with the square of the speed and acts at each wheel. A higher value gives much more cornering grip at speed, as on a race car with a wing. 0 = none. Typical range: 5–25. |
| Air resistance | airResistance |
— | 10 |
0 – 100 | Sets the air drag that holds the vehicle back. The force increases with the square of the speed. A higher value gives a lower top speed, and the vehicle slows fast when the player releases the throttle. A lower value lets the vehicle roll farther. Typical range: 5–20. |
| Flip the car back over | autoReset |
— | true |
— | If on, the code puts the vehicle back on its wheels when the vehicle lies on its side or roof below 8 km/h. The code lifts the vehicle 3 m and keeps its heading. If off, the vehicle stays where it landed. |
| Wait before flipping | autoResetTime |
s | 3 |
min 0 | Sets how long the vehicle must lie on its side or roof below 8 km/h before the code sets the vehicle upright. A higher value gives the player time to rock the vehicle back. Typical range: 2–5. |
| Override inertia tensor | overrideInertiaTensor |
— | false |
— | If on, the settings below set how hard the vehicle is to rotate. If off, Unity calculates the inertia tensor from the colliders, which suits almost every vehicle. A behavior preset can set this to on and write the multipliers. While this setting is on, call RecomputeInertia() after the center of mass or the colliders change. |
| Override mode | inertiaTensorMode |
— | InertiaTensorMode.Multiplier |
— | Selects how the override works. Multiplier scales the tensor that Unity calculates from the colliders, so the same values suit a kart and a truck. Multiplier is the recommended mode. Absolute Override replaces the tensor with exact values, which suit only the vehicle they were measured on. |
| Pitch · yaw · roll multiplier | inertiaTensorScale |
— | Vector3.one |
— | Multiplies the calculated inertia tensor per axis. Pitch is nose-dive and squat. Yaw is how eagerly the vehicle turns into a corner. Roll is body lean. A value of 1 makes no change. Below 1, the vehicle rotates more easily. Above 1, the vehicle is heavier to rotate and more stable. A lower Yaw value gives arcade handling. |
| Exact inertia tensor | inertiaTensorAbsolute |
kg·m² | — |
— | The exact inertia tensor to use instead of the calculated tensor, in the order pitch, yaw, roll. The code uses these values only in Absolute Override mode. Change these values only if real measured values for this vehicle exist. |
Everything else
This part lists the components and settings that have no custom Inspector labels. The Setting column shows the code name. The description comes from the tooltip of the field, if the field has one.
RCCP_AI
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
agressiveness |
agressiveness |
— | 2 |
0 – 3 | Sets how hard the AI drives (0–3). A higher value applies more throttle and brake for the same speed error. A higher value also decreases the braking when the look-ahead point is at an angle to the vehicle. |
behaviour |
behaviour |
— | BehaviourType.RaceWaypoints |
— | Selects how the AI drives. FollowWaypoints and RaceWaypoints drive along the Waypoints Container. FollowTarget follows the Target. ChaseTarget drives to the predicted position of the Target. |
chasePredictionTime |
chasePredictionTime |
— | 1 |
min 0 | Sets the maximum prediction time in seconds for ChaseTarget mode. The AI drives to the predicted position of the Target. The prediction uses the Target Rigidbody velocity and the time to reach the Target, up to this value. |
checkStuck |
checkStuck |
— | true |
— | If on, the AI detects a stuck vehicle and reverses for 1.5 seconds. The vehicle counts as stuck after 2 seconds below 2 km/h with at least 0.3 throttle. If off, the AI does not try to free the vehicle. |
cornerSpeedModel |
cornerSpeedModel |
— | CornerSpeedModel.Legacy |
— | Selects how the AI calculates the safe speed for a bend. Curvature uses the real radius of each bend (slower in hairpins, faster in gentle bends). Legacy is the formula before V3.5.1, which is wrong for bends that are not right angles. AI added in the editor starts on Curvature. Existing AI keeps Legacy and drives as before. |
followTargetDistance |
followTargetDistance |
— | 5 |
min 0 | Sets the distance in meters behind the Target that the AI drives to in FollowTarget mode. If the vehicle is closer than this distance to that point, the AI stops. |
kd |
kd |
— | .02 |
min 0 | Sets the derivative gain of the AI speed controller. A higher value reacts more strongly to fast changes of the speed difference. For most vehicles, keep the default value. |
ki |
ki |
— | .01 |
min 0 | Sets the integral gain of the AI speed controller. A higher value corrects a speed difference that lasts for a long time. For most vehicles, keep the default value. |
kp |
kp |
— | .2 |
min 0 | Sets the proportional gain of the AI speed controller. A higher value reacts more strongly to the difference between the safe speed and the current speed. For most vehicles, keep the default value. |
lookAheadPerKph |
lookAheadPerKph |
— | .25 |
min 0 | Sets the steering look-ahead distance in meters for each km/h of speed. The AI never uses less than Min Look Ahead. In FollowWaypoints and FollowTarget, the AI also checks the bends inside this distance. |
maxBrake |
maxBrake |
— | 1 |
0 – 1 | Limits the brake input that the AI sends (0–1). The AI also applies this brake input to hold the vehicle when the AI stops. A lower value gives longer stopping distances. |
maxThrottle |
maxThrottle |
— | 1 |
0 – 1 | Limits the throttle input that the AI sends (0–1). A lower value gives less acceleration. |
minLookAhead |
minLookAhead |
— | 5 |
min 0 | Sets the shortest steering look-ahead distance in meters. The AI steers toward a point this far along its path when the speed-based distance (Look Ahead Per Kph) is shorter. |
raceLookAhead |
raceLookAhead |
— | 36 |
min 0 | Sets the look-ahead distance in meters for the RaceWaypoints and ChaseTarget modes. In RaceWaypoints, the AI drives toward a point this far along the waypoint path. In both modes, the AI checks the bends inside this distance to set a safe speed. |
reverseNow |
reverseNow |
— | false |
— | If on, the AI brakes to below the reverse shift speed of the gearbox, selects reverse gear and drives backward. If off, the AI selects a forward gear again. Check Stuck sets this value for 1.5 seconds to free the vehicle. |
roadGrip |
roadGrip |
— | 1.1 |
min 0 | Sets the friction coefficient that the AI uses to calculate a safe corner speed. A higher value makes the AI take bends faster. This value does not change the tire grip. |
steerSensitivity |
steerSensitivity |
— | 3 |
0 – 5 | Multiplies the steer input that the AI calculates from the angle to the look-ahead point. A higher value turns the wheels more for the same angle. |
stopAtEnd |
stopAtEnd |
— | false |
— | If on, the AI stops at the last waypoint. If off, the AI continues from the last waypoint to the first and repeats the route. |
stopNow |
stopNow |
— | false |
— | If on, the AI releases the throttle, centers the steering and applies Max Brake. Stop(), Resume(), Stop At End and the FollowTarget mode also set this value. |
target |
target |
— | — |
— | The Transform that the AI drives to in FollowTarget and ChaseTarget modes. ChaseTarget reads the velocity of a Rigidbody on this object to predict its position. |
waypointReachThreshold |
waypointReachThreshold |
— | 25 |
min 0 | Sets the distance in meters at which the AI counts a waypoint as reached. Inside this distance, the AI selects the next waypoint. If Stop At End is on, the AI stops inside this distance of the last waypoint. |
waypointsContainer |
waypointsContainer |
— | — |
— | The waypoint container that FollowWaypoints and RaceWaypoints drive along. If this slot is empty, the AI uses the first RCCP_AIWaypointsContainer in the scene when the component is enabled. |
RCCP_AIBrakeZone
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
targetSpeed |
targetSpeed |
— | 50 |
5 – 360 | Sets the target speed in km/h for the AI while the AI vehicle is inside this brake zone. If the vehicle is faster than this speed, the AI releases the throttle and brakes. |
RCCP_AIBrakeZonesContainer
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
brakeZones |
brakeZones |
— | — |
— | The brake zones of this container. The list updates from the child brake zones while the container is selected in the editor. At start, the code moves each listed brake zone to the Ignore Raycast layer. |
RCCP_AIDynamicObstacleAvoidance
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
autoDetectObstacles |
autoDetectObstacles |
— | true |
— | If on, the code fills Possible Obstacles at each avoidance update. The code adds each non-trigger collider on Dynamic Obstacle Layers that is inside Detection Radius and in front of the vehicle. If off, the code uses only the obstacles that are in the list. |
brakeInput |
brakeInput |
— | — |
— | Shows the brake input (0–1) that the avoidance calculates. RCCP_AI uses the higher of this value and its own brake input. RCCP_AI applies this value only while it also applies the avoidance steer. Read-only at runtime. |
detectionRadius |
detectionRadius |
— | 10 |
min 0 | Sets the radius in meters around the vehicle in which Auto Detect Obstacles finds obstacles. This value also limits the distance at which the avoidance reacts. |
dynamicObstacleLayers |
dynamicObstacleLayers |
— | — |
— | The layers that the avoidance uses to detect obstacles and to cast its rays. An obstacle that is not on these layers does not cause avoidance steer, even if it is in Possible Obstacles. If the value is Nothing, the avoidance detects nothing and logs a warning at start. |
emergencyBrakeDistance |
emergencyBrakeDistance |
— | 2 |
min 0 | Sets the emergency distance in meters. If the vehicle reaches the predicted collision within this distance, the brake input is the collision risk multiplied by Max Brake Input. Outside this distance, the avoidance brakes less. This value is also the minimum distance at which the avoidance reacts. |
highestRisk |
highestRisk |
— | — |
— | Shows the risk assessment with the highest collision risk from the last avoidance update. The steer and brake inputs use this assessment. Read-only at runtime. |
maxBrakeInput |
maxBrakeInput |
— | 1 |
— | Limits the brake input that the avoidance sends (0–1). The code multiplies the avoidance brake by this value. |
maxSteerInput |
maxSteerInput |
— | 1 |
— | Limits the steer input that the avoidance sends (0–1). A lower value makes the avoidance steer less. |
minSpeedThreshold |
minSpeedThreshold |
— | 0.5 |
min 0 | Sets the minimum speed in m/s for avoidance. Below this speed, the avoidance sends no steer input and no brake input. |
poolUpdateInterval |
poolUpdateInterval |
— | 0.2 |
— | Sets the time in seconds between two avoidance updates. Each update refreshes the obstacle list (if Auto Detect Obstacles is on) and calculates new steer and brake inputs. A lower value updates the inputs more often. |
possibleObstacles |
possibleObstacles |
— | — |
— | The obstacles that the avoidance checks. Call AddObstacle() or RemoveObstacle() to change the list from a script. If Auto Detect Obstacles is on, the code clears and fills this list again at each avoidance update. |
predictionTime |
predictionTime |
— | 1 |
— | Sets how many seconds ahead the avoidance predicts the positions of the vehicle and the obstacles. If the vehicle has a NavMesh path, the prediction follows the path. A higher value increases the distance at which the avoidance reacts, up to Detection Radius. |
riskThreshold |
riskThreshold |
— | 0.3 |
— | Sets the minimum collision risk (0–1) that starts avoidance. If no obstacle has a higher collision risk, the avoidance sends no input. A lower value makes the AI react to lower risks. |
risks |
risks |
— | — |
— | Shows the risk assessments of the obstacles with a collision risk higher than Risk Threshold. The code calculates the list again at each avoidance update. Read-only at runtime. |
safetyMargin |
safetyMargin |
— | 0.5 |
— | Adds this distance in meters to Vehicle Width and to Vehicle Length in the collision prediction. A higher value makes the predicted vehicle box larger. |
sampleSpacing |
sampleSpacing |
— | 1 |
— | Sets the maximum distance in meters between two raycast samples on the bounds of an obstacle. A lower value casts more rays for each obstacle. |
steerInput |
steerInput |
— | — |
— | Shows the steer input that the avoidance calculates. A negative value steers left. A positive value steers right. RCCP_AI adds two times this value to its own steer input, but ignores values between -0.1 and 0.1. Read-only at runtime. |
steerSensitivity |
steerSensitivity |
— | 2 |
— | Multiplies the base steer of the avoidance. The base steer cannot be more than 1, so a value of 1 or higher gives the full base steer. A value below 1 decreases the avoidance steer. |
vehicleLength |
vehicleLength |
— | 4 |
— | Sets the length in meters of the vehicle box that the collision prediction uses. The code does not read the length from the vehicle. Set this value to the length of the vehicle body. The code adds Safety Margin to this value. |
vehicleWidth |
vehicleWidth |
— | 2 |
min 0 | Sets the width in meters of the vehicle box that the collision prediction uses. The code does not read the width from the vehicle. Set this value to the width of the vehicle body. The code adds Safety Margin to this value. |
RCCP_AIDynamicObstacleAvoidance+ObstacleAnalysis
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
avoidanceDirection |
avoidanceDirection |
— | — |
— | Shows the side to steer toward, as a world-space direction (the right or the left of the vehicle). The code steers away from the threat. If that side has less than half the free space of the other side, the code uses the other side. |
brakeIntensity |
brakeIntensity |
— | — |
— | Shows the brake intensity for this obstacle. 0 = no brake, 1 = full brake. The value increases when the obstacle is closer and more directly ahead. Inside Emergency Brake Distance, the value is at least 0.8. |
distance |
distance |
— | — |
— | Shows the distance in meters from the vehicle to the nearest point of the obstacle bounds. |
isValid |
isValid |
— | — |
— | If on, this analysis has usable avoidance data. The obstacle is ahead, inside the avoidance distance, and at least one raycast sample finds a threat point. |
RCCP_AIDynamicObstacleAvoidance+RiskAssessment
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
avoidanceUrgency |
avoidanceUrgency |
— | — |
— | Shows how urgent the avoidance is. 0 = no urgency, 1 = immediate action. The code multiplies the avoidance steer input by this value. Read-only at runtime. |
canSafelyPass |
canSafelyPass |
— | — |
— | If on, the vehicle can pass the obstacle safely. The predicted boxes do not intersect, and the collision risk is less than 0.2. Read-only at runtime. |
collisionPoint |
collisionPoint |
— | — |
— | Shows the predicted collision point in world space. The code uses the midpoint between the predicted positions of the vehicle and the obstacle. Read-only at runtime. |
collisionRisk |
collisionRisk |
— | — |
— | Shows the predicted collision risk with this obstacle. 0 = no risk, 1 = certain collision. Read-only at runtime. |
safeAvoidanceDirection |
safeAvoidanceDirection |
— | — |
— | Shows the safer side for avoidance, as a world-space direction (the right or the left of the vehicle). The code selects the side with more free space that points away from the obstacle. The steer input does not use this value. Read-only at runtime. |
timeToCollision |
timeToCollision |
— | — |
— | Shows the estimated time in seconds until the vehicle and the obstacle are at their closest point. If the two objects move apart, the value is the maximum float value. Read-only at runtime. |
RCCP_AIWaypointsContainer
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
groundLayerMask |
groundLayerMask |
— | Physics.DefaultRaycastLayers |
— | The layers that the Place Waypoints Above Ground command uses to find the ground below each waypoint. |
groundOffset |
groundOffset |
— | 1 |
min 0 | Sets the height in meters above the ground for each waypoint. The Place Waypoints Above Ground command (component context menu) uses this value. |
smoothingSubdivisions |
smoothingSubdivisions |
— | 5 |
min 1 | Sets how many points the Smooth Waypoints command (component context menu) creates for each segment of the path (Catmull-Rom curve). The command replaces the current waypoints and treats the path as a closed loop. A higher value gives a smoother curve with more waypoints. |
waypoints |
waypoints |
— | — |
— | The waypoints of this container, in path order. The code fills the list from the child RCCP_Waypoint objects at start and while the container is selected in the editor. |
RCCP_AddonPackages
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
BCGSharedAssets |
BCGSharedAssets |
— | — |
— | The .unitypackage that installs BCG Shared Assets (character controllers that enter and exit vehicles, and UI). The Welcome Window imports this package. |
HDRPShaders_6 |
HDRPShaders_6 |
— | — |
— | The .unitypackage with the HDRP shaders for Unity 6. The Render Pipeline Converter imports this package when the project changes to HDRP. |
HDRPVolumeProfile |
HDRPVolumeProfile |
— | — |
— | The .unitypackage with the HDRP Volume Profile prefab. The Render Pipeline Converter imports this package after the HDRP shader package. |
PhotonPUN2 |
PhotonPUN2 |
— | — |
— | The .unitypackage that installs the Photon PUN 2 multiplayer integration. The Welcome Window imports this package. |
URPShaders_6 |
URPShaders_6 |
— | — |
— | The .unitypackage with the URP shaders for Unity 6. The Render Pipeline Converter imports this package when the project changes to URP. |
builtinShaders |
builtinShaders |
— | — |
— | The .unitypackage with the shaders for the Built-in render pipeline. The Render Pipeline Converter imports this package when the project changes to Built-in. |
demoPackage |
demoPackage |
— | — |
— | The .unitypackage that installs Demo Content (demo scenes, vehicles and assets). The Welcome Window imports this package. |
RCCP_Caliper
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
wheelCollider |
wheelCollider |
— | — |
— | The RCCP_WheelCollider that this caliper follows. The caliper follows the suspension travel, steer angle, camber and caster of the wheel, but not the wheel spin. If this field is empty, the code logs an error and disables this component. |
RCCP_CameraCarSelection
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
angle |
angle |
— | 10 |
min 0 | Sets the fixed pitch angle of the camera, in degrees. A higher value moves the camera higher above the target and makes the camera look down more. |
distance |
distance |
— | 5 |
min 0 | Sets the orbit radius, in meters. This value is the distance from the camera to the target. |
speed |
speed |
— | 25 |
min 0 | Sets the horizontal orbit speed. The camera turns at half of this value, in degrees per second. For example, 25 turns the camera 12.5 degrees per second. |
target |
target |
— | — |
— | The Transform that the camera turns around. If this field is empty, the camera does not move. |
RCCP_CarSelectionExample
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
RCCCamera |
RCCCamera |
— | — |
— | The RCCP Camera that orbits the vehicle during selection. The code enables the RCCP_CameraCarSelection component of this camera during selection and disables the component after the player selects a vehicle. If empty, the code uses the active player camera. |
isNight |
isNight |
— | false |
— | If on, each spawned vehicle starts with the low beam headlights on. The vehicle must have a lights component (RCCP_Lights). |
menuCanvasGroup |
menuCanvasGroup |
— | — |
— | Optional CanvasGroup of the selection UI. During the warm-up, the code sets the group to not interactable and sets Blocks Raycasts to off. The selection buttons refuse input during the warm-up, with or without this group. |
nextScene |
nextScene |
— | — |
— | The scene (name or path) that the code loads after the player selects a vehicle. Keep empty to stay in this scene. |
onWarmUpCompleted |
onWarmUpCompleted |
— | — |
— | The event that the code invokes when the warm-up pass completes and the menu becomes interactive. Use this event to hide a loading panel. The event does not fire if Warm Up All Vehicles is off. |
selectedIndex |
selectedIndex |
— | 0 |
min 0 | The index of the selected vehicle in the demo vehicle list (RCCP_DemoVehicles). At Start, the code reads this value from PlayerPrefs (key SelectedRCCPVehicle) and replaces the Inspector value. NextVehicle() and PreviousVehicle() change the index. |
spawnPosition |
spawnPosition |
— | — |
— | The Transform that sets the world position and rotation of the spawned vehicles. DeSelectVehicle() also moves the selected vehicle back to this point. |
warmUpAllVehicles |
warmUpAllVehicles |
— | true |
— | If on, the code activates every vehicle once at load. Then the player does not get a stutter at the first selection of each vehicle. The pass takes about 2–3 seconds with the shipped demo vehicles. If off, the first selection of each vehicle can stutter. |
warmUpTimeoutPerVehicle |
warmUpTimeoutPerVehicle |
— | 10 |
min 1 | Sets the maximum time (unscaled seconds) that the warm-up waits for the deformation solver of one vehicle to complete its build. After this time, the code logs a warning and continues with the next vehicle. A vehicle without a deformation solver does not wait. |
RCCP_ChangableWheels
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
wheels |
wheels |
— | — |
— | The wheel sets that vehicles can use at runtime. The loadout saves the index of the selected entry. If a saved index is not valid, the vehicle uses the stock wheels. |
RCCP_ChangableWheels+ChangableWheels
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
wheel |
wheel |
— | — |
— | The wheel prefab of this wheel set. The Wheel Manager puts a copy of this prefab on each wheel model and sets the WheelCollider radius from the size of the prefab. If the prefab is inactive, the wheels do not change. |
RCCP_CharacterController
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
animator |
animator |
— | — |
— | The Animator that plays the character animations. If empty, the code finds an Animator in the children at Start. |
directionInput |
directionInput |
— | 0 |
— | Shows the forward speed of the vehicle in local space, in m/s. A negative value means that the vehicle moves backward. The code uses this value to detect reversing. Read-only at runtime. |
driverDangerParameter |
driverDangerParameter |
— | — |
— | The name of the Animator bool parameter for the collision reaction. The parameter is true for about 0.1 s after a collision with a relative speed of 2.5 m/s or more. |
driverReversingParameter |
driverReversingParameter |
— | — |
— | The name of the Animator bool parameter for reversing. The parameter becomes true when the vehicle moves backward at 2 m/s or more. The parameter becomes false when the backward speed is less than 1 m/s. |
driverShiftingGearParameter |
driverShiftingGearParameter |
— | — |
— | The name of the Animator bool parameter for the gear shift. The parameter is true during a gear shift and for about 0.1 s after the shift (Gear Input more than 0.5). |
driverSteeringParameter |
driverSteeringParameter |
— | — |
— | The name of the Animator float parameter that receives the steering input (-1 to 1). The code writes the smoothed Steer Input value to this parameter every frame. |
gearInput |
gearInput |
— | 0 |
0 – 1 | Shows the gear shift value (0–1). The value is 1 during a gear shift and then decreases by 5 per second. Read-only at runtime. |
impactInput |
impactInput |
— | 0 |
0 – 1 | Shows the collision impact value (0–1). A collision with a relative speed of 2.5 m/s or more sets the value to 1. The value then decreases by 5 per second. Read-only at runtime. |
reversing |
reversing |
— | false |
— | Shows if the vehicle moves backward. The value becomes true at a backward speed of 2 m/s and false below 1 m/s. Read-only at runtime. |
steerInput |
steerInput |
— | 0 |
-1 – 1 | Shows the smoothed steering input (-1 to 1) that the code sends to the Animator. The value follows the Steer Input V of the vehicle. Read-only at runtime. |
RCCP_CinematicCamera
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
pivot |
pivot |
— | — |
— | The child object that carries the player camera in Cinematic mode. The animations on this object move the camera. If this field is empty, the code creates a child named Pivot at start. |
targetFOV |
targetFOV |
— | 60 |
1 – 179 | Sets the FOV, in degrees, that the player camera uses in Cinematic mode. If an RCCP_FOVForCinematicCamera component is under this object, that component writes this value each frame. |
RCCP_ColorPickerBySliders
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
blueSlider |
blueSlider |
— | — |
— | The Slider that sets the blue value of Color. Set the Min Value of the Slider to 0 and the Max Value to 1. |
color |
color |
— | — |
— | Shows the color made from Red Slider, Green Slider, and Blue Slider. If this color changes, the code applies the color to the player vehicle. Read-only at runtime. |
colorType |
colorType |
— | ColorType.WheelSmoke |
— | Selects the color of the player vehicle that these sliders change: Wheel Smoke, Headlights, or Paint. Each time this component is enabled, the sliders read the current color from the player vehicle. Paint needs a paint manager on the vehicle. Wheel Smoke and Headlights need a customization manager. |
greenSlider |
greenSlider |
— | — |
— | The Slider that sets the green value of Color. Set the Min Value of the Slider to 0 and the Max Value to 1. |
redSlider |
redSlider |
— | — |
— | The Slider that sets the red value of Color. Set the Min Value of the Slider to 0 and the Max Value to 1. |
RCCP_CrashCamera
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
autoTrigger |
autoTrigger |
— | true |
— | If on, a hard impact on the player vehicle starts the cinematic. Only impacts that pass the speed loss and cooldown checks start the cinematic. If off, only RCCP.TriggerCrashCam() starts the cinematic. |
cancelOnInput |
cancelOnInput |
— | false |
— | If on, a new throttle, brake, steer or handbrake input ends the cinematic. An input that the player holds from before the impact does not end the cinematic. If off, player input does not end the cinematic. |
crashFOV |
crashFOV |
— | 21 |
10 – 120 | Sets the FOV, in degrees, that the camera moves to during the cinematic. A lower value gives a tighter shot. |
crashPitch |
crashPitch |
— | 0.65 |
0.1 – 1 | Sets the audio pitch during the cinematic, for a slow-motion sound. The code writes this value to the RCCP_Pitch parameter of the RCCP audio mixer. If the mixer has no RCCP_Pitch parameter, the audio does not change. 1 = no pitch change. |
maximumDuration |
maximumDuration |
— | 3 |
min 0.1 | Sets the maximum real time, in seconds, of the cinematic. If the vehicle has no soft-body solver, the cinematic ends at this time. The camera moves closer to the impact point during this time. |
minimumDeltaV |
minimumDeltaV |
— | 12 |
min 0 | Sets the minimum speed loss in one impact, in m/s, that starts the cinematic. A value of 12 is about 43 km/h of lost speed. The code divides the collision impulse by the mass, so one value works for all vehicles. |
minimumDuration |
minimumDuration |
— | 1 |
min 0 | Sets the minimum real time, in seconds, that the shot stays on screen. The shot stays even if the deformation settles sooner. If Cancel On Input is on, a new player input can end the shot earlier. |
occlusionMask |
occlusionMask |
— | ~0 |
— | The layers that block the view of the crash camera. The code rejects a camera position if one of these layers is between the position and the impact point. If no clear position exists, the cinematic does not start. |
orbitSpeed |
orbitSpeed |
— | 7 |
— | Sets how fast the camera turns around the impact point, in degrees per second of real time. A value of 0 keeps the camera in one position. A negative value turns the camera in the opposite direction. |
recoverDuration |
recoverDuration |
— | 0.75 |
min 0 | Sets the real time, in seconds, that the time scale takes to return to its value from before the cinematic. 0 = the time scale returns at once. |
retriggerCooldown |
retriggerCooldown |
— | 5 |
min 0 | Sets the minimum real time, in seconds, between two cinematics. With this value, a vehicle that rolls over does not start the cinematic many times. |
shotDistance |
shotDistance |
— | 5 |
min 1 | Sets the start distance from the camera to the impact point, in meters. The camera moves closer to 75% of this distance during the cinematic. If no clear position exists, the code tries half of this distance. |
slowMotionScale |
slowMotionScale |
— | 0.25 |
0.05 – 1 | Sets the time scale during the cinematic. A value of 0.25 makes time about 4 times slower. The code also scales the physics step by this value. 1 = no slow motion. |
RCCP_CrashHammer
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
hingePoint |
hingePoint |
— | — |
— | The Transform that sets the pivot of the hammer. At Start, the code creates a kinematic Rigidbody at this point and connects the Configurable Joint of this GameObject to that Rigidbody. If no Configurable Joint exists, the component disables itself. |
length |
length |
— | 1 |
min 0 | Sets the amplitude of the sine wave that scales the swing force. A higher value makes the swing force stronger. |
speed |
speed |
— | 1 |
min 0 | Sets the frequency of the sine wave that scales the swing force (rad/s of game time). A higher value makes the hammer change direction faster. |
torque |
torque |
— | — |
— | Sets the direction and strength of the swing force in local space. The code applies this vector with AddRelativeForce (acceleration mode) every physics step, scaled by a sine wave. |
RCCP_CrashPress
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
hingePoint |
hingePoint |
— | — |
— | The Transform that sets the pivot of the press. At Start, the code creates a kinematic Rigidbody at this point and connects the Configurable Joint of this GameObject to that Rigidbody. |
length |
length |
— | 1 |
min 0 | Sets the amplitude of the vertical force (local up axis), as an acceleration in m/s². The code scales the force with a sine wave every physics step. A higher value makes the press force stronger. |
speed |
speed |
— | 1 |
min 0 | Sets the frequency of the sine wave that moves the press (rad/s of game time). A higher value makes the press change direction faster. |
RCCP_CrashShredder
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
direction |
direction |
— | — |
— | Sets the local axis around which the shredder turns. The code applies Direction × Force as a torque (acceleration mode) every physics step. |
force |
force |
— | 1 |
min 0 | Sets the strength of the torque that turns the shredder (angular acceleration). The code limits the angular speed to 5 rad/s. A higher value makes the shredder reach the speed limit faster. |
hingePoint |
hingePoint |
— | — |
— | The Transform that sets the pivot of the shredder. At Start, the code creates a kinematic Rigidbody at this point and connects the Configurable Joint of this GameObject to that Rigidbody. |
RCCP_CustomizationDemo
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
RCCCamera |
RCCCamera |
— | — |
— | The main RCCP camera. The code deactivates this camera when customization starts and activates this camera again when customization stops. |
location |
location |
— | — |
— | The Transform where the code moves the vehicle when customization starts. If this field is empty, the vehicle stays where it is. |
modificationCanvas |
modificationCanvas |
— | — |
— | The UI Canvas object with the customization controls. The code shows this object when customization starts and hides this object when customization stops. |
showroomCamera |
showroomCamera |
— | — |
— | The showroom camera that orbits the vehicle. The code activates this camera when customization starts and deactivates this camera when customization stops. |
vehicle |
vehicle |
— | — |
— | Shows the vehicle that the player customizes now. EnableCustomization() sets this value, and DisableCustomization() clears this value. During customization, the player cannot control this vehicle. Read-only at runtime. |
RCCP_CustomizationSetups
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
customization |
customization |
— | — |
— | The Customization Manager prefab. The Create button in the Customizer Inspector adds this prefab under the vehicle. The manager controls camber, suspension, headlight color and tire smoke color. |
decals |
decals |
— | — |
— | The Decal Manager prefab, with four decal projectors and decal materials. The Create button in the Customizer Inspector adds this prefab under the vehicle. |
neons |
neons |
— | — |
— | The Neon Manager prefab, with a neon projector and neon materials. The Create button in the Customizer Inspector adds this prefab under the vehicle. |
paints |
paints |
— | — |
— | The Paint Manager prefab, with one painter. The Create button in the Customizer Inspector adds this prefab under the vehicle. |
sirens |
sirens |
— | — |
— | The Siren Manager prefab, with siren objects that have red and blue lights. The Create button in the Customizer Inspector adds this prefab under the vehicle. |
spoilers |
spoilers |
— | — |
— | The Spoiler Manager prefab, with spoiler models. The Create button in the Customizer Inspector adds this prefab under the vehicle. |
upgrades |
upgrades |
— | — |
— | The Upgrade Manager prefab, with the engine, brake, handling and speed upgrades. The Create button in the Customizer Inspector adds this prefab under the vehicle. |
wheels |
wheels |
— | — |
— | The Wheel Manager prefab. The Create button in the Customizer Inspector adds this prefab under the vehicle. The manager changes the wheel models at runtime. |
RCCP_CustomizationTrigger
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
trigger |
trigger |
— | — |
— | The trigger zone object. The code hides this object when a vehicle with a Customizer enters the trigger. The object shows again when that vehicle is 30 meters or more away. |
RCCP_Damage+DamageData
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
damagedMeshData |
damagedMeshData |
— | — |
— | The saved vertex positions of each mesh after damage. If the meshes or vertex counts of the vehicle changed since the save, the load skips all damage data. |
damagedWheelData |
damagedWheelData |
— | — |
— | The saved local position and rotation of each wheel collider after damage. If the wheel count of the vehicle changed since the save, the load skips all damage data. |
dataVersion |
dataVersion |
— | 0 |
— | The version of the save format. The code writes 1. At 0, the load skips zone health, part states, wheel deflation, and wheel detachment. |
lightData |
lightData |
— | — |
— | The saved broken state of each light in the Lights list of the Damage component, in the same order. A true value means that a collision broke the light. |
originalMeshData |
originalMeshData |
— | — |
— | The saved original vertex positions of each mesh, before any damage. |
originalWheelData |
originalWheelData |
— | — |
— | The saved original local position and rotation of each wheel collider, before any damage. |
partData |
partData |
— | — |
— | The saved strength and broken state of each detachable part, in the order of the Parts list of the Damage component. |
wheelDeflated |
wheelDeflated |
— | — |
— | The saved deflated state of each wheel, in the order of CarController.AllWheelColliders. The load deflates or inflates each wheel to match. |
wheelDetached |
wheelDetached |
— | — |
— | The saved detached state of each wheel, in the order of CarController.AllWheelColliders. Older saves omit this array. |
zoneHealth |
zoneHealth |
— | — |
— | The saved structural health of each damage zone (Front, Rear, Left, Right). 100 means intact. The load clamps each value to 0–100. |
RCCP_Demo
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
cameraMode |
cameraMode |
— | RCCP_Camera.CameraMode.TPS |
— | The camera mode that the code applies to the player camera when a new vehicle spawns. |
isNight |
isNight |
— | false |
— | If on, each spawned vehicle starts with the low beam headlights on. The vehicle must have a lights component (RCCP_Lights). |
loadingIndicatorMinDuration |
loadingIndicatorMinDuration |
— | .2 |
min 0 | Sets the minimum time (unscaled seconds) that the overlay stays visible after the spawn completes. A minimum time prevents a one-frame flicker after a fast spawn. |
loadingIndicatorSubText |
loadingIndicatorSubText |
— | "This may take a moment" |
— | Sets the smaller text under the main text of the loading overlay. If this field is empty and the warm-up pass is off, the code hides the sub-label. During the warm-up pass (Use Vehicle Pool and Pre Warm Vehicles On Start on), the sub-label shows the progress. |
loadingIndicatorTextString |
loadingIndicatorTextString |
— | "Loading vehicles..." |
— | Sets the main text of the loading overlay. |
loadingIndicatorTimeout |
loadingIndicatorTimeout |
— | 30 |
min 1 | Sets the maximum time (unscaled seconds) that the overlay waits for the deformation solver to complete its build. After this time, the code closes the overlay and logs a warning. The solver continues its build in the background. |
preWarmVehiclesOnStart |
preWarmVehiclesOnStart |
— | true |
— | If on, the code creates and prepares all demo vehicles behind the loading overlay at scene start. Then each selection is instant, but the scene loads a few seconds longer and keeps all vehicles in memory. If off, the code creates each vehicle at its first selection. Use Vehicle Pool must be on. |
repairOnReuse |
repairOnReuse |
— | true |
— | If on, the code repairs a pooled vehicle each time the vehicle is used again, so each respawn gives a fresh vehicle. The vehicle must have an RCCP_Damage component. Use Vehicle Pool must be on. |
showLoadingIndicator |
showLoadingIndicator |
— | true |
— | If on, the code shows a full-screen loading overlay while a new vehicle spawns and its deformation solver completes its build. The code creates the overlay at runtime, so the scene needs no setup. A pooled vehicle that is ready spawns without the overlay. |
useVehiclePool |
useVehiclePool |
— | true |
— | If on, the code keeps spawned vehicles and uses them again. The first selection of each vehicle creates an instance. Each later selection enables the instance and moves the instance to the spawn position. If off, the code destroys the old vehicle and creates a new instance at each spawn. |
warmUpTimeoutPerVehicle |
warmUpTimeoutPerVehicle |
— | 10 |
min 1 | Sets the maximum time (unscaled seconds) that the warm-up waits for the deformation solver of one vehicle to complete its build. After this time, the code logs a warning and continues with the next vehicle. A vehicle without a deformation solver does not wait. |
RCCP_DemoAIO
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
back |
back |
— | — |
— | The back button that returns to the main AIO scene selection. The code hides this button in the AIO scene and in the Photon lobby and city scenes. The code shows the button in the other demo scenes. |
cityTrafficButtons |
cityTrafficButtons |
— | — |
— | The buttons that open the Realistic Traffic Controller demo scenes. If Realistic Traffic Controller is not installed (no BCG_RTRC symbol), the code makes these buttons not interactable. |
cityTrafficInfo |
cityTrafficInfo |
— | — |
— | The info panel that the code shows if the Realistic Traffic Controller addon is not installed. If the addon is installed, the code hides this panel. |
content |
content |
— | — |
— | The main panel with the demo scene selection menu. The code shows this panel when the AIO scene loads and hides the panel when another demo scene loads. |
credits |
credits |
— | — |
— | The credits panel. The code shows this panel only in the main AIO scene. |
loading |
loading |
— | — |
— | The loading screen that the code shows when a scene starts to load. The code hides the loading screen when the active scene changes. |
photonButtons |
photonButtons |
— | — |
— | The buttons that open the Photon PUN2 multiplayer demo scenes. If the Photon addon is not installed (no RCCP_PHOTON symbol), the code makes these buttons not interactable. |
photonInfo |
photonInfo |
— | — |
— | The info panel that the code shows if the Photon PUN2 addon is not installed. If the addon is installed, the code hides this panel. |
sharedAssetsButtons |
sharedAssetsButtons |
— | — |
— | The buttons that open the BCG Shared Assets enter/exit demo scenes. If BCG Shared Assets is not installed (no BCG_ENTEREXIT symbol), the code makes these buttons not interactable. |
sharedAssetsInfo |
sharedAssetsInfo |
— | — |
— | The info panel that the code shows if the BCG Shared Assets addon is not installed. If the addon is installed, the code hides this panel. |
RCCP_DemoContent
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
HDRPShadersContent |
HDRPShadersContent |
— | — |
— | The folder with the HDRP shaders. If the project does not use HDRP, Remove Old Shaders in the Render Pipeline Converter deletes this folder. |
URPShadersContent |
URPShadersContent |
— | — |
— | The folder with the URP shaders. If the project does not use URP, Remove Old Shaders in the Render Pipeline Converter deletes this folder. |
builtinShadersContent |
builtinShadersContent |
— | — |
— | The folder with the shaders for the Built-in render pipeline. If the project uses URP or HDRP, Remove Old Shaders in the Render Pipeline Converter deletes this folder. |
content |
content |
— | — |
— | The demo asset registry. Delete Demo Content clears this list and deletes only the installed Demo Content folder. References outside that folder are not delete targets. |
dontAskDemoContent |
dontAskDemoContent |
— | false |
— | If on, the first-run check for demo content is complete. If off and Demo Content is not installed, the code sets this value to on at the next editor load. No prompt opens. Import Demo Content from the Welcome Window (Demos tab). |
instanceId |
instanceId |
— | 0 |
min 0 | An identifier number for this asset. No RCCP code reads this value. Keep the default value. |
RCCP_DemoScenes
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
city_AIO |
city_AIO |
— | — |
— | The City AIO scene, the hub menu that loads every demo scene. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_APIBlank |
demo_APIBlank |
— | — |
— | The blank scene for API tests. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_BlankMobile |
demo_BlankMobile |
— | — |
— | The blank demo scene with mobile controls. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_CarSelection |
demo_CarSelection |
— | — |
— | The vehicle selection demo scene. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_City |
demo_City |
— | — |
— | The city driving demo scene. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_CityWithTraffic |
demo_CityWithTraffic |
— | — |
— | The city demo scene with traffic from Realistic Traffic Controller (RTC). GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_City_AI |
demo_City_AI |
— | — |
— | The city demo scene with AI vehicles that follow waypoints. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_Customization |
demo_Customization |
— | — |
— | The vehicle customization demo scene (paint, wheels and upgrades). GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_Damage |
demo_Damage |
— | — |
— | The vehicle damage demo scene (crash and deformation). GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_FeatureLab |
demo_FeatureLab |
— | — |
— | The Feature Lab demo scene. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_OverrideInputs |
demo_OverrideInputs |
— | — |
— | The input override demo scene. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_Replay |
demo_Replay |
— | — |
— | The instant replay demo scene. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_StabilityTest |
demo_StabilityTest |
— | — |
— | The stability test demo scene. GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_Transport |
demo_Transport |
— | — |
— | The vehicle transport demo scene (towing a trailer). GetPaths() stores the path of this scene. Delete Demo Content clears this reference. |
demo_protototype |
demo_protototype |
— | — |
— | The blank prototype scene for fast tests. This scene ships with core RCCP, so Delete Demo Content keeps this reference. GetPaths() stores the path of this scene. |
instanceId |
instanceId |
— | 0 |
min 0 | An identifier number for this asset. No RCCP code reads this value. Keep the default value. |
path_city_AIO |
path_city_AIO |
— | — |
— | The asset path of the City AIO scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_APIBlank |
path_demo_APIBlank |
— | — |
— | The asset path of the blank API scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_BlankMobile |
path_demo_BlankMobile |
— | — |
— | The asset path of the blank mobile scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_CarSelection |
path_demo_CarSelection |
— | — |
— | The asset path of the vehicle selection scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_City |
path_demo_City |
— | — |
— | The asset path of the city driving scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_CityWithAI |
path_demo_CityWithAI |
— | — |
— | The asset path of the city scene with AI vehicles. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_CityWithTraffic |
path_demo_CityWithTraffic |
— | — |
— | The asset path of the city scene with RTC traffic. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_Customization |
path_demo_Customization |
— | — |
— | The asset path of the customization scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_Damage |
path_demo_Damage |
— | — |
— | The asset path of the damage demo scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_FeatureLab |
path_demo_FeatureLab |
— | — |
— | The asset path of the Feature Lab scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_OverrideInputs |
path_demo_OverrideInputs |
— | — |
— | The asset path of the input override scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_Replay |
path_demo_Replay |
— | — |
— | The asset path of the instant replay scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_StabilityTest |
path_demo_StabilityTest |
— | — |
— | The asset path of the stability test scene. GetPaths() writes this value from the scene reference. RCCP_UI_SceneSelector reads this path to load the scene. |
path_demo_Transport |
path_demo_Transport |
— | — |
— | The asset path of the transport demo scene. GetPaths() writes this value from the scene reference. The Welcome Window and RCCP_UI_SceneSelector read this path. |
path_demo_protototype |
path_demo_protototype |
— | — |
— | The asset path of the prototype scene. GetPaths() writes this value from the scene reference. The Welcome Window reads this path to open the scene and to add the scene to Build Settings. |
RCCP_DemoVehicles
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
instanceId |
instanceId |
— | 0 |
min 0 | An identifier number for this asset. No RCCP code reads this value. Keep the default value. |
vehicles |
vehicles |
— | — |
— | Vehicle prefabs in spawn menu order. The core package includes RCCP_Sedan01. Demo Content replaces this same asset with the full list. Delete Demo Content From Project restores the default vehicle. |
RCCP_DetachablePart
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
COM |
COM |
— | — |
— | The Transform that sets the center of mass of the part Rigidbody. At Awake, the code moves the center of mass to this position. If this slot is empty, the Rigidbody keeps its own center of mass. |
addTorqueAfterLoose |
addTorqueAfterLoose |
— | Vector3.zero |
— | Sets a local torque that the code applies to a loose part in each physics step. The torque is multiplied by the forward speed of the part, so the part flaps more at high speed. A zero vector applies no torque. |
deactiveAfterSeconds |
deactiveAfterSeconds |
— | 5 |
min 0 | Sets the time in seconds from the detachment until the code deactivates the part GameObject. |
detachPoint |
detachPoint |
— | 0 |
min 0 | Sets the strength at which the part detaches, if Is Detachable is on. At or below this value, all joint motions become free and the code removes the part from the vehicle hierarchy. |
isDetachable |
isDetachable |
— | true |
— | If on, the part detaches from the vehicle when Strength decreases to Detach Point. If off, the part can only become loose. |
lockAtStart |
lockAtStart |
— | true |
— | If on, the code locks all motions of the Configurable Joint at Awake, so the part stays fixed until damage makes it loose. If off, the joint keeps its own motion settings. |
loosePoint |
loosePoint |
— | 50 |
min 0 | Sets the strength at which the part becomes loose. At or below this value, the joint motions unlock to their original settings and the part can move. |
onDamaged |
onDamaged |
— | — |
— | Optional UnityEvent. The part calls this event each time the part gets damage. The event sends the amount of damage as a float. |
partType |
partType |
— | DetachablePartType.Hood |
— | Selects the role of this part on the vehicle. If Use Damage Weighting is on, the type sets the damage multiplier (Hood 1, Trunk 1.2, Door 0.8, bumpers 1.5, Other 1). |
strength |
strength |
— | 100 |
min 0 | Sets the starting strength of the part. Each collision decreases the strength. At Loose Point the part becomes loose. At Detach Point the part detaches (if Is Detachable is on). A repair restores the starting value. |
useDamageWeighting |
useDamageWeighting |
— | true |
— | If on, the damage to this part changes with its Part Type (Hood 1, Trunk 1.2, Door 0.8, front and rear bumpers 1.5, Other 1). If off, all part types use a multiplier of 1. |
RCCP_ExhaustVibration
Moves a visual exhaust group with the vibration of the engine.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
amplitude |
amplitude |
m | .0025 |
min 0 | Sets the largest movement of the exhaust, in meters (0.0025 = 2.5 mm). The exhaust moves gently at idle and more under throttle and load. Attach this component only to a visual group without colliders. |
RCCP_FOVForCinematicCamera
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
FOV |
FOV |
— | 30 |
1 – 179 | Sets the FOV, in degrees, of the cinematic camera. The animation clip of this shot animates this value. The component copies the value to Target FOV of RCCP_CinematicCamera each frame. |
RCCP_FakeShadow
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
cornerRadius |
cornerRadius |
— | 0.3 |
min 0 | Sets the corner radius of the solid part of the shadow, in meters. After a change at runtime, call Rebuild(). |
cullDistanceMeters |
cullDistanceMeters |
— | 100 |
min 1 | Sets the camera distance in meters beyond which the code does not draw the shadow. Set a value higher than Fade Start Meters. |
fadeEndHeight |
fadeEndHeight |
— | 3 |
min 0.01 | Sets the height of the vehicle bottom above the road, in meters, at which the shadow is gone. Set a value higher than Fade Start Height. |
fadeStartHeight |
fadeStartHeight |
— | 0.3 |
min 0 | Sets the height of the vehicle bottom above the road, in meters, at which the shadow starts to fade out. |
fadeStartMeters |
fadeStartMeters |
— | 60 |
min 0 | Sets the camera distance in meters at which the shadow starts to fade out. The fade ends at Cull Distance Meters. |
gridSegments |
gridSegments |
— | 24 |
2 – 64 | Sets the grid resolution of the shadow mesh. The fade is stored in vertex colors, so a higher value gives a smoother edge. After a change at runtime, call Rebuild(). |
groundMask |
groundMask |
— | ~0 |
— | Selects the layers that count as road when the code casts rays down to find the ground. |
groundRaycastIntervalSeconds |
groundRaycastIntervalSeconds |
— | 0.1 |
0 – 0.5 | Sets the time in seconds between the ground raycasts. The raycast updates only the road height and tilt. The shadow still follows the vehicle every frame. At 0, the code casts a ray every frame. |
lengthScale |
lengthScale |
— | 1 |
min 0 | Multiplies the shadow length. The code measures the length from the vehicle renderers. After a change at runtime, call Rebuild(). |
shadowMaterial |
shadowMaterial |
— | — |
— | The material for the shadow. If this slot is empty, the code uses Fake Shadow Material from RCCP_Settings. If the settings slot is also empty, the code creates a material from the Fake Shadow shader, which can fail in a build. |
softness |
softness |
— | 0.6 |
min 0.01 | Sets the width of the soft edge of the shadow, in meters. Half of the edge lies outside the body outline, so the shadow shows around a body that covers the road under it. A higher value gives a softer, wider shadow. After a change at runtime, call Rebuild(). |
strength |
strength |
— | 0.7 |
0 – 1 | Sets how dark the shadow under the body is. 0 = no shadow, 1 = black at the center. If the scene also has realtime shadows, use a lower value, because the two shadows stack. |
wheelSpotSize |
wheelSpotSize |
— | 1 |
min 0 | Multiplies the size of the wheel contact spots. At 1, a spot is about 2.5 times as wide as the tire and as long as the wheel diameter. The spot shows around the tire. |
wheelSpotStrength |
wheelSpotStrength |
— | 0.6 |
0 – 1 | Sets how dark the wheel contact spots are. The spots stack on top of the body shadow. |
wheelSpots |
wheelSpots |
— | true |
— | If on, the code draws a small dark spot where each wheel touches the road. |
widthScale |
widthScale |
— | 1 |
min 0 | Multiplies the shadow width. The code measures the width from the vehicle renderers. After a change at runtime, call Rebuild(). |
RCCP_FakeShadow+Spot
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
fade |
fade |
— | — |
— | — |
normal |
normal |
— | Vector3.up |
— | — |
point |
point |
— | — |
— | — |
renderer |
renderer |
— | — |
— | — |
tf |
tf |
— | — |
— | — |
valid |
valid |
— | — |
— | — |
wheel |
wheel |
— | — |
— | — |
RCCP_FeatureLab
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
spawnAnchor |
spawnAnchor |
— | — |
— | The Transform to which the Respawn Vehicle action (Systems category) moves the player vehicle. If empty, the Feature Lab vehicle selector copies its Spawn Point to this field when the selector spawns a vehicle. If no Transform is assigned, the action is unavailable. |
trailerAnchor |
trailerAnchor |
— | — |
— | The Transform to which the Teleport To Trailer action (Systems category) moves the player vehicle. Assign the trailer parking point of the scene. If empty, the action is unavailable. |
RCCP_FeatureLabUI
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
startOpen |
startOpen |
— | true |
— | — |
RCCP_FeatureLabUI+Row
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
card |
card |
— | — |
— | — |
cardReadout |
cardReadout |
— | — |
— | — |
cardReason |
cardReason |
— | — |
— | — |
cardReset |
cardReset |
— | — |
— | — |
ctrlGroup |
ctrlGroup |
— | — |
— | — |
entry |
entry |
— | — |
— | — |
enumLabel |
enumLabel |
— | — |
— | — |
group |
group |
— | — |
— | — |
root |
root |
— | — |
— | — |
slider |
slider |
— | — |
— | — |
statusLabel |
statusLabel |
— | — |
— | — |
suppress |
suppress |
— | — |
— | — |
toggle |
toggle |
— | — |
— | — |
valueLabel |
valueLabel |
— | — |
— | — |
RCCP_FeatureLabVehicleSelector
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
displayNames |
displayNames |
— | — |
— | Optional button names for the selector bar, in the same order as Vehicle Prefabs. If an entry is empty or missing, the button shows the prefab name. |
spawnPoint |
spawnPoint |
— | — |
— | The Transform where the first vehicle spawns. The code uses this point only if no player vehicle exists. Each later spawn puts the new vehicle at the position, yaw and velocity of the current vehicle. |
vehiclePrefabs |
vehiclePrefabs |
— | — |
— | The vehicle prefabs that the selector bar shows, in bar order. Assign direct prefab references. The selector does not use the RCCP_DemoVehicles registry. The bar skips empty entries. |
RCCP_FixedCamera
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
canTrackNow |
canTrackNow |
— | false |
— | If on, the fixed camera follows the vehicle. RCCP_Camera sets this value to on in Fixed mode and to off at each mode change. Read-only at runtime. |
maxDistance |
maxDistance |
— | 50 |
min 0 | Sets the maximum distance, in meters, from the camera to the vehicle. If the vehicle goes farther, the camera moves to a new point ahead of the vehicle. A higher value also makes the FOV change slower with distance. |
maximumFOV |
maximumFOV |
— | 60 |
10 – 160 | Sets the widest FOV, in degrees, used while the vehicle is near the camera. If the vehicle is inside one tenth of Max Distance, the code uses 70 degrees instead of this value. |
minimumFOV |
minimumFOV |
— | 20 |
10 – 160 | Sets the narrowest FOV, in degrees. The camera uses this FOV while the vehicle is far away (at two thirds of Max Distance or more). |
RCCP_GamepadIcons
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
ps4 |
ps4 |
— | — |
— | The icon set for DualSense (PlayStation) gamepads. The code uses this set only for DualSense layouts. Other gamepads use the Xbox icon set. |
xbox |
xbox |
— | — |
— | The icon set for every gamepad that is not a DualSense, for example an Xbox gamepad. If the set has no icon for a binding, the binding shows as text. |
RCCP_GamepadIcons+GamepadIcons
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
buttonEast |
buttonEast |
— | — |
— | The icon for the east face button (B on Xbox, Circle on PlayStation). If this field is empty, the binding shows as text. |
buttonNorth |
buttonNorth |
— | — |
— | The icon for the north face button (Y on Xbox, Triangle on PlayStation). If this field is empty, the binding shows as text. |
buttonSouth |
buttonSouth |
— | — |
— | The icon for the south face button (A on Xbox, Cross on PlayStation). If this field is empty, the binding shows as text. |
buttonWest |
buttonWest |
— | — |
— | The icon for the west face button (X on Xbox, Square on PlayStation). If this field is empty, the binding shows as text. |
dpad |
dpad |
— | — |
— | The icon for the full directional pad (D-pad). If this field is empty, the binding shows as text. |
dpadDown |
dpadDown |
— | — |
— | The icon for the down direction of the D-pad. If this field is empty, the binding shows as text. |
dpadLeft |
dpadLeft |
— | — |
— | The icon for the left direction of the D-pad. If this field is empty, the binding shows as text. |
dpadRight |
dpadRight |
— | — |
— | The icon for the right direction of the D-pad. If this field is empty, the binding shows as text. |
dpadUp |
dpadUp |
— | — |
— | The icon for the up direction of the D-pad. If this field is empty, the binding shows as text. |
leftShoulder |
leftShoulder |
— | — |
— | The icon for the left shoulder button (LB on Xbox, L1 on PlayStation). If this field is empty, the binding shows as text. |
leftStick |
leftStick |
— | — |
— | The icon for the left analog stick. If this field is empty, the binding shows as text. |
leftStickPress |
leftStickPress |
— | — |
— | The icon for a press on the left stick (L3). If this field is empty, the binding shows as text. |
leftTrigger |
leftTrigger |
— | — |
— | The icon for the left trigger (LT on Xbox, L2 on PlayStation). If this field is empty, the binding shows as text. |
rightShoulder |
rightShoulder |
— | — |
— | The icon for the right shoulder button (RB on Xbox, R1 on PlayStation). If this field is empty, the binding shows as text. |
rightStick |
rightStick |
— | — |
— | The icon for the right analog stick. If this field is empty, the binding shows as text. |
rightStickPress |
rightStickPress |
— | — |
— | The icon for a press on the right stick (R3). If this field is empty, the binding shows as text. |
rightTrigger |
rightTrigger |
— | — |
— | The icon for the right trigger (RT on Xbox, R2 on PlayStation). If this field is empty, the binding shows as text. |
selectButton |
selectButton |
— | — |
— | The icon for the Select or View button. If this field is empty, the binding shows as text. |
startButton |
startButton |
— | — |
— | The icon for the Start or Menu button. If this field is empty, the binding shows as text. |
RCCP_GasStation
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
refillSpeed |
refillSpeed |
— | 1 |
min 0 | Sets the fuel refill rate in liters per second while a vehicle is inside the trigger zone. The vehicle must have a fuel tank (RCCP_FuelTank). The tank does not fill above its capacity. |
RCCP_GroundMaterials+TerrainFrictions+SplatmapIndexes
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
index |
index |
— | 0 |
min 0 | The number of the road surface that this paint layer uses, counting from 0 in the surface list above. The position of this element in the list is the paint layer number. |
RCCP_HoodCamera
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
hoodMotion |
hoodMotion |
— | — |
— | Vehicle-specific motion limits. These settings are used only when Override Hood Motion is enabled. |
overrideHoodMotion |
overrideHoodMotion |
— | false |
— | Enable to use this vehicle's Hood Motion settings. Disable to inherit the scene camera settings. An override with Enabled off disables motion for this vehicle. |
RCCP_InputActions
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
inputActions |
inputActions |
— | — |
— | The Input System actions asset with all vehicle control bindings. RCCP_InputManager uses this asset, and RCCP_RebindSaveLoad saves and loads the binding changes. |
RCCP_InputManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
inputActionsInstance |
inputActionsInstance |
— | null |
— | The Input Actions asset that the input manager reads. The code takes this asset from RCCP_InputActions and enables the asset. Read-only at runtime. |
inputs |
inputs |
— | — |
— | Shows the input values that the input manager collects each frame from the keyboard, gamepad or mobile controls. If Override Inputs is on, the values come from OverrideInputs(). While the player types in a UI input field, the driving inputs are 0. Read-only at runtime. |
overrideInputs |
overrideInputs |
— | false |
— | If on, the input manager ignores the input devices and uses the values from OverrideInputs(). If off, the input manager reads the devices each frame. OverrideInputs() sets this value to on, and DisableOverrideInputs() sets this value to off. |
RCCP_LightCones
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
cameraOverride |
cameraOverride |
— | — |
— | The camera that the code uses to fade and cull the beams. If this slot is empty, the code uses the active camera of RCCP_SceneManager, then Camera.main. |
coneEndRadius |
coneEndRadius |
— | 2.2 |
min 0 | Sets the beam radius at the far end, in meters. A higher value gives a wide, soft flood light. A lower value gives a narrow spot. |
coneIntensity |
coneIntensity |
— | 0.15 |
0 – 4 | Multiplies the beam brightness. The live brightness of the real lamp also scales the beam. The beams are additive, so the default value is low. Typical range: 0.5–1 in a scene without strong post-exposure. |
coneLength |
coneLength |
— | 14 |
min 0 | Sets how far each beam reaches from the lamp, in meters. After a change at runtime, call Rebuild(). |
coneMaterial |
coneMaterial |
— | — |
— | The material for the beams. If this slot is empty, the code uses Light Cone Material from RCCP_Settings. If the settings slot is also empty, the code creates a material from the Light Cone shader, which can fail in a build. |
coneStartRadius |
coneStartRadius |
— | 0.12 |
min 0 | Sets the beam radius at the lamp, in meters. A headlight is a lens, not a point. A sharp tip at the lamp causes aliasing and makes the base of the beam shimmer. |
coneTint |
coneTint |
— | — |
— | Sets the beam color. A warm white looks like a halogen headlight. A pure white looks like an HID or LED headlight. The ground pool uses this color too. |
cullDistanceMeters |
cullDistanceMeters |
— | 70 |
min 1 | Sets the camera distance in meters beyond which the code does not draw the beams or the ground pool. Set a value higher than Fade Start Meters. If the value is not higher, the beams disappear with no fade. |
decalMaterialTemplate |
decalMaterialTemplate |
— | — |
— | The template material for the decal pool (the additive Light Splash Decal shader). Only Decal and Auto mode on URP use it. The code tints a runtime copy with Cone Tint. If this slot is empty, the code uses Light Pool Decal Material from RCCP_Settings. If both are empty, the pool uses the quad. |
disableRealHeadlights |
disableRealHeadlights |
— | false |
— | If on, the code disables the real headlight Light components, so only the fake beams light the scene. The lens emission still glows, because RCCP_Light still writes the intensity. Each lamp frees one realtime light slot. If off (default), the real headlights stay as they are. Disabling or removing this component restores the real lights. At runtime, call SetRealHeadlightsDisabled(). |
edgeSoftness |
edgeSoftness |
— | 5 |
0 – 8 | Sets how fast the beam fades toward its silhouette edges. The fade makes the hollow cone look like a volume of light. A value of 0 gives a hard-edged shell. |
fadeStartMeters |
fadeStartMeters |
— | 45 |
min 0 | Sets the camera distance in meters at which the beams and the ground pool start to fade out. The fade ends at Cull Distance Meters. |
falloffPower |
falloffPower |
— | 1.6 |
0.1 – 6 | Sets the shape of the brightness ramp from the lamp to the beam end. A value of 1 gives a linear ramp. A higher value keeps more of the brightness near the lamp. |
frontFade |
frontFade |
— | 0.5 |
0 – 1 | Multiplies the beam brightness when the camera looks into the lamp from the front. The fade decreases the additive glare but keeps oncoming headlights visible. 0 = no beam from the front, 1 = no fade. |
groundMask |
groundMask |
— | ~0 |
— | Selects the layers that count as road when the pool casts rays down to find the ground. |
groundMode |
groundMode |
— | GroundMode.Auto |
— | Selects how the ground pool renders. Quad always uses a flat mesh. Auto (recommended) and Decal use a URP decal projector if the active renderer has a Decal Renderer Feature and is not deferred. Otherwise the pool uses the quad. A decal follows curbs and road camber and also lights the vehicles ahead. |
groundPoolEnabled |
groundPoolEnabled |
— | true |
— | If on, the code draws a pool of light on the road ahead of the vehicle. The pool is the main sign that the headlights are on. Without the pool, the beams alone look like fog. |
groundRaycastIntervalSeconds |
groundRaycastIntervalSeconds |
— | 0.1 |
0 – 0.5 | Sets the time in seconds between the ground raycasts of the pool. The raycast updates only the road height and tilt. The pool still follows the vehicle every frame. A higher value costs less and is safe on flat streets. If pools move onto curbs or ramps late, decrease the value. At 0, the pool casts a ray every frame. |
lengthSegments |
lengthSegments |
— | 3 |
1 – 12 | Sets the number of rings along the beam. With more than 1 ring, the brightness follows Falloff Power along the beam. With 1 ring, the brightness changes linearly. |
minLampIntensity |
minLampIntensity |
— | 0.05 |
0 – 1 | Sets the lamp brightness, as a fraction of its own maximum, below which the code skips the beam. The ground pool uses the same limit. |
poolFalloffPower |
poolFalloffPower |
— | 1.5 |
0.1 – 6 | Sets the shape of the pool fade from the center to the edge. A value of 1 gives a linear fade. A higher value keeps a smaller bright center. |
poolForwardOffset |
poolForwardOffset |
— | 7 |
— | Sets the distance in meters from the vehicle to the center of the ground pool. |
poolGridSegments |
poolGridSegments |
— | 24 |
2 – 32 | Sets the grid resolution of the quad pool mesh. The fade is stored in vertex colors, so a higher value gives a smoother fade. The decal pool does not use this value. |
poolIntensity |
poolIntensity |
— | 0.5 |
0 – 4 | Multiplies the brightness of the ground pool. The live brightness of the brightest headlight also scales the pool. As for the beams, the default value is low. The response is linear over the full range in quad and decal mode. In decal mode, the projector fade carries values up to 1 and the decal shader carries the rest. |
poolLength |
poolLength |
— | 17 |
min 0 | Sets the length of the ground pool along the road, in meters. |
poolMaterial |
poolMaterial |
— | — |
— | The material for the quad ground pool. If this slot is empty, the code uses Light Pool Material from RCCP_Settings. If the settings slot is also empty, the code creates a material from the Light Cone shader with the edge fade off. |
poolWidth |
poolWidth |
— | 8 |
min 0 | Sets the width of the ground pool across the road, in meters. |
radialSegments |
radialSegments |
— | 16 |
3 – 48 | Sets the number of segments around the beam axis. A higher value makes the beam rounder but adds vertices. |
softFadeFactor |
softFadeFactor |
— | 1 |
0.01 – 3 | Sets how sharply the beam fades where it meets solid geometry. A higher value gives a shorter fade. The fade works only if the camera renders a depth texture. |
RCCP_LightCones+Cone
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
mesh |
mesh |
— | — |
— | — |
rccpLight |
rccpLight |
— | — |
— | — |
realLightWasEnabled |
realLightWasEnabled |
— | true |
— | — |
referenceIntensity |
referenceIntensity |
— | 1 |
— | — |
renderer |
renderer |
— | — |
— | — |
tf |
tf |
— | — |
— | — |
unityLight |
unityLight |
— | — |
— | — |
RCCP_MainComponent
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
_brakedAxles |
_brakedAxles |
— | — |
— | Shows the axles that the brake acts on (Braked axle on). Read-only at runtime. |
_handbrakedAxles |
_handbrakedAxles |
— | — |
— | Shows the axles that the handbrake locks (Handbrake axle on). Read-only at runtime. |
_poweredAxles |
_poweredAxles |
— | — |
— | Shows the axles that receive engine power now (Powered axle on). The drive type of each differential sets these axles. Read-only at runtime. |
_steeredAxles |
_steeredAxles |
— | — |
— | Shows the axles whose wheels turn with the steering (Steered axle on). Read-only at runtime. |
components |
components |
— | — |
— | The RCCP components of this vehicle. In Awake, the code fills this list with every RCCP component in the vehicle hierarchy, active or inactive, and initializes each component. |
upgradeComponents |
upgradeComponents |
— | — |
— | The upgrade components of this vehicle (for example paint, spoiler and wheel upgrades). In Awake, the code fills this list from the vehicle hierarchy, active or inactive, and initializes each component. |
RCCP_MobileInputs
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
brake |
brake |
— | — |
— | The touch button for the brake input. The input increases while the player holds the button. |
brakeInput |
brakeInput |
— | 0 |
0 – 1 | Shows the brake value from the mobile controls, from 0 to 1. Read-only at runtime. |
ebrake |
ebrake |
— | — |
— | The touch button for the handbrake. The input increases while the player holds the button. |
ebrakeInput |
ebrakeInput |
— | 0 |
0 – 1 | Shows the handbrake value from the mobile controls, from 0 to 1. Read-only at runtime. |
joystick |
joystick |
— | — |
— | The joystick on screen. The code shows this object only if Mobile controller type is Joystick. The horizontal axis of the joystick steers the vehicle. |
left |
left |
— | — |
— | The touch button that steers the vehicle to the left. The code shows this button only if Mobile controller type is Touch Screen. |
mobileCanvas |
mobileCanvas |
— | — |
— | The root GameObject of the mobile controls. The code shows this object only while Use mobile controller is on in RCCP Settings. If this field is empty, the code logs one warning. |
nos |
nos |
— | — |
— | The touch button for the NOS boost. The code shows this button only if the player vehicle has a NOS component. The NOS input also adds to the throttle input. |
nosInput |
nosInput |
— | 0 |
0 – 1 | Shows the NOS value from the mobile controls, from 0 to 1. Read-only at runtime. |
right |
right |
— | — |
— | The touch button that steers the vehicle to the right. The code shows this button only if Mobile controller type is Touch Screen. |
steerInput |
steerInput |
— | 0 |
-1 – 1 | Shows the steer value from the mobile controls. A negative value steers left and a positive value steers right. The value is the sum of the buttons, the steering wheel, the joystick and the tilt input. Read-only at runtime. |
steeringWheel |
steeringWheel |
— | — |
— | The steering wheel on screen. The code shows this object only if Mobile controller type is Steering Wheel. |
throttle |
throttle |
— | — |
— | The touch button for the throttle input. The input increases while the player holds the button. |
throttleInput |
throttleInput |
— | 0 |
0 – 1 | Shows the throttle value from the mobile controls, from 0 to 1. The value includes the NOS input. Read-only at runtime. |
RCCP_Particles+WheelParticles
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
allWheelParticles |
allWheelParticles |
— | — |
— | The slip particle systems of this wheel, one for each ground material in RCCP_GroundMaterials, in the same order. Only the system for the current ground emits. Read-only at runtime. |
wheelCollider |
wheelCollider |
— | — |
— | The wheel collider whose slip, ground type and temperature control the slip particles of this wheel. Read-only at runtime. |
RCCP_PhotoMode
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
autoOrbitSpeed |
autoOrbitSpeed |
— | 20 |
2 – 90 | Sets the turn speed of the Auto-Orbit mode (turntable), in degrees per second. The turn uses real time, so the turn continues while photo mode stops the game time. |
cameraMode |
cameraMode |
— | PhotoCameraMode.Orbit |
— | The active photo camera mode. In Orbit, the player turns the camera around the vehicle. In Free Cam, the player moves the camera freely. In Auto-Orbit, the camera turns around the vehicle at Auto Orbit Speed. |
fieldOfView |
fieldOfView |
— | 60 |
10 – 120 | Sets the FOV of the photo camera, in degrees. The code applies this value each frame. At the start of photo mode, the code copies the FOV of the game camera, limited to the range from Min FOV to Max FOV. |
freeCamBoostMultiplier |
freeCamBoostMultiplier |
— | 3 |
1 – 8 | Sets the speed multiplier of the Free Cam mode while the player holds Left Shift. |
freeCamLookSensitivity |
freeCamLookSensitivity |
— | .036 |
.02 – 1 | Sets how fast the mouse turns the Free Cam. The player holds the right mouse button to turn the camera. A higher value turns the camera faster. |
freeCamMaxRadius |
freeCamMaxRadius |
— | 40 |
min 5 | Sets the maximum distance, in meters, from the vehicle to the Free Cam. The code stops the camera at this distance. |
freeCamMoveSpeed |
freeCamMoveSpeed |
— | 3.6 |
min 1 | Sets the move speed of the Free Cam mode, in meters per second. The player moves the camera with W, A, S and D, and moves the camera down and up with Q and E. |
maxDistance |
maxDistance |
— | 20 |
min 1 | Sets the farthest orbit distance to the vehicle, in meters. The scroll wheel and the right joystick on screen cannot move the camera farther than this distance. |
maxFOV |
maxFOV |
— | 90 |
60 – 179 | Sets the maximum FOV of the photo camera, in degrees. The FOV slider of the photo mode UI and SetFieldOfView() use this limit. |
minDistance |
minDistance |
— | 2.5 |
min .5 | Sets the closest orbit distance to the vehicle, in meters. The code measures the distance from a point 1 m above the origin of the vehicle. |
minFOV |
minFOV |
— | 20 |
5 – 60 | Sets the minimum FOV of the photo camera, in degrees. The FOV slider of the photo mode UI and SetFieldOfView() use this limit. |
orbitSensitivity |
orbitSensitivity |
— | .3 |
.1 – 5 | Sets how fast the pointer movement turns the orbit camera. The code multiplies the pointer movement by this value. A higher value turns the camera faster. |
superSize |
superSize |
— | 2 |
1 – 4 | Sets the resolution multiplier of the screenshot. A value of 2 on a 1080p screen gives a 4K image. The code sends this value to ScreenCapture.CaptureScreenshot(). |
touchElevation |
touchElevation |
— | 0 |
-1 – 1 | Shows the up and down input of the Free Cam, from the Up and Down buttons on screen. -1 = world down, 1 = world up. RCCP_UI_PhotoMode writes this value. Read-only at runtime. |
touchLeftStick |
touchLeftStick |
— | Vector2.zero |
— | Shows the value of the left joystick on screen. In Orbit and Auto-Orbit, the stick turns the camera. In Free Cam, the stick moves the camera. RCCP_UI_PhotoMode writes this value each frame. Read-only at runtime. |
touchLookSpeed |
touchLookSpeed |
— | 36 |
20 – 360 | Sets the Free Cam turn speed for the joystick on screen, in degrees per second at full stick deflection. |
touchOrbitSpeed |
touchOrbitSpeed |
— | 36 |
20 – 360 | Sets the orbit speed for the joystick on screen, in degrees per second at full stick deflection. |
touchRightStick |
touchRightStick |
— | Vector2.zero |
— | Shows the value of the right joystick on screen. In Orbit and Auto-Orbit, the Y axis zooms the camera. In Free Cam, the stick turns the camera. RCCP_UI_PhotoMode writes this value each frame. Read-only at runtime. |
touchZoomSpeed |
touchZoomSpeed |
— | 3.6 |
2 – 40 | Sets the zoom speed for the joystick on screen, in meters per second at full stick deflection. |
zoomSpeed |
zoomSpeed |
— | .3 |
.1 – 5 | Sets the zoom distance for each scroll step, in meters. The code uses this value in the Orbit and Auto-Orbit modes. |
RCCP_PoliceFlare
In Built-in, place this component beside a LensFlare in front of a rotating spotlight. The flare follows its color and intensity.
The flare fades outside the spotlight cone and decreases beyond 8 meters. Disabling the component sets flare brightness to zero.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
source |
source |
— | — |
— | Spotlight that controls the flare color, direction and enabled state. |
brightness |
brightness |
— | .7 |
min 0 | Sets the maximum flare brightness when viewed along the spotlight axis. |
RCCP_PoliceLights
With rotatingReflectors assigned, the reflectors rotate around local Y while all bulbs stay on. Parent each spotlight to its reflector.
Without reflectors, red and blue groups alternate every half-second. Each group flashes for 0.10 seconds, pauses for 0.07 seconds, then flashes for 0.10 seconds.
Assign bulb renderers with emission-enabled materials. SetSiren(false) and disabling the component extinguish all groups without changing shared materials.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
blueBulbs |
blueBulbs |
— | — |
— | The blue bulb renderers. Enable emission on their materials. The component changes emission through property blocks. |
blueLights |
blueLights |
— | — |
— | Blue lights. These stay on with rotating reflectors, or flash with red lights when no reflectors are assigned. |
emissionIntensity |
emissionIntensity |
— | 8 |
min 0 | Sets the HDR emission strength while a bulb group is on. |
redBulbs |
redBulbs |
— | — |
— | The red bulb renderers. Enable emission on their materials. The component changes emission through property blocks. |
redLights |
redLights |
— | — |
— | Red lights. These stay on with rotating reflectors, or flash with blue lights when no reflectors are assigned. |
rotatingReflectors |
rotatingReflectors |
— | — |
— | Reflectors with pivots on the bulb axis. An empty array selects electronic flashes. |
rotationSpeed |
rotationSpeed |
degrees/s | 360 |
min 0 | Sets the reflector rotation speed around local Y. |
sirenMode |
sirenMode |
— | SirenMode.Off |
— | Enables rotation or electronic flashes. Off stops rotation and extinguishes every assigned light and bulb. SetSiren() changes this value at runtime. |
whiteBulbs |
whiteBulbs |
— | — |
— | White bulb renderers. These stay on with rotating reflectors and switch off with the siren. |
whiteLights |
whiteLights |
— | — |
— | White lights. These stay on with rotating reflectors and switch off with the siren. |
RCCP_Prop
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
destroyAfterCollision |
destroyAfterCollision |
— | 3 |
min 0 | Sets the delay in seconds before the code destroys this prop after a hard collision. A hard collision has an impulse of 100 N·s or more, from any object. Set to 0 to keep the prop. |
RCCP_PrototypeContent
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
instanceId |
instanceId |
— | 0 |
min 0 | An identifier number for this asset. No RCCP code reads this value. Keep the default value. |
vehicles |
vehicles |
— | — |
— | The prototype vehicle prefabs that ship with core RCCP. Delete Demo Content From Project copies the first entry into the demo vehicle list. |
RCCP_RainbowEmission
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
cycleSpeed |
cycleSpeed |
— | 0.25 |
0 – 2 | Sets the number of full hue cycles per second. A value of 0.25 gives one full rainbow every 4 seconds. |
intensity |
intensity |
— | 1 |
0 – 10 | Multiplies the brightness of the emission color. For a glow effect, use a value higher than 1 together with HDR and Bloom. |
targetName |
targetName |
— | "Plane" |
— | The name of the GameObject whose emission color changes. The code finds the GameObject by name once at start. If the GameObject or its Renderer is missing, the code logs a warning and disables this component. |
RCCP_Recorder
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
mode |
mode |
— | RecorderMode.Neutral |
— | Shows the state of the recorder: Neutral, Play or Record. Use Record(), Play() and Stop() to change the state. |
recorded |
recorded |
— | — |
— | The recorded clip that Play() plays back. When a recording stops, the code stores the new clip here, adds it to RCCP_Records and writes it to disk. |
RCCP_Recorder+RecordedClip
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
recordName |
recordName |
— | "New Record" |
— | The name of this recording in the records list. A new recording gets a name from its index and the vehicle name (for example, 3_Vehicle). |
RCCP_Recorder+VehicleInput
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
NGear |
NGear |
— | — |
— | On if the gearbox was in neutral in this frame. Playback does not apply this value. |
brakeInput |
brakeInput |
— | — |
— | The recorded brake input of this frame (0–1). Playback sends this value to the vehicle as an input override. |
clutchInput |
clutchInput |
— | — |
— | The recorded clutch input of this frame (0–1). Playback sends this value to the vehicle as an input override. |
currentGear |
currentGear |
— | — |
— | The recorded gear index of this frame. Playback sends this gear to the gearbox as a gear override. |
direction |
direction |
— | — |
— | The recorded drive direction of this frame. 1 means forward and -1 means reverse. Playback does not apply this value. |
gearInput |
gearInput |
— | 1 |
— | The gear engagement value that playback sends to the gearbox. The recorder does not capture this value, so the value stays 1 (fully engaged). |
gearState |
gearState |
— | — |
— | The recorded gear state of this frame: Park, InReverseGear, Neutral or InForwardGear. Playback sends this state to the gearbox. |
handbrakeInput |
handbrakeInput |
— | — |
— | The recorded handbrake input of this frame (0–1). Playback sends this value to the vehicle as an input override. |
highBeamHeadLightsOn |
highBeamHeadLightsOn |
— | — |
— | On if the high beam headlights were on in this frame. Playback sets the high beams to match. |
indicatorsAll |
indicatorsAll |
— | — |
— | On if the hazard lights (all indicators) were on in this frame. Playback sets the hazard lights to match. |
indicatorsLeft |
indicatorsLeft |
— | — |
— | On if the left indicators were on in this frame. Playback sets the left indicators to match. |
indicatorsRight |
indicatorsRight |
— | — |
— | On if the right indicators were on in this frame. Playback sets the right indicators to match. |
lowBeamHeadLightsOn |
lowBeamHeadLightsOn |
— | — |
— | On if the low beam headlights were on in this frame. Playback sets the low beams to match. |
nosInput |
nosInput |
— | — |
— | The recorded NOS input of this frame (0–1). Playback sends this value to the vehicle as an input override. |
steerInput |
steerInput |
— | — |
— | The recorded steer input of this frame (-1 to 1). Playback sends this value to the vehicle as an input override. |
throttleInput |
throttleInput |
— | — |
— | The recorded throttle input of this frame (0–1). Playback sends this value to the vehicle as an input override. |
RCCP_Recorder+VehicleTransform
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
position |
position |
— | — |
— | The recorded world position of the vehicle in this frame. Playback places the vehicle only at the position of the first frame. |
rotation |
rotation |
— | — |
— | The recorded world rotation of the vehicle in this frame. Playback sets only the rotation of the first frame. |
RCCP_Recorder+VehicleVelocity
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
angularVelocity |
angularVelocity |
— | — |
— | The recorded angular velocity of the vehicle Rigidbody in this frame. Playback writes this angular velocity to the Rigidbody in each physics step. |
velocity |
velocity |
— | — |
— | The recorded linear velocity of the vehicle Rigidbody in this frame. Playback writes this velocity to the Rigidbody in each physics step. |
RCCP_Records
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
records |
records |
— | — |
— | The clips that RCCP_Recorder saved, ready for playback. Each finished recording adds one clip. In a player build, the code also adds the clips saved on disk. |
RCCP_ReplayDirector
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
allowResume |
allowResume |
— | true |
— | If on, the player can end the replay and drive on from the current replay moment (a flashback). The replay bar then shows the Resume button, and RCCP.ResumeFromReplay() works. If off, the end of a replay always returns the world to the moment the replay started. Saved clips cannot resume. |
autoCutMaxSeconds |
autoCutMaxSeconds |
— | 7 |
min 0.5 | Sets the longest time in seconds that the automatic camera director (the Auto shot) holds one view before it tries to cut. If this value is lower than Auto Cut Min, the code sets it to Auto Cut Min. |
autoCutMinSeconds |
autoCutMinSeconds |
— | 3 |
min 0.5 | Sets the shortest time in seconds that the automatic camera director (the Auto shot) holds one view before it can cut. The length of each hold is between Auto Cut Min and Auto Cut Max. |
autoHideSeconds |
autoHideSeconds |
— | 3 |
min 0 | Sets the time in seconds without input before the replay overlay fades out. At 0, the overlay does not hide. While the replay is paused, the overlay stays visible. |
bufferSeconds |
bufferSeconds |
— | 60 |
10 – 300 | Sets the length in seconds of the history in the replay buffer. The director reads this value once, when it starts. The memory use increases in proportion to this value. |
clipVehiclePrefabs |
clipVehiclePrefabs |
— | — |
— | The vehicle prefabs that a saved replay clip can spawn. If no unused vehicle in the scene has the recorded name, the code spawns the prefab with the same name. A (Clone) suffix does not affect the match. The code removes the spawned vehicles when the replay stops. |
crashSlowMoScale |
crashSlowMoScale |
— | 0.5 |
0.1 – 1 | Sets the replay speed during crash slow motion, as a factor of the selected replay speed. At 1, the replay speed does not decrease. Works with Slow-Mo On Crashes. |
damageSnapshotBudgetMB |
damageSnapshotBudgetMB |
— | 32 |
min 1 | Sets the memory budget in MB for the damage snapshots taken before impacts. Snapshot size depends on the vertex count of the damage meshes. If the budget is full, the director removes the oldest snapshots first. The newest snapshot of each vehicle always stays. If a replay needs a removed snapshot, the replay starts after that impact. |
maxProps |
maxProps |
— | 32 |
0 – 128 | Sets the maximum number of props that the director records at the same time. The director reads this value once, when it starts. |
maxResumes |
maxResumes |
— | 0 |
min 0 | Sets how many times the player can resume from a replay (a flashback). Call ResetResumeCount() to restore the full count, for example at the start of each race. At 0, the number of resumes is unlimited. The Resume button of the replay bar shows the remaining count and hides at zero. |
maxVehicles |
maxVehicles |
— | 8 |
1 – 16 | Sets how many vehicles the director records at the same time. The director records the vehicles nearest to the player vehicle, or nearest to the player camera if there is no player vehicle. The player vehicle always gets a slot. The director reads this value once, when it starts. |
openAtCurrentMoment |
openAtCurrentMoment |
— | true |
— | If on, a replay opens paused at the current moment (the end of the replay window), so the player rewinds from there. If off, the replay opens at the start of the window and plays. Saved clips use this setting too. |
propRadius |
propRadius |
— | 30 |
min 1 | Sets the radius in meters around each recorded vehicle in which the director searches for props. The search runs once per second. |
recordProps |
recordProps |
— | true |
— | If on, the director also records loose Rigidbodies near the recorded vehicles (for example traffic cones, barrels and broken detachable parts), so they replay too. The director reserves memory for props only if this setting is on when it starts. |
recordWhenNoPlayer |
recordWhenNoPlayer |
— | false |
— | If on, the director also records while there is no player vehicle. The director then selects the vehicles by distance to the player camera. If off (the default), the director does not record without a player vehicle. For example, an empty menu scene records nothing. |
rewindSpeed |
rewindSpeed |
— | 1 |
1 – 4 | Multiplies the replay speed while the replay rewinds. At 1, the replay rewinds in real time. At 2, ten seconds of history rewind in five seconds. The value applies on top of the selected replay speed. |
slowMoOnCrashes |
slowMoOnCrashes |
— | true |
— | If on, the replay plays in slow motion around each impact on the replay timeline. The slow motion runs only with the Auto shot, in forward play, at a replay speed of 1 or more. Crash Slow-Mo Scale sets the slow-motion speed. |
RCCP_SceneManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
activeMainCamera |
activeMainCamera |
— | — |
— | The main camera of the scene (Camera.main). The code updates this reference every frame. Read-only at runtime. |
activePlayerCamera |
activePlayerCamera |
— | — |
— | The RCCP Camera that follows the player vehicle. The code assigns this camera when an RCCP Camera is enabled. Read-only at runtime. |
activePlayerCanvas |
activePlayerCanvas |
— | — |
— | The RCCP UI canvas (RCCP_UIManager) of the player. The code sets this reference when the canvas is enabled and clears the reference when the canvas is disabled. Read-only at runtime. |
activePlayerVehicle |
activePlayerVehicle |
— | — |
— | The player vehicle. Only this vehicle receives the player input. If this field changes to a different vehicle, the camera follows the new vehicle. Call RCCP.RegisterPlayerVehicle() to change the player vehicle from a script. |
allTerrains |
allTerrains |
— | — |
— | The active terrains in the scene, for surface detection. The code collects the terrains at start. The code updates the list when a wheel touches a terrain that is not in the cache. Read-only at runtime. |
allVehicles |
allVehicles |
— | — |
— | The enabled RCCP vehicles in the scene, player and AI. The code adds a vehicle when it is enabled and removes the vehicle when it is disabled. Read-only at runtime. |
disableUIWhenNoPlayerVehicle |
disableUIWhenNoPlayerVehicle |
— | false |
— | If on, the RCCP UI hides the dashboard, the HUD and the mobile controls while there is no player vehicle. The modern dashboard and the mobile controls also hide while the player cannot control the player vehicle. If off, the UI stays visible. |
registerLastVehicleAsPlayer |
registerLastVehicleAsPlayer |
— | true |
— | If on, each vehicle without RCCP_AI becomes the player vehicle when it is enabled. The last vehicle that is enabled gets the player slot. RCCP.SpawnRCC() with registerAsPlayerVehicle set to false does not register the vehicle. If off, call RCCP.RegisterPlayerVehicle() to set the player vehicle. |
RCCP_SceneManager+Terrains
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
alphamapHeight |
alphamapHeight |
— | — |
— | The height of the terrain alphamap in pixels. The wheels use this value to check that a position is inside the splatmap. |
alphamapWidth |
alphamapWidth |
— | — |
— | The width of the terrain alphamap in pixels. The wheels use this value to check that a position is inside the splatmap. |
colliderComponent |
colliderComponent |
— | — |
— | The TerrainCollider of this terrain. The code uses this collider to find the terrain that a wheel touches. |
mNumTextures |
mNumTextures |
— | — |
— | The number of texture layers in the splatmap of this terrain. |
mTerrainData |
mTerrainData |
— | — |
— | The TerrainData of this terrain. The code reads the splatmap (alphamaps) from this data when it creates the entry. |
terrain |
terrain |
— | — |
— | The Terrain of this cache entry. The wheels read the splatmap of this terrain to find the ground material. |
terrainCollider |
terrainCollider |
— | — |
— | The physics material of the terrain collider (its shared material). The code stores this value, but the wheels find their terrain by Collider Component, not by this material. |
RCCP_ShowroomCamera
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
distance |
distance |
— | 8 |
min 0 | Sets the distance from the camera to the target, in meters. The camera keeps this distance at all orbit angles. |
dragSpeed |
dragSpeed |
— | 10 |
min 0 | Sets how fast a pointer drag turns the camera. A UI drag event must call OnDrag() on this component. A higher value turns the camera more for the same drag. |
maxY |
maxY |
— | 35 |
-90 – 90 | Sets the highest vertical orbit angle, in degrees. A higher value lets the camera move higher above the target. |
minY |
minY |
— | 5 |
-90 – 90 | Sets the lowest vertical orbit angle, in degrees. A negative value lets the camera move below the target. |
orbitSpeed |
orbitSpeed |
— | 5 |
min 0 | Sets the speed of the automatic orbit, in degrees per second. |
orbitX |
orbitX |
— | 0 |
— | Shows the current horizontal orbit angle, in degrees. The automatic orbit and the pointer drag change this value. The value at the start of Play Mode is the start angle. |
orbitY |
orbitY |
— | 0 |
— | Shows the current vertical orbit angle, in degrees. The code keeps this value between Min Y and Max Y. |
orbitingNow |
orbitingNow |
— | true |
— | If on, the camera turns around the target at Orbit Speed. If off, only a pointer drag turns the camera. The orbit uses real time, so the camera also turns while the game is paused. |
smooth |
smooth |
— | true |
— | If on, the camera moves smoothly to its new position and rotation. If off, the camera goes to the new position and rotation at once. |
smoothingFactor |
smoothingFactor |
— | 5 |
min 0 | The current code does not use this value. If Smooth is on, the camera always uses a fixed smoothing rate of 10. |
target |
target |
— | — |
— | The Transform that the camera turns around, for example the vehicle spawn point. If this field is empty, the code logs a warning and disables this component. |
RCCP_Skidmarks
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
groundOffset |
groundOffset |
— | 0.02 |
min 0 | Sets the height of the skidmarks above the ground surface, in meters. This offset prevents z-fighting with the ground. |
maxMarks |
maxMarks |
— | 1024 |
min 128 | Sets the maximum number of skidmark sections in this instance. If all sections are in use, the code replaces the oldest section. The code creates the buffer at Awake. |
minDistance |
minDistance |
— | .04 |
min 0 | Sets the minimum spacing between two skidmark sections, as a squared distance in m². A value of 0.04 gives a section every 0.2 m. A lower value gives smoother marks, but old marks disappear sooner because the code reuses the sections faster. |
RCCP_Skidmarks+MarkSection
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
intensity |
intensity |
— | 0.0 |
— | Sets the opacity of this section. 0 = invisible, 1 = fully opaque. The code writes this value to the alpha of the vertex color. |
lastIndex |
lastIndex |
— | 0 |
— | The index of the previous section in the same strip. A value of -1 means that this section starts a new strip. |
normal |
normal |
— | Vector3.zero |
— | The surface normal at this section. |
pos |
pos |
— | Vector3.zero |
— | The world position of the center of this section. The code adds Ground Offset along the surface normal. |
posl |
posl |
— | Vector3.zero |
— | The world position of the left edge of this section. |
posr |
posr |
— | Vector3.zero |
— | The world position of the right edge of this section. |
tangent |
tangent |
— | Vector4.zero |
— | The tangent of this section. The code writes this value to the mesh tangents. The tangent points across the mark, toward the left edge. |
RCCP_SportyDamageUI
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
canvasGroup |
canvasGroup |
— | — |
— | The CanvasGroup that shows and hides the damage HUD. The code changes the CanvasGroup alpha to fade the HUD. The code deactivates the CanvasGroup GameObject during photo mode, during a replay, and while no player vehicle with an enabled RCCP_Damage exists. Put the CanvasGroup on a child GameObject, not on this GameObject. |
criticalHeatThreshold |
criticalHeatThreshold |
— | .5 |
0 – 1 | Sets the engine heat (0–1) at which the vehicle counts as critical. The engine heat comes from RCCP_DamageMechanics. A lower value keeps the HUD visible at a lower heat. Used only if Hold While Critical is on. |
displayMode |
displayMode |
— | DisplayMode.ShowOnCollision |
— | Selects when the damage HUD is visible. Always On: the HUD is always visible. Show On Collision: the HUD fades in after a collision at or above Min Collision Force, new damage, a deflated tire, or an engine fire. Then the HUD fades out after Visibility Duration. |
fadeSpeed |
fadeSpeed |
— | 3 |
min 0 | Sets how fast the HUD fades in and out, in alpha units per second. At 3, a full fade takes about 0.33 seconds. The fade uses unscaled time. |
fireIntensitySlider |
fireIntensitySlider |
— | — |
— | The Slider that shows the progress of an engine fire (0–1). At 1, the fire stops the engine. The code shows the Slider only while the engine is on fire. |
fireWarningBadge |
fireWarningBadge |
— | — |
— | The warning object for an engine fire. The code activates this object only while the engine is on fire. If the object has an Image, the code flashes the Image alpha. |
frontZoneGlow |
frontZoneGlow |
— | — |
— | The Image that shows the health of the front damage zone. The code colors the Image with Health Gradient. More damage makes the Image more opaque. An intact zone uses Normal Color. |
healthGradient |
healthGradient |
— | — |
— | Sets the glow color of a damaged zone. The left end of the gradient is for a destroyed zone, the right end for an intact zone. The code ignores the gradient alpha. If the gradient has fewer than two color keys, the code uses red, yellow, and cyan. |
holdWhileCritical |
holdWhileCritical |
— | true |
— | If on, the HUD stays visible while the vehicle is in a critical state. A critical state is an engine fire, engine heat at or above Critical Heat Threshold, or a deflated tire. If off, the HUD fades out after Visibility Duration. Used only in Show On Collision mode. |
leftZoneGlow |
leftZoneGlow |
— | — |
— | The Image that shows the health of the left damage zone. The code colors the Image with Health Gradient. More damage makes the Image more opaque. An intact zone uses Normal Color. |
minCollisionForce |
minCollisionForce |
— | 2.5 |
— | Sets the minimum impact speed of a collision (relative velocity, m/s) that shows the HUD. Only collisions of the player vehicle count. Used only in Show On Collision mode. Damage from a slower collision can also show the HUD. |
normalColor |
normalColor |
— | Color.white |
— | Sets the glow color of an intact zone (99% health or more). If the alpha of this color is 0, the code hides the glow of an intact zone. |
rearZoneGlow |
rearZoneGlow |
— | — |
— | The Image that shows the health of the rear damage zone. The code colors the Image with Health Gradient. More damage makes the Image more opaque. An intact zone uses Normal Color. |
rightZoneGlow |
rightZoneGlow |
— | — |
— | The Image that shows the health of the right damage zone. The code colors the Image with Health Gradient. More damage makes the Image more opaque. An intact zone uses Normal Color. |
tempGaugeFill |
tempGaugeFill |
— | — |
— | The fill Image of Temp Slider. The code changes the Image color from yellow to red as the engine heat increases. |
tempSlider |
tempSlider |
— | — |
— | The Slider that shows the engine heat (0–1) from RCCP_DamageMechanics. Set the Slider range to 0–1. The code hides the Slider if the vehicle has no enabled RCCP_DamageMechanics. |
visibilityDuration |
visibilityDuration |
— | 5 |
— | Sets how long, in seconds, the HUD stays visible after a trigger event. Trigger events are a collision at or above Min Collision Force, new damage, a new deflated tire, and a new engine fire. Used only in Show On Collision mode. The timer uses unscaled time. |
wheelFlatIcons |
wheelFlatIcons |
— | — |
— | The warning icons for deflated tires, one Image for each wheel. The code shows an icon only while the wheel is deflated, and flashes the icon red and yellow. The index follows the wheel order in the vehicle hierarchy, usually Front-Left (0), Front-Right (1), Rear-Left (2), Rear-Right (3). |
RCCP_Telemetry
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
ABS |
ABS |
— | — |
— | The Text that shows if ABS (anti-lock brakes) is engaged. If the vehicle has no RCCP_Stability component, the Text shows Not Equipped. |
ESP |
ESP |
— | — |
— | The Text that shows if ESP (stability control) is engaged. If the vehicle has no RCCP_Stability component, the Text shows Not Equipped. |
TCS |
TCS |
— | — |
— | The Text that shows if TCS (traction control) is engaged. If the vehicle has no RCCP_Stability component, the Text shows Not Equipped. |
brake_P |
brake_P |
— | — |
— | The Text that shows the brake input of the player (Brake Input P). |
brake_V |
brake_V |
— | — |
— | The Text that shows the final brake input of the vehicle (Brake Input V). |
clutch_P |
clutch_P |
— | — |
— | The Text that shows the clutch input of the player (Clutch Input P). |
clutch_V |
clutch_V |
— | — |
— | The Text that shows the final clutch input of the vehicle (Clutch Input V). |
controllable |
controllable |
— | — |
— | The Text that shows if the player can control the vehicle (IsControllableByPlayer()). |
engineRPM |
engineRPM |
— | — |
— | The Text that shows the current engine RPM. |
finalTorque |
finalTorque |
— | — |
— | The Text that shows the output torque of the differentials in Nm, after the final drive. The value is the average of the active differentials. |
gear |
gear |
— | — |
— | The Text that shows the current gear (a number, N or R). |
handbrake_P |
handbrake_P |
— | — |
— | The Text that shows the handbrake input of the player (Handbrake Input P). |
handbrake_V |
handbrake_V |
— | — |
— | The Text that shows the final handbrake input of the vehicle (Handbrake Input V). |
physicalSpeed |
physicalSpeed |
— | — |
— | The Text that shows the actual speed of the vehicle in km/h. The value is negative while the vehicle moves backward. |
steer_P |
steer_P |
— | — |
— | The Text that shows the steering input of the player (Steer Input P). |
steer_V |
steer_V |
— | — |
— | The Text that shows the final steering input of the vehicle (Steer Input V). |
throttle_P |
throttle_P |
— | — |
— | The Text that shows the throttle input of the player (Throttle Input P). |
throttle_V |
throttle_V |
— | — |
— | The Text that shows the final throttle input of the vehicle (Throttle Input V). This value is the throttle that reaches the driven axles. |
wheelInfos |
wheelInfos |
— | — |
— | The telemetry panels of the wheels, one panel for each wheel. The code fills four panels from the first four wheels of the player vehicle. Add at least four entries. |
wheelSpeed |
wheelSpeed |
— | — |
— | The Text that shows the average road speed of the driven wheels in km/h. The code calculates this speed from the wheel RPM. |
RCCP_Telemetry+WheelInfo
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
Angle_Wheel |
Angle_Wheel |
— | — |
— | The Text that shows the current steer angle of the wheel in degrees. |
Brake_Wheel |
Brake_Wheel |
— | — |
— | The Text that shows the brake torque of the wheel in Nm. |
Force_Wheel |
Force_Wheel |
— | — |
— | The Text that shows the suspension bump force of the wheel. The bump force is the change of the wheel contact force since the previous update. |
Forward_Wheel |
Forward_Wheel |
— | — |
— | The Text that shows the forward slip of the wheel. |
GroundHit_Wheel |
GroundHit_Wheel |
— | — |
— | The Text that shows the name of the ground collider below the wheel. If the wheel is not grounded, the Text shows no name. |
RPM_Wheel |
RPM_Wheel |
— | — |
— | The Text that shows the current RPM of the wheel. |
Sideways_Wheel |
Sideways_Wheel |
— | — |
— | The Text that shows the sideways slip of the wheel. |
Torque_Wheel |
Torque_Wheel |
— | — |
— | The Text that shows the motor torque of the wheel in Nm. |
wheelName |
wheelName |
— | — |
— | The Text that shows the GameObject name of the wheel collider. |
RCCP_Teleporter
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
spawnPoint |
spawnPoint |
— | — |
— | The Transform to which the code moves a vehicle when the vehicle enters the trigger. The code ignores trigger colliders. Assign a Transform. If this field is empty, the teleport causes an error. |
RCCP_TireDeformation
Compresses the tires and expands the lower sidewalls on the LOD0 wheel meshes of the vehicle. The effect is visual only.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
deformationShader |
deformationShader |
— | — |
— | The compute shader that deforms the tire meshes. The materials and their shaders do not change. |
maximumCompression |
maximumCompression |
— | .12 |
.01 – .15 | Limits the visual compression to this fraction of the wheel radius. |
nominalPressureBar |
nominalPressureBar |
bar | 2.2 |
min .4 | Sets the reference pressure, in bar, for tireStiffness. |
pressureBar |
pressureBar |
bar | 2.2 |
.4 – 4 | Sets the visual tire pressure, in bar. This value does not change the grip or the suspension. |
response |
response |
1/s | 15 |
min 1 | Sets how fast the visual compression follows the wheel load. |
sidewallBulge |
sidewallBulge |
— | 1 |
0 – 2 | Sets how much the lower sidewall expands relative to the tire compression. |
tireStiffness |
tireStiffness |
N/m | 200000 |
min 1 | Sets the visual tire stiffness at the reference pressure. This value is separate from the suspension spring. |
useGpu |
useGpu |
— | true |
— | If on, the component deforms the tires on the GPU with a compute shader. If off, the component uses the CPU. Change this setting before Play Mode. |
RCCP_TrailerController+JointRestrictions
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
angularMotionX |
angularMotionX |
— | ConfigurableJointMotion.Limited |
— | Stores the Angular X Motion of the trailer ConfigurableJoint. The code reads the joint at start and applies this value when the trailer attaches. If the trailer detaches, the code sets all motions to Free. |
angularMotionY |
angularMotionY |
— | ConfigurableJointMotion.Free |
— | Stores the Angular Y Motion of the trailer ConfigurableJoint. The code reads the joint at start and applies this value when the trailer attaches. If the trailer detaches, the code sets all motions to Free. |
angularMotionZ |
angularMotionZ |
— | ConfigurableJointMotion.Limited |
— | Stores the Angular Z Motion of the trailer ConfigurableJoint. The code reads the joint at start and applies this value when the trailer attaches. If the trailer detaches, the code sets all motions to Free. |
motionX |
motionX |
— | ConfigurableJointMotion.Free |
— | Stores the X Motion of the trailer ConfigurableJoint. The code reads the joint at start and applies this value when the trailer attaches. If the trailer detaches, the code sets all motions to Free. |
motionY |
motionY |
— | ConfigurableJointMotion.Free |
— | Stores the Y Motion of the trailer ConfigurableJoint. The code reads the joint at start and applies this value when the trailer attaches. If the trailer detaches, the code sets all motions to Free. |
motionZ |
motionZ |
— | ConfigurableJointMotion.Free |
— | Stores the Z Motion of the trailer ConfigurableJoint. The code reads the joint at start and applies this value when the trailer attaches. If the trailer detaches, the code sets all motions to Free. |
RCCP_TransportOnTrigger
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
resetRotation |
resetRotation |
— | true |
— | If on, the vehicle takes the rotation of the destination Transform. If off, the vehicle keeps its current rotation. |
resetVelocity |
resetVelocity |
— | true |
— | If on, the code sets the linear and angular velocity of the vehicle to 0 after the move. The code also sets the motor torque of the wheels to 0. If off, the vehicle keeps its velocity. |
transportToHere |
transportToHere |
— | — |
— | The Transform that marks the destination. If an RCCP vehicle enters this trigger, the code moves the vehicle to this position. A connected trailer moves with the vehicle. |
RCCP_UIController
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
gravity |
gravity |
— | 5 |
min 0 | Sets how fast the input decreases to 0 after the player releases the button, in units per second. A higher value decreases the input faster. At 5, the input goes from 1 to 0 in 0.2 seconds. |
input |
input |
— | 0 |
0 – 1 | Shows the current input value of this control (0–1). The value increases while the player holds the button and decreases after release. If the Button is not interactable, the value is 0. Read-only at runtime. |
isPressing |
isPressing |
— | false |
— | Shows if the player presses this button now. If the Button is not interactable, the code sets this value to off. Read-only at runtime. |
sensitivity |
sensitivity |
— | 5 |
min 0 | Sets how fast the input increases while the player holds the button, in units per second. A higher value increases the input faster. At 5, the input goes from 0 to 1 in 0.2 seconds. |
RCCP_UIGraphDriver
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
bindings |
bindings |
— | — |
— | The channels that the code sends to Target Graph. Each entry sends one value from the player vehicle to one series every frame. |
targetGraph |
targetGraph |
— | — |
— | The RCCP_UIGraph that shows the values. If this field is empty, the component does nothing. |
RCCP_UIGraphDriver+ChannelBinding
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
channel |
channel |
— | — |
— | Selects the value that the code reads from the player vehicle every frame. Speed is in km/h and is negative in reverse. The slip channels show the average of all wheels. The G-force channels use the Rigidbody acceleration. |
targetSeriesIndex |
targetSeriesIndex |
— | 0 |
min 0 | The index of the series in the Series list of Target Graph. The code sends the Channel value to this series every frame. If the index is out of range, the code ignores the value. |
RCCP_UIManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
ABS |
ABS |
— | — |
— | The Image of the ABS (anti-lock brakes). The code colors this Image white while ABS intervenes, and black at 20% alpha at other times. RCCP_UI_ModernDashboard uses Abs Indicator instead. |
ESP |
ESP |
— | — |
— | The Image of the ESP (stability control). The code colors this Image white while ESP intervenes, and black at 20% alpha at other times. RCCP_UI_ModernDashboard uses Esp Indicator instead. |
NOS |
NOS |
— | — |
— | The fill Image of the NOS amount. The code sets Fill Amount to the remaining NOS (0–1), or to 0 if the vehicle has no NOS. Set the Image Type to Filled. RCCP_UI_ModernDashboard uses Nos Fill instead. |
RPMText |
RPMText |
— | — |
— | The TextMeshPro text that shows the engine RPM as a whole number. RCCP_UI_ModernDashboard uses Digital Rpm Text instead. |
TCS |
TCS |
— | — |
— | The Image of the TCS (traction control). The code colors this Image white while TCS intervenes, and black at 20% alpha at other times. RCCP_UI_ModernDashboard uses Tcs Indicator instead. |
carController |
carController |
— | — |
— | Shows the player vehicle that the UI reads. The code sets this value every frame from RCCP_SceneManager. Read-only at runtime. |
customization |
customization |
— | — |
— | The vehicle customization panel. RCCP_CustomizationStation opens this panel when a vehicle with RCCP_Customizer enters the station. RCCP_UI_ModernDashboard opens and closes the panel with OpenCustomization() and CloseCustomization(). |
dashboard |
dashboard |
— | — |
— | The dashboard panel (speed, RPM, gear, and indicators). If Disable UI When No Player Vehicle (RCCP_SceneManager) is on, the panel is visible only while a player vehicle exists. RCCP_UI_ModernDashboard uses Hud Roots instead. |
dnrp |
dnrp |
— | — |
— | The automatic gear selector (D, N, R, P). The code shows this object only if the player vehicle has a gearbox with the Automatic DNRP transmission. RCCP_UI_ModernDashboard uses Dnrp Selector instead. |
editControlsButton |
editControlsButton |
— | — |
— | The Button that opens the layout editor for the mobile controls. The code makes this Button interactable only while Use mobile controller (RCCP_Settings) is on. |
gas |
gas |
— | — |
— | The fill Image of the fuel level. The code sets Fill Amount to the fuel in the tank (0–1), or to 0 if the vehicle has no fuel tank. Set the Image Type to Filled. RCCP_UI_ModernDashboard uses Fuel Fill instead. |
gearDown |
gearDown |
— | — |
— | The gear-down button for a manual gearbox. The code shows this object only if the player vehicle has a gearbox with the Manual transmission. RCCP_UI_ModernDashboard uses Gear Down Button instead. |
gearText |
gearText |
— | — |
— | The TextMeshPro text that shows the current gear: the gear number, N for neutral, or R for reverse. RCCP_UI_ModernDashboard writes D before the gear number (D1, D2). |
gearUp |
gearUp |
— | — |
— | The gear-up button for a manual gearbox. The code shows this object only if the player vehicle has a gearbox with the Manual transmission. RCCP_UI_ModernDashboard uses Gear Up Button instead. |
headlights |
headlights |
— | — |
— | The Image of the low beam headlights. The code colors this Image white while the low beams are on, and black at 20% alpha while the low beams are off. RCCP_UI_ModernDashboard uses Headlight Image instead. |
left |
left |
— | — |
— | The Image of the left turn signal. The code colors this Image white while the left signal is on, and black at 20% alpha while the signal is off. RCCP_UI_ModernDashboard uses Left Indicator Image instead. |
mobileControllers |
mobileControllers |
— | — |
— | The panel with the on-screen mobile controls. If Disable UI When No Player Vehicle (RCCP_SceneManager) and Use mobile controller (RCCP_Settings) are on, the panel is visible only while a player vehicle exists. RCCP_UI_ModernDashboard does not use this field. |
rebindInputs |
rebindInputs |
— | — |
— | The panel where the player rebinds the keyboard and gamepad inputs. RCCP_UIManager does not open or close this panel. |
rebindInputsButton |
rebindInputsButton |
— | — |
— | The Button that opens the input rebinding panel. The code makes this Button interactable only while Use mobile controller (RCCP_Settings) is off. |
recording |
recording |
— | — |
— | The GameObject that shows that the recorder records. The code activates this object while the RCCP_Recorder of the player vehicle is in Record mode. RCCP_UI_ModernDashboard uses Recording Indicator instead. |
replaying |
replaying |
— | — |
— | The GameObject that shows that the recorder plays a recording. The code activates this object while the RCCP_Recorder of the player vehicle is in Play mode. RCCP_UI_ModernDashboard uses Replaying Indicator instead. |
resetControlsButton |
resetControlsButton |
— | — |
— | The Button that restores the default layout of the mobile controls. The code makes this Button interactable only while Use mobile controller (RCCP_Settings) is on. |
right |
right |
— | — |
— | The Image of the right turn signal. The code colors this Image white while the right signal is on, and black at 20% alpha while the signal is off. RCCP_UI_ModernDashboard uses Right Indicator Image instead. |
settings |
settings |
— | — |
— | The settings panel. The Options input opens and closes this panel. If the Options input closes this panel, RCCP_UIManager also closes the Customization panel. |
spawnButton |
spawnButton |
— | — |
— | The local spawn button. Hidden in Photon scenes or when RCCP_DemoVehicles has no entries. |
spawnButtonPhoton |
spawnButtonPhoton |
— | — |
— | The Photon spawn button. At Awake, the code shows this button only if the scene has an RCCP_PhotonDemo. Without the Photon integration, the code always hides this button. |
spawnPrototypeVehicles |
spawnPrototypeVehicles |
— | — |
— | The local spawn dropdown for a single vehicle. At Awake, its option comes from RCCP_DemoVehicles. Hidden in Photon scenes. |
spawnPrototypeVehiclesPhoton |
spawnPrototypeVehiclesPhoton |
— | — |
— | The Photon spawn panel with only the prototype vehicle. At Awake, the code shows this panel only if Demo Content is not installed and the scene has an RCCP_PhotonDemo. Without the Photon integration, the code always hides this panel. |
spawnVehicles |
spawnVehicles |
— | — |
— | The local spawn dropdown for multiple vehicles. At Awake, its options come from RCCP_DemoVehicles in array order. Hidden in Photon scenes. |
spawnVehiclesPhoton |
spawnVehiclesPhoton |
— | — |
— | The Photon spawn panel that lists the demo vehicles. At Awake, the code shows this panel only if Demo Content is installed and the scene has an RCCP_PhotonDemo. Without the Photon integration, the code always hides this panel. |
speedText |
speedText |
— | — |
— | The TextMeshPro text that shows the vehicle speed as a whole number. The unit is mph if Show speed in mph (RCCP_Settings) is on, and km/h if the setting is off. |
speedUnitText |
speedUnitText |
— | — |
— | The TextMeshPro text that shows the speed unit. The code writes MPH if Show speed in mph (RCCP_Settings) is on. Otherwise, the code writes KMH (KM/H in RCCP_UI_ModernDashboard). |
speedometer |
speedometer |
— | — |
— | The analog RPM gauge of RCCP_UIManager. The code turns the needle by the engine RPM, not by the vehicle speed. RCCP_UI_ModernDashboard uses Needle Pivot instead. |
RCCP_UIManager+SpeedOMeter
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
multiplierRotation |
multiplierRotation |
— | -0.0245 |
— | Sets the needle angle in degrees for each 1 RPM. The code multiplies the engine RPM by this value and adds the result to the start angle. With -0.0245, the needle turns about 196 degrees at 8000 RPM. |
needle |
needle |
— | — |
— | The needle GameObject of the analog gauge. On the first update, the code stores the start angle of the needle. Then the code turns the needle by the engine RPM multiplied by Multiplier Rotation. |
turnAxis |
turnAxis |
— | TurnAxis.Z |
— | Selects the local axis around which the code turns the needle. For a UI needle, Z turns the needle in the plane of the Canvas. |
RCCP_UISliderTextReader
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
slider |
slider |
— | — |
— | The Slider whose value the Text shows. If this field is empty, the code uses the first Slider on this GameObject or on a parent. |
text |
text |
— | — |
— | The legacy UI Text that shows the Slider value with one decimal place. If this field is empty, the code uses the first Text on this GameObject or on a child. |
RCCP_UI_ButtonTextHighlighter
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
defaultTextColor |
defaultTextColor |
— | Color.white |
— | Shows the text color while the pointer is not over the button. At Awake, the code replaces this value with the current color of the TextMeshProUGUI. The Inspector value has no effect at runtime. |
speed |
speed |
— | 10 |
min 0 | Sets how fast the text color changes between the two colors. A higher value changes the color faster. The change uses unscaled time. |
targetTextColor |
targetTextColor |
— | Color.black |
— | Sets the text color while the pointer is over the button. The code uses the first TextMeshProUGUI on this GameObject or on a child. |
RCCP_UI_ButtonTransition
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
autoRescan |
autoRescan |
— | true |
— | If on, the code scans the Canvas again every Rescan Interval seconds, so selectables created at runtime also get the feedback. If off, the code scans only at Awake. |
deselectOnPointerClick |
deselectOnPointerClick |
— | true |
— | If on, the code clears the EventSystem selection after a left click on a Button or Toggle. The clicked button then does not keep the selected color. If off, the clicked button stays selected. |
dimLabelsWhenDisabled |
dimLabelsWhenDisabled |
— | true |
— | If on, the code fades the labels of a selectable that is not interactable, to match the faded target graphic. If off, the labels keep their alpha. Works only if Tint Labels is on. |
disabledLabelAlpha |
disabledLabelAlpha |
— | .45 |
.1 – 1 | Sets the alpha multiplier of a label while the selectable is not interactable. A lower value makes the label more transparent. Used only if Dim Labels When Disabled is on. |
duration |
duration |
— | .08 |
.02 – .4 | Sets about how long, in seconds, the scale and the label color take to reach a new state. The code uses unscaled time, so the effect also works while the game is paused. |
hoverLabelBlend |
hoverLabelBlend |
— | .5 |
0 – 1 | Sets how far the label color moves toward Hover Label Color. 0 = original color, 1 = accent color. Used only in Blend To Color mode. |
hoverLabelBrightness |
hoverLabelBrightness |
— | 1.3 |
.5 – 2.5 | Sets the brightness multiplier of a label while the pointer is over the selectable or while the selectable is selected. A value above 1 makes the label brighter. Used only in Brightness mode. |
hoverLabelColor |
hoverLabelColor |
— | Color.white |
— | Sets the accent color for a label while the pointer is over the selectable or while the selectable is selected. Used only in Blend To Color mode. |
hoverScale |
hoverScale |
— | 1.02 |
1 – 1.15 | Sets the scale multiplier of a selectable while the pointer is over the selectable or while the selectable is selected. A value of 1 keeps the original size. |
includeButtons |
includeButtons |
— | true |
— | If on, the code adds the hover and press feedback to Buttons under this Canvas. If off, the code skips Buttons. A selectable with Transition set to None never gets feedback. |
includeOtherSelectables |
includeOtherSelectables |
— | false |
— | If on, the code also adds the feedback to Sliders, Scrollbars, Dropdowns, and other selectables. If off, the code skips these selectables. Scaling these widgets usually looks wrong, so the default is off. |
includeToggles |
includeToggles |
— | true |
— | If on, the code adds the hover and press feedback to Toggles under this Canvas. If off, the code skips Toggles. A selectable with Transition set to None never gets feedback. |
labelTintMode |
labelTintMode |
— | LabelTintMode.Brightness |
— | Selects how the code tints a label. Brightness multiplies the label color and keeps the hue. Blend To Color moves the label color toward an accent color. |
pressLabelBlend |
pressLabelBlend |
— | .6 |
0 – 1 | Sets how far the label color moves toward Press Label Color. 0 = original color, 1 = accent color. Used only in Blend To Color mode. |
pressLabelBrightness |
pressLabelBrightness |
— | .75 |
.3 – 2.5 | Sets the brightness multiplier of a label while the selectable is pressed. A value below 1 makes the label darker. Used only in Brightness mode. |
pressLabelColor |
pressLabelColor |
— | — |
— | Sets the accent color for a label while the selectable is pressed. Used only in Blend To Color mode. |
pressScale |
pressScale |
— | .97 |
.85 – 1 | Sets the scale multiplier of a selectable while the player holds the selectable down. A value of 1 keeps the original size. |
rescanInterval |
rescanInterval |
— | 2 |
.25 – 10 | Sets the time in seconds between two scans of the Canvas. Used only if Auto Rescan is on. The timer uses unscaled time. |
tintLabels |
tintLabels |
— | true |
— | If on, the code tints the labels (TextMeshPro or legacy Text) of each selectable on hover, press, and selection. If off, the labels keep their color. The code skips selectables without a label. |
RCCP_UI_Color
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
_pickedColor |
_pickedColor |
— | PickedColor.Orange |
— | Selects the preset paint color of this button. OnClick() paints the player vehicle with this color. The vehicle must have a paint manager. |
RCCP_UI_CustomizationSlider
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
customizationClass |
customizationClass |
— | CustomizationClass.Cambers_Front |
— | Selects the value that this Slider changes on the player vehicle: front or rear camber, spring force, suspension distance, damper, or ride height (Suspension Targets). OnSlider() applies the Slider value. Each time this component is enabled, the Slider reads the current value from the vehicle. |
sliderValue |
sliderValue |
— | — |
— | The legacy UI Text that shows the Slider value, rounded to a whole number. The code updates the Text when this component is enabled and when OnSlider() runs. |
RCCP_UI_Customizer
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
customization |
customization |
— | — |
— | The panel with the suspension, camber, and handling sliders. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
customizationButton |
customizationButton |
— | — |
— | The Button that opens the Customization panel (suspension and handling). The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has a customization manager. |
decals |
decals |
— | — |
— | The panel with the decal and decal location options. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
decalsButton |
decalsButton |
— | — |
— | The Button that opens the Decals panel. The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has a decal manager. |
neons |
neons |
— | — |
— | The panel with the neon underglow options. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
neonsButton |
neonsButton |
— | — |
— | The Button that opens the Neons panel. The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has a neon manager. |
paints |
paints |
— | — |
— | The panel with the paint color options. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
paintsButton |
paintsButton |
— | — |
— | The Button that opens the Paints panel. The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has a paint manager. |
sirens |
sirens |
— | — |
— | The panel with the siren and police light options. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
sirensButton |
sirensButton |
— | — |
— | The Button that opens the Sirens panel. The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has a siren manager. |
spoilers |
spoilers |
— | — |
— | The panel with the spoiler options. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
spoilersButton |
spoilersButton |
— | — |
— | The Button that opens the Spoilers panel. The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has a spoiler manager. |
upgrades |
upgrades |
— | — |
— | The panel with the engine, brake, handling, and speed upgrades. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
upgradesButton |
upgradesButton |
— | — |
— | The Button that opens the Upgrades panel. The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has an upgrade manager. |
wheels |
wheels |
— | — |
— | The panel with the wheel options. OpenCustomizationPanel() closes all the customization panels, then opens the selected panel. |
wheelsButton |
wheelsButton |
— | — |
— | The Button that opens the Wheels panel. The code makes this Button interactable only if the RCCP_Customizer of the player vehicle has a wheel manager. |
RCCP_UI_DashboardButton
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
buttonType |
buttonType |
— | ButtonType.ChangeCamera |
— | Selects the action that this button performs when you click it. Trail Attach Detach only detaches the trailer. Low, Med, High, and Turn Helper do nothing. If the Button on this GameObject is not interactable, a click does nothing. |
imageOn |
imageOn |
— | — |
— | Optional. The GameObject that shows that the feature of this button is on (for example ABS, headlights, or an attached trailer). The code updates the object on enable, after a click, and when the player vehicle changes. |
RCCP_UI_DashboardSlider
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
buttonType |
buttonType |
— | ButtonType.AutomaticGear_D |
— | Not used. The code that selected this gear on enable is commented out. The value of the Slider selects the gear. |
slider |
slider |
— | — |
— | The Slider that selects the automatic gear. Value 0 selects D, 1 selects N, 2 selects R, and 3 selects P. If this field is empty, the code uses the Slider on this GameObject. |
RCCP_UI_Decal
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
location |
location |
— | 0 |
min 0 | Sets the side of the vehicle for the decal. Value 0 is the front, 1 the back, 2 the left side, and 3 the right side. Other values do nothing. RCCP_UI_DecalSetLocation can change this value at runtime. |
material |
material |
— | — |
— | The material with the decal texture. Upgrade() applies this material at Location on the player vehicle. The vehicle must have a decal manager. |
RCCP_UI_DecalSetLocation
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
location |
location |
— | 0 |
min 0 | Sets the decal side that Upgrade() sends to every RCCP_UI_Decal button in the scene. Value 0 is the front, 1 the back, 2 the left side, and 3 the right side. |
RCCP_UI_Informer
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
cGroup |
cGroup |
— | — |
— | The CanvasGroup of the message panel. The code activates the CanvasGroup GameObject to show a message, then deactivates the GameObject after Timer seconds. Do not put the CanvasGroup on this GameObject. If this field is empty, the code logs an error every frame. |
informerText |
informerText |
— | — |
— | The TextMeshPro text that shows the message. Display() and the RCCP_Events.OnRCCPUIInformer event write the message here. If the text has an Animator, the code plays the Animator again for each new message. |
timer |
timer |
— | 3 |
min 0 | Sets how long, in seconds, a message stays visible. Each new message starts the timer again. The timer uses unscaled time, so messages also hide while the game is paused. |
RCCP_UI_Joystick
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
backgroundSprite |
backgroundSprite |
— | — |
— | The RectTransform of the joystick background circle. The code measures each drag in this rect. The input is full at the edge of the circle (half the rect width from the center). |
handleSprite |
handleSprite |
— | — |
— | The RectTransform of the joystick handle. The handle follows the drag and stays inside the background circle. The code moves the handle back to the center on release and when the joystick is enabled or disabled. |
RCCP_UI_MobileLayoutManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
controlsContainer |
controlsContainer |
— | — |
— | The parent RectTransform of the mobile controls. Each direct child with RCCP_UIController, RCCP_UI_Joystick or RCCP_UI_SteeringWheelController is a movable control. If empty, the code uses the mobile canvas of RCCP_MobileInputs. Give each control a unique name, because the code saves the layout by name. |
edgePadding |
edgePadding |
— | 12 |
min 0 | Sets the minimum gap between a control and the edge of Controls Container, in canvas units. The code applies this gap while the player drags a control and when a saved layout loads. |
editorOverlay |
editorOverlay |
— | — |
— | The overlay that shows while the layout editor is open (hint text, restore and done buttons). The code hides this overlay at start and when the editor closes. |
hideWhileEditing |
hideWhileEditing |
— | — |
— | Objects that the code hides while the layout editor is open, so the player cannot tap the buttons on these objects by accident. When the editor closes, each object gets back its previous active state. |
RCCP_UI_MobileLayoutManager+ControlEntry
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
factory |
factory |
— | — |
— | — |
id |
id |
— | — |
— | — |
rect |
rect |
— | — |
— | — |
RCCP_UI_MobileLayoutManager+Placement
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
anchorMax |
anchorMax |
— | — |
— | — |
anchorMin |
anchorMin |
— | — |
— | — |
anchoredPosition |
anchoredPosition |
— | — |
— | — |
pivot |
pivot |
— | — |
— | — |
sizeDelta |
sizeDelta |
— | — |
— | — |
RCCP_UI_MobileSafeArea
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
applyHorizontal |
applyHorizontal |
— | true |
— | If on, the code fits the left and right edges of the rect to the safe area of the device. If off, the rect keeps the full screen width, and Extra Padding does not apply to the left and right edges. |
applyVertical |
applyVertical |
— | true |
— | If on, the code fits the top and bottom edges of the rect to the safe area of the device. If off, the rect keeps the full screen height, and Extra Padding does not apply to the top and bottom edges. |
extraPadding |
extraPadding |
— | 0 |
min 0 | Adds more inset on every edge, in screen pixels, on top of the safe area of the device. The code limits the padding so that the rect cannot become inverted. |
RCCP_UI_ModernDashboard
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
absIndicator |
absIndicator |
— | — |
— | The Graphics (for example, a dot and a label) that show ABS (anti-lock brakes) activity. While ABS is active, the Graphics blink in Indicator Active Color. Otherwise, the Graphics use Indicator Idle Color. |
analogNeedlePivot |
analogNeedlePivot |
— | — |
— | The RectTransform that the code turns to point the needle of the analog gauge at the current RPM. The code places the scale labels of the analog gauge on a circle around this pivot. |
analogTicks |
analogTicks |
— | — |
— | The scale labels of the analog gauge, in order from the start of the arc to the end. If empty, the code uses the direct children Tick_0, Tick_1 and so on of Gauge Style Roots element 1. The code clones or hides labels to match the RPM scale. |
autoMaxRPM |
autoMaxRPM |
— | true |
— | If on, the gauge scale comes from the engine Max RPM of the active player vehicle. If off, the gauge uses the Max RPM field of this component. In both cases, the code rounds the scale up to a round scale step and rebuilds the scale labels to match. |
damageFill |
damageFill |
— | — |
— | The horizontal filled Image that shows the overall damage of the player vehicle. 0 = no damage, 1 = all four damage zones fully damaged. If the vehicle has no enabled RCCP_Damage, the fill is 0. |
damagePercentText |
damagePercentText |
— | — |
— | Damage percentage text. An absent or disabled damage component displays an em dash. |
digitalRpmFill |
digitalRpmFill |
— | — |
— | The horizontal filled Image of the digital gauge style. The fill amount is the engine RPM divided by the RPM at the end of the gauge scale. |
digitalRpmText |
digitalRpmText |
— | — |
— | The TextMeshPro text of the digital gauge style that shows the engine RPM as a whole number. |
dnrpSelector |
dnrpSelector |
— | — |
— | The automatic gear selector (D, N, R, P). The code shows this selector only if the gearbox of the player vehicle uses the Automatic DNRP transmission type. |
espIndicator |
espIndicator |
— | — |
— | The Graphics (for example, a dot and a label) that show ESP (stability control) activity. While ESP is active, the Graphics blink in Indicator Active Color. Otherwise, the Graphics use Indicator Idle Color. |
fuelFill |
fuelFill |
— | — |
— | The horizontal filled Image that shows how full the fuel tank of the player vehicle is. If the vehicle has no fuel tank, the fill is 0. |
fuelPercentText |
fuelPercentText |
— | — |
— | Fuel percentage text. An absent or disabled fuel tank displays an em dash instead of zero. |
gaugeStyle |
gaugeStyle |
— | GaugeStyle.Radial |
— | Sets the gauge style at start (Radial, Analog, Digital, Minimal or Telemetry). If PlayerPrefs has a saved style, the saved style replaces this value when the component is enabled. SetGaugeStyle() saves the style. |
gaugeStyleDropdown |
gaugeStyleDropdown |
— | — |
— | Optional. The settings dropdown that selects the gauge style. The code sets its value to the active style without an event. Connect its On Value Changed event to SetGaugeStyle(). |
gaugeStyleRoots |
gaugeStyleRoots |
— | — |
— | The root GameObjects of the gauge styles, in GaugeStyle order (0 Radial, 1 Analog, 2 Digital, 3 Minimal). The code activates the root of the selected style and deactivates the others. The code searches elements 0 and 1 for the scale labels. |
gearDownButton |
gearDownButton |
— | — |
— | The button that shifts down one gear. The code shows this button only if the gearbox of the player vehicle uses the Manual transmission type. During a Replay Director replay, the code does not change this button. |
gearUpButton |
gearUpButton |
— | — |
— | The button that shifts up one gear. The code shows this button only if the gearbox of the player vehicle uses the Manual transmission type. During a Replay Director replay, the code does not change this button. |
headlightImage |
headlightImage |
— | — |
— | The Image of the low beam headlight icon. While the low beam headlights of the player vehicle are on, the icon uses Icon On Color. Otherwise, the icon uses Icon Off Color. |
hudRoots |
hudRoots |
— | — |
— | HUD readouts that the code hides while there is no usable player vehicle (no vehicle, or a vehicle that the player cannot control). The code hides the readouts only if Disable UI When No Player Vehicle is on in RCCP_SceneManager. Never add a panel root (for example, SettingsPanel), because the settings panels must stay usable with no vehicle. |
iconOffColor |
iconOffColor |
— | — |
— | The color of the turn signal and headlight icons while the related light is off. |
iconOnColor |
iconOnColor |
— | Color.white |
— | The color of the turn signal and headlight icons while the related light is on. |
indicatorActiveColor |
indicatorActiveColor |
— | — |
— | The color of an ABS, ESP or TCS indicator while the related system is active. The indicator blinks between this color and a mix of this color with Indicator Idle Color. |
indicatorBlinkSpeed |
indicatorBlinkSpeed |
— | 6 |
min 0 | Sets how fast an active indicator blinks. A higher value makes the blink faster. At 0, the indicator does not blink. The blink uses unscaled time, so the blink continues in slow motion and in pause. |
indicatorIdleColor |
indicatorIdleColor |
— | — |
— | The color of an ABS, ESP or TCS indicator while the related system is not active. |
leftIndicatorImage |
leftIndicatorImage |
— | — |
— | The Image of the left turn signal icon. While the left turn signal of the player vehicle is on, the icon uses Icon On Color. Otherwise, the icon uses Icon Off Color. The hazard lights do not change this icon. |
legacyClusterRoot |
legacyClusterRoot |
— | — |
— | The original ClusterPanel. Hidden only while the compact Telemetry gauge is selected. |
legacyUtilityPanel |
legacyUtilityPanel |
— | — |
— | The utility panel below which vehicle status appears when an older gauge style is selected. |
maxRPM |
maxRPM |
— | 8000 |
min 1 | Sets the RPM at the end of the arc when Auto Max RPM is off. The code also uses this value if the Max RPM of the vehicle is 1 or lower. The code rounds the value up to a round scale step (for example, 7500 becomes 8000). |
needlePivot |
needlePivot |
— | — |
— | The RectTransform that the code turns to keep the needle mark at the tip of the RPM arc. The code places the scale labels of the radial gauge on a circle around this pivot. |
nosFill |
nosFill |
— | — |
— | The horizontal filled Image that shows the remaining NOS of the player vehicle. If the vehicle has no NOS component, the fill is 0. |
radialTicks |
radialTicks |
— | — |
— | The scale labels of the radial gauge, in order from the start of the arc to the end. If empty, the code uses the direct children Tick_0, Tick_1 and so on of Gauge Style Roots element 0. The code clones or hides labels to match the RPM scale. |
recordingIndicator |
recordingIndicator |
— | — |
— | The object that the code shows while the RCCP_Recorder of the player vehicle records. The code hides this object while a Replay Director replay plays. |
replayingIndicator |
replayingIndicator |
— | — |
— | The object that the code shows while the RCCP_Recorder of the player vehicle replays a recording. During a Replay Director replay, the code shows this object only if the Replay Panel overlay is not shown. |
rightIndicatorImage |
rightIndicatorImage |
— | — |
— | The Image of the right turn signal icon. While the right turn signal of the player vehicle is on, the icon uses Icon On Color. Otherwise, the icon uses Icon Off Color. The hazard lights do not change this icon. |
rpmFill |
rpmFill |
— | — |
— | The filled Image of the RPM arc. Set Fill Method to Radial 360, Fill Origin to Bottom, and enable Clockwise. The code sets the fill amount from the engine RPM every frame. |
tcsIndicator |
tcsIndicator |
— | — |
— | The Graphics (for example, a dot and a label) that show TCS (traction control) activity. While TCS is active, the Graphics blink in Indicator Active Color. Otherwise, the Graphics use Indicator Idle Color. |
telemetryAbsIndicator |
telemetryAbsIndicator |
— | — |
— | ABS graphics in order: label, filled dot, ring. These graphics show if ABS is off, ready or active. |
telemetryEspIndicator |
telemetryEspIndicator |
— | — |
— | ESP graphics in order: label, filled dot, ring. Uses the dashboard-facing intervention signal. |
telemetryGearText |
telemetryGearText |
— | — |
— | The compact gauge gear text: D1, D2, N or R, matching the original readout. |
telemetryRoot |
telemetryRoot |
— | — |
— | The compact Telemetry gauge. If empty, selecting Telemetry falls back to an available older style. |
telemetryRpmFill |
telemetryRpmFill |
— | — |
— | A horizontal filled Image. Its full width represents the same resolved RPM limit as the original gauges. |
telemetrySpeedText |
telemetrySpeedText |
— | — |
— | The compact gauge speed text. Uses the same speed and unit setting as the original gauge. |
telemetrySpeedUnitText |
telemetrySpeedUnitText |
— | — |
— | The compact gauge speed unit: KM/H or MPH. |
telemetryTcsIndicator |
telemetryTcsIndicator |
— | — |
— | TCS graphics in order: label, filled dot, ring. |
telemetryTicks |
telemetryTicks |
— | — |
— | Horizontal RPM labels. The code reuses or clones these when the vehicle RPM scale changes. |
vehicleStatusPanel |
vehicleStatusPanel |
— | — |
— | The separate vehicle status panel. This panel follows the compact HUD or the legacy utility panel. |
RCCP_UI_Neon
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
material |
material |
— | — |
— | The material that this button applies to the neon underglow of the player vehicle. The vehicle must have an RCCP_Customizer with a neon manager. Use a material from the Neons list of the neon manager, because the loadout saves the list index. |
RCCP_UI_OverrideVehicleExample
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
brake |
brake |
— | — |
— | The Slider that sets the brake override. The code copies the slider value to the brake input every frame. Set the slider range to 0–1. This field must not be empty. |
handbrake |
handbrake |
— | — |
— | The Slider that sets the handbrake override. The code copies the slider value to the handbrake input every frame. Set the slider range to 0–1. This field must not be empty. |
newInputs |
newInputs |
— | — |
— | The input values that the code sends to Target Vehicle while the override is active. The code copies the five slider values into these inputs every frame, so changes in the Inspector do not stay. |
nos |
nos |
— | — |
— | The Slider that sets the NOS override. The code copies the slider value to the NOS input every frame. Set the slider range to 0–1. This field must not be empty. |
statusText |
statusText |
— | — |
— | The legacy UI Text that shows whether the input override of Target Vehicle is on. This field must not be empty, because the code writes the text every frame without a null check. |
steering |
steering |
— | — |
— | The Slider that sets the steering override. The code copies the slider value to the steer input every frame. Set the slider range from -1 (left) to 1 (right). This field must not be empty. |
takePlayerVehicle |
takePlayerVehicle |
— | true |
— | If on, the code sets Target Vehicle to the active player vehicle every frame. If off, assign Target Vehicle. |
targetVehicle |
targetVehicle |
— | — |
— | The vehicle that receives the slider inputs after EnableOverride(). If Take Player Vehicle is on, the code replaces this value with the active player vehicle every frame. |
throttle |
throttle |
— | — |
— | The Slider that sets the throttle override. The code copies the slider value to the throttle input every frame. Set the slider range to 0–1. This field must not be empty. |
RCCP_UI_PageFader
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
duration |
duration |
— | 0.2 |
0.05 – 1 | Sets the duration of the fade, in seconds. The page fades in when the GameObject is enabled. FadeOutAndDisable() fades the page out with the same duration. The fades use unscaled time. |
RCCP_UI_PhotoMode
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
fovLabel |
fovLabel |
— | — |
— | Optional. The TextMeshPro label that shows the current FOV of the photo camera as a whole number. |
fovSlider |
fovSlider |
— | — |
— | Optional. The Slider that sets the field of view (FOV) of the photo camera. When photo mode starts, the code sets the slider range to the FOV limits of photo mode. Connect its On Value Changed event to OnFOVChanged(). |
hideWhileCapturing |
hideWhileCapturing |
— | — |
— | Optional. The UI root that the code hides while the code captures a screenshot (for example, the photo mode overlay). The code shows the root again about 0.25 s after the capture. |
hideWhilePhotoMode |
hideWhilePhotoMode |
— | — |
— | Gameplay HUD and settings roots that the code hides while photo mode is active. When photo mode stops, each root gets back its previous active state. |
leftJoystick |
leftJoystick |
— | — |
— | The left on-screen joystick of photo mode. In the Orbit mode, this joystick turns the camera around the vehicle. In the Free Cam mode, this joystick moves the camera. |
mobileJoysticksRoot |
mobileJoysticksRoot |
— | — |
— | The root of the on-screen photo mode joysticks. The code shows this root only in photo mode, and only if Use mobile controller is on in RCCP Settings. |
modeLabel |
modeLabel |
— | — |
— | Optional. The TextMeshPro label that shows the name of the active photo camera mode (Orbit, Free Cam or Auto-Orbit). |
photoModeOverlay |
photoModeOverlay |
— | — |
— | The overlay that the code shows only while photo mode is active (capture, camera mode, exit and FOV controls). |
rightJoystick |
rightJoystick |
— | — |
— | The right on-screen joystick of photo mode. In the Orbit mode, the vertical axis of this joystick zooms the camera. In the Free Cam mode, this joystick turns the view of the camera. |
RCCP_UI_RebindInput
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
m_Action |
m_Action |
— | — |
— | The Input System action that this UI rebinds. The code shows the name of this action in Action Label. |
m_ActionLabel |
m_ActionLabel |
— | — |
— | — |
m_BindingId |
m_BindingId |
— | — |
— | The ID (GUID) of the binding on Action that this UI rebinds. If empty, the rebind and the reset do nothing. If Action has no binding with this ID, the code logs an error. |
m_BindingText |
m_BindingText |
— | — |
— | The TextMeshPro label that shows the current binding of Action as formatted text. The code updates this label when the bindings change. If empty, use Update Binding UI Event to show the binding. |
m_DisplayStringOptions |
m_DisplayStringOptions |
— | — |
— | Sets the Input System format options of the binding text (for example, Dont Use Short Display Names or Dont Omit Device). |
m_RebindOverlay |
m_RebindOverlay |
— | — |
— | Optional. The UI object that the code shows while a rebind is in progress. The code hides this object at the end of the rebind (complete or canceled). |
m_RebindStartEvent |
m_RebindStartEvent |
— | — |
— | — |
m_RebindStopEvent |
m_RebindStopEvent |
— | — |
— | The event that the code calls when an interactive rebind ends (complete or canceled). |
m_RebindText |
m_RebindText |
— | — |
— | Optional. The TextMeshPro label that shows a prompt while the code waits for the player to press a control (for example, Waiting for input...). |
m_UpdateBindingUIEvent |
m_UpdateBindingUIEvent |
— | — |
— | — |
RCCP_UI_RebindInputReset
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
rebindInputs |
rebindInputs |
— | — |
— | The rebind UI elements that this button resets. OnClick() removes the binding overrides of each element, so each binding goes back to its default. |
RCCP_UI_ReplayDemoHint
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
crashPrompt |
crashPrompt |
— | "Crashed? Press P, rewind, then Enter to drive on from before it." |
— | The message that Status Text shows after a hard impact on the player vehicle while the player drives. Crash Prompt Impulse sets the impact limit. |
crashPromptImpulse |
crashPromptImpulse |
— | 8000 |
min 0 | Sets the minimum collision impulse (N·s) on the player vehicle that makes Status Text show Crash Prompt. A barrier hit at 100 km/h is about 40000. A push from another vehicle is about 1000–3000. Set to 0 to disable the prompt. The prompt shows only if the Replay Director allows a resume. |
hintRoot |
hintRoot |
— | — |
— | The hint object that the code shows while the player drives. The code hides the object while a replay plays. |
statusSeconds |
statusSeconds |
— | 4 |
min 0 | Sets the time (unscaled seconds) that a status message stays in Status Text. |
statusText |
statusText |
— | — |
— | Optional TextMeshPro label for status messages. If the Replay Director refuses to start a replay, the label shows the start message of the director. The label also shows Crash Prompt. |
RCCP_UI_ReplayPanel
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
canvasGroup |
canvasGroup |
— | — |
— | The CanvasGroup on the overlay root. The code fades the overlay out when there is no input for Auto Hide (s) of the Replay Director. Input fades the overlay back in. |
desktop |
desktop |
— | — |
— | The controls of the desktop layout. The code uses these controls while the desktop layout is active. |
desktopRoot |
desktopRoot |
— | — |
— | The root of the desktop layout (the broadcast bar). The code shows this root while the mobile layout is not in use. |
dragSurface |
dragSurface |
— | — |
— | A full-screen transparent Graphic behind the bars. In the Orbit shot, a drag turns the camera, and the mouse wheel or a two-finger pinch zooms. In the Free shot, a drag turns the view. In other shots, the code sends the drag to RCCP_Camera. |
hideWhileReplaying |
hideWhileReplaying |
— | — |
— | Driving HUD roots that the code hides while a replay plays (for example, cluster, telemetry, mobile controls, gear selectors, damage widget, recorder indicator). When the replay stops, each root gets back the active state it had at the start. |
mobile |
mobile |
— | — |
— | The controls of the mobile layout (larger buttons, two rows, merged impact markers, shots in a popup). The code uses these controls while the mobile layout is active. |
mobileRoot |
mobileRoot |
— | — |
— | The root of the mobile layout. The code uses this layout while Use mobile controller is on in the runtime RCCP Settings. If empty, the code always uses the desktop layout. In the shipped canvas, this root has an RCCP_UI_MobileSafeArea. |
panelRoot |
panelRoot |
— | — |
— | The overlay root. Keep this object inactive in the canvas. The code shows the overlay while a replay plays. An RCCP_UI_PageFader on this object fades the overlay in and out. |
revealBlocker |
revealBlocker |
— | — |
— | A full-screen transparent Graphic on top of the overlay. The code activates this Graphic only while the mobile overlay is hidden. The first tap hits this Graphic and only shows the overlay again. |
selectedShotColor |
selectedShotColor |
— | — |
— | The background color of the shot button for the selected shot. The other shot buttons keep their original colors. |
selectedShotLabelColor |
selectedShotLabelColor |
— | — |
— | The label color of the shot button for the selected shot. The other shot buttons keep their original label colors. |
settingsReplayButton |
settingsReplayButton |
— | — |
— | The Replay button of the settings panel. The code shows this button only while the scene has an RCCP_ReplayDirector. Connect its On Click event to CloseSettings() of the dashboard, then to RCCP_UI_ReplayPanel.StartReplayFromSettings(). If the replay cannot start, the UI informer shows the reason. |
settingsSlowMoDropdown |
settingsSlowMoDropdown |
— | — |
— | Optional. The settings dropdown for the crash slow motion of the Replay Director (Off, 0.25x, 0.5x, 0.75x). The code shows this dropdown only while the scene has an RCCP_ReplayDirector. Connect its On Value Changed event to RCCP_UI_ReplayPanel.SetCrashSlowMoFromSettings(). |
RCCP_UI_ReplayPanel+Controls
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
cutMarkerTemplate |
cutMarkerTemplate |
— | — |
— | An inactive template that the code clones once for each recording cut in the replay. Use the same parent as Impact Marker Template. |
exitButton |
exitButton |
— | — |
— | The Button that stops the replay. Connect its On Click event to RCCP_UI_ReplayPanel.ExitReplay(). |
focusLabel |
focusLabel |
— | — |
— | The TextMeshPro label that shows the name of the focused vehicle. The code shortens a name that is too long for the label. |
focusNextButton |
focusNextButton |
— | — |
— | The Button that moves the camera focus to the next recorded vehicle. Connect its On Click event to RCCP_UI_ReplayPanel.FocusNext(). |
focusPrevButton |
focusPrevButton |
— | — |
— | The Button that moves the camera focus to the previous recorded vehicle. Connect its On Click event to RCCP_UI_ReplayPanel.FocusPrevious(). |
impactMarkerTemplate |
impactMarkerTemplate |
— | — |
— | An inactive Button that the code clones once for each impact in the replay. The parent of this template must cover the handle track of the timeline. If you click a marker, the replay moves to 1.5 s before the impact. |
lengthLabel |
lengthLabel |
— | — |
— | The TextMeshPro label that shows the length of the replay in m:ss format. |
markerMergeDistance |
markerMergeDistance |
— | 0 |
min 0 | Sets the distance, in canvas units, below which impact markers merge into one marker. A merged marker shows the number of impacts in its child label. At 0, the markers do not merge. |
pauseIcon |
pauseIcon |
— | — |
— | The icon that the code shows while the replay moves (plays forward, or rewinds from a paused state). A press on the play and pause button then pauses the replay. |
playIcon |
playIcon |
— | — |
— | The icon that the code shows while the replay is paused and does not rewind. A press on the play and pause button then resumes the replay. |
playPauseButton |
playPauseButton |
— | — |
— | The Button that pauses or resumes the replay. Connect its On Click event to RCCP_UI_ReplayPanel.TogglePause(). |
resumeButton |
resumeButton |
— | — |
— | Optional. The Button that lets the player continue to drive from the current moment of the replay (flashback). The code shows this button only while the Replay Director allows a resume. Connect its On Click event to RCCP_UI_ReplayPanel.ResumeReplay(). |
resumeLabel |
resumeLabel |
— | — |
— | Optional. The label of the Resume button. If empty, the code uses the first TextMeshPro label under the Resume button. If Max Resumes is above 0, the label shows the remaining count (for example, RESUME (2)). |
rewindButton |
rewindButton |
— | — |
— | The Button that rewinds the replay while the player holds the button. The code reads the press and the release at runtime. Keep the transition of this Button at None, because RCCP_UI_ButtonTransition shrinks a held button. |
saveButton |
saveButton |
— | — |
— | The Button that saves the replay as a clip. Connect its On Click event to RCCP_UI_ReplayPanel.SaveReplay(). The tag label shows the result for 2 s. |
shotButtons |
shotButtons |
— | — |
— | The camera shot buttons, in this order: Auto, TV, Chase, Orbit, Free, Hood. Connect the On Click event of each button to RCCP_UI_ReplayPanel.SelectShotIndex() with its index. The code hides the Hood button if the focused vehicle has no hood camera. |
shotPopupButton |
shotPopupButton |
— | — |
— | Mobile layout only. The Button that opens and closes the shot popup. Connect its On Click event to RCCP_UI_ReplayPanel.ToggleShotPopup(). |
shotPopupLabel |
shotPopupLabel |
— | — |
— | Mobile layout only. The TextMeshPro label of the popup button that shows the selected shot. |
shotPopupRoot |
shotPopupRoot |
— | — |
— | Mobile layout only. The root of the shot popup that holds the shot buttons. The code closes the popup when the replay starts and after the player selects a shot. While the popup is open, the overlay does not hide. |
speedButton |
speedButton |
— | — |
— | The Button that changes the replay speed in the order 0.25x, 0.5x, 1x, 2x, then back to 0.25x. Connect its On Click event to RCCP_UI_ReplayPanel.CycleSpeed(). |
speedLabel |
speedLabel |
— | — |
— | The TextMeshPro label of the speed button that shows the current replay speed (for example, 1x). |
tagLabel |
tagLabel |
— | — |
— | The TextMeshPro tag that shows the word REPLAY and the active shot. During a crash slow motion, the tag shows CRASH. After a save, the tag shows the result for 2 s. |
timeLabel |
timeLabel |
— | — |
— | The TextMeshPro label that shows the elapsed replay time in m:ss format. |
timeline |
timeline |
— | — |
— | The timeline Slider. Keep its range at 0–1. If the player drags the slider, the replay pauses and goes to the selected time. On release, the replay gets back its previous pause state. Connect its On Value Changed event to RCCP_UI_ReplayPanel.OnTimelineValueChanged(). |
RCCP_UI_SceneSelector
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
demoScene |
demoScene |
— | DemoScene.AIO |
— | The demo scene that OnClick() loads. The Demo Content addon must be installed. In the editor, the scene must also be in the Build Settings. The Photon, Mirror, enter-exit and traffic scenes also need their integration. |
RCCP_UI_SetAudio
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
audioToggle |
audioToggle |
— | — |
— | Optional. The toggle that enables or mutes the sound. Connect On Value Changed to SetAudioEnabled. On enables the sound, and off mutes the sound. |
volumeLabel |
volumeLabel |
— | — |
— | Optional. Shows the master volume as a percentage. |
volumeSlider |
volumeSlider |
— | — |
— | Optional. The master volume slider (0 to 1). Connect On Value Changed to SetVolume(). |
RCCP_UI_SettingsLayout
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
actionBar |
actionBar |
— | — |
— | The existing engine and session controls. |
cards |
cards |
— | — |
— | The settings pages, in navigation order. Older canvases can keep their three cards. |
categoryButtons |
categoryButtons |
— | — |
— | The category buttons, in the same order as cards. Connect each button to SelectCategory with its index. |
content |
content |
— | — |
— | The scroll content containing the cards and session buttons. |
footer |
footer |
— | — |
— | The version and credits text. |
header |
header |
— | — |
— | The fixed settings header, including its close button. |
navigation |
navigation |
— | — |
— | The category navigation. If this field is empty, the layout keeps the older three-card layout. |
shortcuts |
shortcuts |
— | — |
— | The customization and photo mode shortcuts below the categories. |
viewport |
viewport |
— | — |
— | The clipped scroll viewport below the header. |
RCCP_UI_Siren
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
index |
index |
— | 0 |
min 0 | The index of the siren in the Sirens list of the siren manager on the player vehicle. If you click this button, the code shows this siren and hides the other sirens. The index must be inside the Sirens list. |
RCCP_UI_Spoiler
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
index |
index |
— | 0 |
min 0 | The index of the spoiler in the Spoilers list of the spoiler manager on the player vehicle. If you click this button, the code shows this spoiler and hides the other spoilers. |
RCCP_UI_SteeringWheelController
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
input |
input |
— | 0 |
-1 – 1 | Shows the steering input of the wheel, from -1 (full left) to 1 (full right). The code calculates this value from the wheel angle every frame. Read-only at runtime. |
steeringWheelCenterDeadZoneRadius |
steeringWheelCenterDeadZoneRadius |
— | 5 |
min 0 | Sets the radius around the center of the wheel, in screen pixels, where a touch does not turn the wheel. Touches inside this radius do not change the wheel angle. |
steeringWheelMaximumsteerAngle |
steeringWheelMaximumsteerAngle |
— | 270 |
min 1 | Sets the maximum rotation of the steering wheel image on the screen, in degrees. At this angle, the steering input is full. A higher value needs more rotation for full steering. |
steeringWheelResetPosSpeed |
steeringWheelResetPosSpeed |
— | 20 |
min 0 | Sets how fast the wheel turns back to the center after the player releases the wheel. The rate is 100 times this value, in degrees per second. A higher value centers the wheel faster. |
RCCP_UI_Theme
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
spritePairs |
spritePairs |
— | — |
— | The sprite replacements of this theme. Each pair replaces one default sprite with one themed sprite. The layout and the components do not change. |
themeName |
themeName |
— | "New Theme" |
— | The name of the theme, for reference. The code does not read this name. Type the theme names into the options of the theme dropdown manually. |
RCCP_UI_Theme+SpritePair
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
original |
original |
— | — |
— | The default sprite that this pair replaces. When the theme is active, RCCP_UI_ThemeApplier gives the Themed sprite to each Image that uses this sprite. |
themed |
themed |
— | — |
— | The sprite that replaces Original while this theme is active. If Original or Themed is empty, the code ignores this pair. |
RCCP_UI_ThemeApplier
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
activeTheme |
activeTheme |
— | 0 |
min 0 | Sets the selected theme. 0 keeps the default look. 1 and higher select an element of Themes (1 is the first element). If PlayerPrefs has a saved theme, the saved value replaces this value when the component is enabled. |
themeDropdown |
themeDropdown |
— | — |
— | Optional. The settings dropdown that selects the theme. The code sets its value to Active Theme without an event. Option 0 must be the default look. Connect its On Value Changed event to SetTheme(). |
themes |
themes |
— | — |
— | The available themes. Selection 0 keeps the default look. Selection 1 uses the first element of this list, selection 2 the second, and so on. The code changes the sprites of each Image under this GameObject. |
RCCP_UI_Upgrade
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
levelSlider |
levelSlider |
— | — |
— | Optional. The Slider that shows the current upgrade level of this stat. The code makes the slider non-interactable and sets its range to 0–5 with whole numbers. |
levelText |
levelText |
— | — |
— | Optional. The legacy UI Text that shows the current upgrade level of this stat (0–5). The code updates the text when the button is enabled and after each click. |
previewFill |
previewFill |
— | — |
— | Optional. The filled Image behind the slider fill that shows the next upgrade level as a preview. Set Image Type to Filled and Fill Method to Horizontal. At the maximum level, the code hides the preview. |
statText |
statText |
— | — |
— | Optional. The TextMeshPro text that shows the current stat value and the value at the next level (for example, 380 > 391 Nm). Engine shows torque, Brake shows front brake torque, and Speed shows maximum speed in km/h. Handling shows the traction helper strength as a percentage of the stock value. |
upgradeClass |
upgradeClass |
— | UpgradeClass.Engine |
— | Selects the stat that this button upgrades (Engine, Handling, Brake or Speed). A click increases the stat of the player vehicle by one level, to a maximum of 5. |
RCCP_UI_VehicleSelectionLoading
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
carSelection |
carSelection |
— | — |
— | The RCCP_CarSelectionExample that this component observes. If empty, the code finds an RCCP_CarSelectionExample in the scene at OnEnable. |
labelFormat |
labelFormat |
— | "Preparing vehicles... {0}%" |
— | Sets the text format of Progress Label. The code replaces {0} with the progress as a whole-number percentage. |
loadingPanel |
loadingPanel |
— | — |
— | The panel that the code shows while the warm-up runs and hides when the warm-up completes. Make the panel cover the selection UI. The panel then blocks clicks on the buttons below. |
onLoadingFinished |
onLoadingFinished |
— | — |
— | The event that the code invokes when the warm-up completes, after the code hides the loading panel. Use this event for a sound, a fade or other actions when the menu becomes usable. |
progressFill |
progressFill |
— | — |
— | The Image that fills to show the warm-up progress. Set the Image Type to Filled, because the code writes fillAmount. |
progressLabel |
progressLabel |
— | — |
— | Optional TextMeshPro label that shows the warm-up progress. The code formats the text with Label Format. |
RCCP_UI_Wheel
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
wheelIndex |
wheelIndex |
— | 0 |
min 0 | The index of the wheel set in the Wheels list of the RCCP_ChangableWheels asset. If you click this button, the code puts this wheel set on the player vehicle. |
RCCP_VehicleUpgrade_Brake
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
efficiency |
efficiency |
— | 1.2 |
1 – 2 | Sets the brake torque multiplier at the highest upgrade level (5). Each level adds an equal step from the stock brake torque of each axle. At 1, the upgrade has no effect. At 2, level 5 doubles the stock brake torque. |
RCCP_VehicleUpgrade_CustomizationManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
customizationData |
customizationData |
— | — |
— | The suspension, camber, headlight and tire smoke values that apply to the vehicle now. At start, the code takes this data from the loadout. Each setter writes the new value here. Read-only at runtime. |
customizationDataDefault |
customizationDataDefault |
— | — |
— | The stock suspension, camber, headlight and tire smoke values of the vehicle. The code reads these values from the vehicle when the manager initializes. Restore() applies these values again. Read-only at runtime. |
RCCP_VehicleUpgrade_DecalManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
decalBack |
decalBack |
— | — |
— | The decal projector at the back of the vehicle. Decals show only in URP or HDRP. This field must not be empty. |
decalFront |
decalFront |
— | — |
— | The decal projector at the front of the vehicle. Decals show only in URP or HDRP. This field must not be empty. |
decalLeft |
decalLeft |
— | — |
— | The decal projector on the left side of the vehicle. Decals show only in URP or HDRP. This field must not be empty. |
decalRight |
decalRight |
— | — |
— | The decal projector on the right side of the vehicle. Decals show only in URP or HDRP. This field must not be empty. |
decal_Null |
decal_Null |
— | — |
— | The transparent material that each decal projector shows when no decal is selected. |
decals |
decals |
— | — |
— | The decal materials that the player can select. The loadout saves the index of the selected material. Decals show only in URP or HDRP. |
index_decalBack |
index_decalBack |
— | -1 |
min -1 | Shows the index of the back decal material in Decals. A value of -1 means no decal. The code sets this value from the loadout. Read-only at runtime. |
index_decalFront |
index_decalFront |
— | -1 |
min -1 | Shows the index of the front decal material in Decals. A value of -1 means no decal. The code sets this value from the loadout. Read-only at runtime. |
index_decalLeft |
index_decalLeft |
— | -1 |
min -1 | Shows the index of the left side decal material in Decals. A value of -1 means no decal. The code sets this value from the loadout. Read-only at runtime. |
index_decalRight |
index_decalRight |
— | -1 |
min -1 | Shows the index of the right side decal material in Decals. A value of -1 means no decal. The code sets this value from the loadout. Read-only at runtime. |
RCCP_VehicleUpgrade_Engine
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
efficiency |
efficiency |
— | 1.15 |
1 – 2 | Sets the engine torque multiplier at the highest upgrade level (5). Each level adds an equal step from the stock maximum torque. At 1, the upgrade has no effect. At 2, level 5 doubles the stock torque. |
RCCP_VehicleUpgrade_Handling
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
efficiency |
efficiency |
— | 1.2 |
1 – 2 | Sets the multiplier for the Traction helper strength of the Stability component at the highest upgrade level (5). Each level adds an equal step from the stock value. At 1, the upgrade has no effect. At 2, level 5 doubles the stock value. |
RCCP_VehicleUpgrade_NeonManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
index |
index |
— | -1 |
min -1 | Shows the index of the active neon material in Neons. A value of -1 means no neon. The code sets this value from the loadout. Read-only at runtime. |
neon_Null |
neon_Null |
— | — |
— | The transparent material that the neon projector shows when no neon is selected. |
neons |
neons |
— | — |
— | The neon materials that the player can select. The neon projector under the vehicle shows the selected material. Neons show only in URP or HDRP. |
RCCP_VehicleUpgrade_Paint
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
id |
id |
— | "_BaseColor" |
— | The name of the shader color property that receives the paint color. Use _BaseColor for URP shaders. If the material does not have this property, the color does not change. |
paintMaterial |
paintMaterial |
— | — |
— | The body material that receives the paint color. The code paints every MeshRenderer slot on the vehicle that uses this material. The code paints instances of the material, so the material asset does not change. |
RCCP_VehicleUpgrade_PaintManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
color |
color |
— | Color.white |
— | Shows the current body paint color. The code saves this color to the loadout. Read-only at runtime. |
defaultColors |
defaultColors |
— | — |
— | Stores the original color of each Paint Material. The code reads these colors at start. Restore() paints the body with these colors again. Read-only at runtime. |
paints |
paints |
— | — |
— | The painter components (RCCP_VehicleUpgrade_Paint) under this manager. Each painter changes the color of one body material. Click Get All Painters to fill this list. |
RCCP_VehicleUpgrade_SirenManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
sirenIndex |
sirenIndex |
— | -1 |
min -1 | Shows the index of the active siren in Sirens. A value of -1 means no siren. The code sets this value from the loadout. Read-only at runtime. |
sirens |
sirens |
— | — |
— | The siren objects (RCCP_VehicleUpgrade_Siren) under this manager. The code shows only the selected siren and hides the others. Click Get All Sirens to fill this list. |
RCCP_VehicleUpgrade_Speed
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
efficiency |
efficiency |
— | 1.1 |
1 – 2 | Sets the Top speed multiplier at level 5. Each level adds an equal step from the stock value. At 1, the upgrade has no effect. With Auto-calculate differential ratio on, the engine recalculates gearing from Top speed. With the option off, the upgrade divides each stock Final drive ratio by the speed multiplier. Level 0 and Restore keep the stock gearing. |
RCCP_VehicleUpgrade_Spoiler
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
bodyRenderer |
bodyRenderer |
— | — |
— | The MeshRenderer of the spoiler model. The code paints one material slot of this renderer with the body paint color. The Index field selects the slot. |
id |
id |
— | "_BaseColor" |
— | The name of the shader color property that receives the paint color. Use _BaseColor for URP shaders. |
index |
index |
— | -1 |
min -1 | The material slot on Body Renderer that receives the paint color. If the value is -1, the code does not paint this spoiler. |
RCCP_VehicleUpgrade_SpoilerManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
paintSpoilers |
paintSpoilers |
— | true |
— | If on, the spoilers get the body paint color. If off, the spoilers keep their own color. |
spoilerIndex |
spoilerIndex |
— | -1 |
min -1 | Shows the index of the active spoiler in Spoilers. A value of -1 means no spoiler. The code sets this value from the loadout. Read-only at runtime. |
spoilers |
spoilers |
— | — |
— | The spoiler objects (RCCP_VehicleUpgrade_Spoiler) under this manager. The code shows only the selected spoiler and hides the others. Click Get All Spoilers to fill this list. |
RCCP_VehicleUpgrade_WheelManager
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
wheelIndex |
wheelIndex |
— | -1 |
min -1 | Shows the index of the active wheel set in RCCP_ChangableWheels. A value of -1 means the stock wheels. The code sets this value from the loadout. Read-only at runtime. |
RCCP_Visual_Dashboard
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
interiorLights |
interiorLights |
— | — |
— | The dashboard and cabin lights. Each light is lit while the low beam headlights are on. |
rPMDial |
rPMDial |
— | — |
— | The dial that shows the engine RPM on the dashboard model. |
speedDial |
speedDial |
— | — |
— | The dial that shows the vehicle speed in km/h on the dashboard model. |
steeringAngleMultiplier |
steeringAngleMultiplier |
— | 3 |
min 0 | Multiplies the steer angle of the vehicle to get the rotation of the steering wheel. For example, at 3, a steer angle of 30 degrees turns the steering wheel 90 degrees. |
steeringAngleSmoother |
steeringAngleSmoother |
— | 5 |
min 0 | Sets how fast the steering wheel model follows the steer angle. A higher value follows faster. A lower value gives a smoother, slower rotation. |
steeringWheel |
steeringWheel |
— | — |
— | The interior steering wheel Transform. The code rotates it by the steer angle of the vehicle, multiplied by Steering Angle Multiplier. |
steeringWheelRotateAround |
steeringWheelRotateAround |
— | SteeringWheelRotateAround.ZAxis |
— | Selects the local axis around which the steering wheel rotates. |
RCCP_Visual_Dashboard+InteriorLight
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
intensity |
intensity |
— | 1 |
0 – 10 | Sets the brightness of this interior light while the low beams are on. In the editor, a value below 0.01 resets to 1. |
lightSource |
lightSource |
— | — |
— | The Light component of this interior light. The light is lit while the low beam headlights are on. |
renderMode |
renderMode |
— | LightRenderMode.Auto |
— | Sets the render mode of this light (Auto, ForcePixel or ForceVertex). The code applies it at Start. |
RCCP_Visual_Dashboard+RPMDial
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
dial |
dial |
— | — |
— | The GameObject of the needle. The code rotates the needle from its start rotation by the value multiplied by Multiplier. |
multiplier |
multiplier |
— | .05 |
min 0 | Sets the needle rotation in degrees for each unit of the value (RPM or km/h). For example, at 0.05, a value of 6000 RPM turns the needle 300 degrees. |
rotateAround |
rotateAround |
— | RotateAround.Z |
— | Selects the local axis around which the needle rotates. |
text |
text |
— | — |
— | The optional TextMeshPro text that shows the value as a whole number. |
RCCP_Waypoint
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
targetSpeed |
targetSpeed |
— | 0 |
min 0 | Sets the target speed in km/h at this waypoint. Zero keeps automatic speed planning. The AI brakes before reaching the waypoint and can choose a lower speed for grip or obstacles. |
RCCP_WheelBlur
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
multiplier |
multiplier |
— | 1 |
0 – 1 | Scales the wheel blur intensity. At 1, the full effect is available. At 0, the effect is hidden. The RCCP camera also fades each wheel from full effect at 5 m to no effect at 1.5 m. |
offset |
offset |
— | — |
— | Sets a local position offset that aligns the blur mesh with the wheel model. The code adds the offset on right wheels and subtracts it on left wheels. |
rotationSpeed |
rotationSpeed |
— | .25 |
0 – 5 | Sets how fast the blurred wheel spins relative to the wheel RPM. A higher value spins the blurred wheel faster. |
scale |
scale |
— | .06 |
0 – .2 | Sets the uniform scale of the blur mesh. Set a value that matches the blur mesh to the radius of the real wheel. |
smoothness |
smoothness |
— | 20 |
min 0 | Sets how fast the blur intensity follows the wheel RPM. A higher value responds faster. A lower value gives smoother changes. |
targetMaterial |
targetMaterial |
— | — |
— | The material for the blurred wheel meshes. The shader must have a _BlurIntensity property. If this slot is empty, the meshes keep the material of the Wheel Blur prefab. |
wheelOverrides |
wheelOverrides |
— | empty |
— | Optional settings for individual wheels. An empty list keeps the shared material, offset and scale on every wheel. Recreate the preview after changing materials. |
RCCP_WheelBlur+WheelOverride
Use wheel overrides when the front and rear wheels have different rims, widths or radii. Assign the wheel component to each entry. An empty material uses the shared material. Offset and scale replace the shared values for that wheel.
The first matching entry applies. Stop Play Mode before editing. Recreate the preview after changing a material.
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
wheelCollider |
wheelCollider |
— | — |
— | The wheel that uses this entry. Other wheels use the shared settings. |
material |
material |
— | — |
— | The blur material for this wheel. If empty, the shared material is used. |
offset |
offset |
m | (0.1, 0, 0) |
— | The local offset for this wheel. Added on the right side and subtracted on the left side, like the shared offset. |
scale |
scale |
— | .06 |
0 – .2 | The blur mesh scale for this wheel. Match it to the wheel radius. |
RCCP_WheelBlur+Wheel
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
blurredWheel |
blurredWheel |
— | — |
— | The MeshRenderer of the blurred wheel. The code creates it at Start from the Wheel Blur prefab in RCCP_Settings. Read-only at runtime. |
wheelCollider |
wheelCollider |
— | — |
— | The wheel collider whose RPM controls the blur and the spin of this blurred wheel. The blurred wheel follows the wheel model of this wheel. Read-only at runtime. |
wheelRPM |
wheelRPM |
— | — |
— | Stores the accumulated spin value of the blurred wheel. The code adds the wheel RPM to it each frame. This value is not the real wheel RPM. Read-only at runtime. |
RCCP_WheelSlipParticles
| Setting | Code name | Unit | Default | Range | What it does |
|---|---|---|---|---|---|
coldSmokeAlphaMultiplier |
coldSmokeAlphaMultiplier |
— | 0.55 |
0 – 1 | Multiplies the alpha of the smoke start color on a cold tire. The multiplier increases to 1 as the tire temperature increases. Cold tires make thin smoke and hot tires make dense smoke. |
contactPatchParticles |
contactPatchParticles |
— | — |
— | An optional second particle system for dense smoke at the tire contact patch. The code starts, stops and scales it together with the main particle system. If the vehicle does not need contact patch smoke, keep this slot empty. |
maxContactEmissionRate |
maxContactEmissionRate |
— | 80 |
0 – 200 | Sets the emission rate of the contact patch particles (particles per second) at full slip intensity. |
maxEmissionRate |
maxEmissionRate |
— | 25 |
0 – 100 | Sets the emission rate (particles per second) at full slip intensity. Full intensity needs high slip and a hot tire. |
minContactEmissionRate |
minContactEmissionRate |
— | 5 |
0 – 200 | Sets the emission rate of the contact patch particles (particles per second) at the lowest slip intensity. |
minEmissionRate |
minEmissionRate |
— | 2.5 |
0 – 100 | Sets the emission rate (particles per second) at the lowest slip intensity. The rate increases toward Max Emission Rate as slip and tire temperature increase. |
Read next
- Tuning Recipes — the settings that change how the vehicle feels, sorted by symptom.
- How the Car Drives — what the drivetrain settings mean together rather than one at a time.
- API Reference — reading and writing these values from code.