Performance and platforms
Goal: find what slows your game down, reduce that cost, and check the result on the device you plan to support.
Before you start
Get one car driving correctly first. Performance changes can affect handling, sound and appearance, so keep a copy of your working settings.
Two useful terms:
- Frame rate (FPS) is how many pictures the game draws each second.
- Frame time is how long one picture takes. Occasional long frames cause stutters even when the average FPS looks good.
There is no fixed cost for an RCCP car. Its model, wheels, effects, damage setup and the number of cars all matter.
1. Measure a repeatable test
- Open Unity's Profiler from Window > Analysis > Profiler.
- Drive a short route that includes the problem: a crowded road, long skid or crash.
- Note whether the large cost comes from rendering, physics, scripts or audio.
- Change one setting from the matching section below.
- Repeat the same route with the same number of cars.
Check: the measured cost improves, and the car still looks, sounds and handles acceptably.
Use a build on your target device for the final comparison. Editor performance alone does not predict performance on a phone or in a browser.
2. Start with the matching symptom
| Problem | First change to test |
|---|---|
| Many cars slow the scene down | Add LOD to cars away from the player. |
| Crashes cause stutters | Reduce denting and panel-relighting cost. |
| Lights are expensive | Try the Cheap … lighting options in RCCP Settings. |
| Long skids become expensive | Reduce skidmark detail. |
| Lots of collision effects are expensive | Reduce sparks and disable impact flashes. |
| Physics is expensive | Check wheel substeps and the project physics rate. |
| Too much audio plays at once | Use LOD to mute distant cars. |
The sections below explain the tradeoffs. This is a starting order for investigation, not a performance ranking that applies to every game.
3. Reduce distant-car work with LOD
LOD means level of detail. RCCP's LOD module turns vehicle systems off at a distance; it does not replace the car mesh with a simpler model.
- Stop Play Mode and select a non-player vehicle.
- In its Modules list, add LOD from Optimization.
- Press Play and drive toward and away from it.
- Watch Current LOD level and check when its lights, effects and audio disappear.
- Adjust LOD distance factor so the change is acceptable. Write down the result, then stop Play Mode and apply it again to keep it.
Check: nearby cars retain the presentation you need, while distant cars do less work.
| Level | What changes |
|---|---|
| 0 | The components managed by LOD are enabled. |
| 1 | Wheel alignment and skid drawing stop. Lamps, aerodynamics, stability, damage, particles and wheel blur are disabled. Audio remains enabled. |
| 2 / 3 | The same reductions as level 1, plus audio is disabled. |
LOD does not stop the complete drivetrain or all wheel physics. It also changes which handling and damage components run, so test traffic interactions.
Use Always full detail for a player's car that has LOD, or while checking a feature that distance would disable. Always reduced detail forces the cheapest level. A lower LOD distance factor makes effects disappear nearer the camera.
4. Reduce crash and effect cost
Denting
Work down the table, testing after each change. Damage owns the denting switches; the Deformation Solver owns soft-body quality and preparation.
| Change | Tradeoff |
|---|---|
| Turn off Recalculate normals on Damage. | Saves normal recalculation, but lighting may not follow the changed shape well. |
| Increase Relight interval on the solver. | Updates lighting less often; a frame that performs the update can still be expensive. |
| Lower Solver passes. | Less work, with less stable or accurate soft-body motion. |
| Lower Detail cap per panel. | Coarser deformation and less memory. |
| Turn off Soft-body denting. | Uses classic denting instead of the soft-body solver. |
| Turn off Dent the bodywork. | Disables mesh denting; separate lamp, part and wheel damage can remain. |
Leave Keep bent panels visible enabled: incorrect bounds can make a dented panel disappear from some camera angles.
For spawn stutters, check Async island build and Panels prepared per step on the solver. RCCP Settings also has a scene-wide Panels prepared per step budget. Lower preparation quotas spread the work out, but delay full soft-body readiness.
Under Deformation budget in RCCP Settings:
- Limit soft-body denting lets RCCP simplify non-player cars when needed.
- Denting budget limits the shared soft-body time budget.
- Denting memory cap controls when eligible off-screen cars release memory.
See Damage before changing solver settings further.
Skidmarks and particles
| Where | Change to test |
|---|---|
| Skidmark prefab assigned to a ground surface | Lower Max Marks for shorter trails, or raise Min Distance for fewer trail sections. |
| Individual wheel | Turn off Draw skidmarks if that wheel needs neither marks nor associated tire smoke. |
| Vehicle Particles component | Lower Extra sparks on a big hit and disable Flash on impact. |
| Vehicle Particles component | Reduce Scrape build-up, Tire smolder or Smolder smoke if these effects are costly. |
Use multithreading in RCCP Settings can move supported mesh work off the main thread. Unsupported platforms fall back to the main thread. Test it on your target; it is not a substitute for reducing excessive work.
See Surfaces and Effects.
5. Check the target platform
Phone or tablet
- Set up touch controls using Mobile.
- Test Headlights as vertex lights, Brake lights as vertex lights, Reverse lights as vertex lights, Indicator lights as vertex lights and Other lights as vertex lights in RCCP Settings.
- Reduce collision flashes and denting if the device struggles.
- Add LOD to distant or AI cars.
- Choose a frame-rate target your device can sustain. For example, enable Cap the frame rate and try Frame rate cap = 60.
- For Android audio, run Tools > BoneCracker Games > Realistic Car Controller Pro > Audio > Apply Mobile Audio Platform Overrides if appropriate for your clips.
The audio command writes Android compression overrides; it does not apply an iOS or WebGL override. Review its confirmation before applying it.
Check: play for long enough to notice heat-related slowdowns. Check touch controls, audio and frame pacing on the actual device.
WebGL
RCCP's WebGL build path disables background preparation for the deformation solver. Its general threading support also falls back to the main thread.
| Limitation | What to test |
|---|---|
| Soft-body preparation uses the main thread. | Disable soft-body denting, lower panel detail, or lower preparation quotas. |
| Threaded mesh work falls back. | Measure long skids and crashes in the browser. A fallback warning is expected. |
| RCCP's mobile audio command skips WebGL. | Check playback using the clips' default import settings. |
Check: test the built game in the browser you intend to support. A smooth Editor session does not test this fallback.
Optional: physics and audio settings
Wheel substeps
Substeps divide a wheel-physics update into smaller calculations. More substeps can improve stability at a higher CPU cost.
The behavior preset chooses a Substep profile. A car can override it with Use a custom substep profile and Substep profile on its controller. Compare a lighter profile before reducing collision quality elsewhere, then retest braking, bumps and high-speed driving.
Physics rate and frame cap
Open RCCP Settings:
| Setting | Meaning |
|---|---|
| Override Fixed Timestep | Allows RCCP to override the project's physics timestep at scene load. |
| Fixed Timestep | Seconds between physics updates. A smaller value means more updates and more CPU work. |
| Cap the frame rate | Allows RCCP to apply its frame-rate limit at scene load. |
| Frame rate cap | The requested limit when that override is enabled. |
For example, 0.02 seconds is 50 physics steps per second; 0.01 requests twice as many. Retest handling after any change. Raising the timestep to save CPU can make fast or stiff cars unstable.
Audio
Engine layers and wheel sounds add multiple audio sources per car. LOD level 2 disables the distant vehicle's Audio component.
For older RCCP audio imports, Tools > BoneCracker Games > Realistic Car Controller Pro > Audio > Reimport All RCCP Audio Clips reapplies RCCP's import rules. See Engine Audio before removing layers from a sound you want to keep.
Before release
In RCCP Settings > Interface & logging, turn off development aids you no longer need:
- Show the telemetry panel
- Show the input panel
- Extra console messages
The telemetry panel shows vehicle values; it does not identify where frame time goes. Use the Profiler for that.
Final check: repeat your driving, crowded-scene, crash and audio checks in the target build after applying the final settings.
Next step
- Mobile — touch controls and device layout.
- Damage — choose deformation quality.
- Troubleshooting — diagnose behavior that is incorrect, rather than merely slow.