URP & HDRP Conversion
RCC ships with Built-in Render Pipeline materials and shaders by default. If you're using URP (Universal Render Pipeline) or HDRP (High Definition Render Pipeline), you need to run the Render Pipeline Converter once to make every material, shader, lens flare, and light intensity work correctly under the new pipeline.
This document explains why the converter exists, when to use it, and how to handle each pipeline.
Why Render Pipelines Matter
Unity supports three render pipelines that ship "in the box":
- Built-in — the original Unity pipeline. Compatible with all assets shipped before 2019.
- URP — modern, optimized for performance. Default for most new projects since 2020.
- HDRP — physically-based, high-fidelity. For high-end PC / console.
Each pipeline has its own shaders. A material with a Standard shader (Built-in) appears pink in URP because URP doesn't ship the Standard shader. To make a Built-in material work in URP, you must convert it to use URP's Lit shader (or a custom URP shader).
The same applies to RCC's vehicle materials, dashboard materials, environment materials, and so on.
When You Need the Converter
Run the converter when:
- You imported RCC into a URP or HDRP project and materials look pink.
- You switched your existing project from Built-in to URP / HDRP and RCC materials are now broken.
- You updated to a new Unity version and one of the pipelines reorganized its shaders.
You don't need the converter if:
- You're staying on Built-in. RCC works out of the box.
- You created a fresh URP / HDRP project but haven't imported RCC yet. Import RCC first, then convert.
Pre-Conversion Setup
Before running the converter:
1. Install the Render Pipeline Package
Open Window → Package Manager. From Unity Registry, install:
- For URP:
Universal RP(com.unity.render-pipelines.universal). - For HDRP:
High Definition RP(com.unity.render-pipelines.high-definition).
2. Create a Render Pipeline Asset
Right-click in your project → Create → Rendering → and pick:
- URP Asset (with Universal Renderer) for URP.
- HDRP Asset for HDRP.
3. Assign the Asset
Open Edit → Project Settings → Graphics. Drag your new pipeline asset into the Scriptable Render Pipeline Settings slot.
If you also have a Quality settings preset configured, assign the pipeline asset there too (Project Settings → Quality → each quality level → Rendering).
Unity may prompt you to migrate your project to the new pipeline — accept.
After this, your scenes will render through URP / HDRP. Most materials will appear pink at this point, including RCC's. That's expected — the converter fixes it.
Running the Converter
In Unity:
Tools → BoneCracker Games → Realistic Car Controller → Render Pipeline Converter
A window opens with three big buttons:
- Convert to URP
- Convert to HDRP
- Convert to Built-in (reverts)
Click the one matching your project.
What the Converter Does
The converter performs these steps:
- Sets the compile-time define:
BCG_URPfor URP,BCG_HDRPfor HDRP. This switches RCC's conditional compilation branches that handle pipeline differences. - Replaces materials: walks every material under
Assets/RealisticCarControllerV4/Materials/and swaps the shader to the equivalent URP / HDRP shader. Material properties (color, texture, smoothness, metallic) carry over. - Updates lens flare components: the legacy
LensFlarecomponent (Built-in) is replaced withLensFlareComponentSRP(URP/HDRP). - Updates light intensity units: HDRP uses lumens (large numbers, 500-3000 typical for vehicle lights). URP and Built-in use a unitless 0-8 scale. The converter rescales intensities so lights look approximately the same after the switch.
- Sets the HDRP volume profile: in HDRP mode, RCC instantiates the shipped Volume Profile prefab in the scene so HDRP's volumetric lighting and post-processing have something to work with.
The conversion is scene-aware — it iterates only objects in the current scene + any RCC prefabs. It doesn't modify your own custom materials outside the RCC folder.
Conversion is One-Way (Almost)
The converter is mostly idempotent — running it twice on the same pipeline doesn't break anything. But:
- Converting from URP back to Built-in works, materials swap back.
- Converting from HDRP back to Built-in works, but you may lose some fine-grained HDRP-specific tuning (volumetric fog densities, etc.).
Always commit your work to Git before running the converter, in case something goes wrong.
Pipeline-Specific Behavior
Built-in Render Pipeline
- Shaders: Unity Standard for body materials, Mobile/Particles for VFX.
- Lens flares: legacy
LensFlarecomponent. - Light intensities: unitless, 0–8 typical.
- Decals: legacy Projector component (or none).
- Performance: medium — RCC's Built-in defaults are tuned for desktop.
URP (Universal Render Pipeline)
- Shaders: URP/Lit for body, URP/Unlit for transparent VFX.
- Lens flares:
LensFlareComponentSRP. - Light intensities: unitless, 0–8 typical (same as Built-in).
- Decals: URP Decal Renderer Feature (you must enable this in your URP Renderer Data asset to see decals).
- Performance: best out of the box for mobile.
HDRP (High Definition Render Pipeline)
- Shaders: HDRP/Lit for body, HDRP/Unlit for transparent VFX.
- Lens flares:
LensFlareComponentSRP. - Light intensities: lumens — much larger numbers (500–3000 for headlights, 300–1500 for brake lights).
- Decals: HDRP Decal Projector component.
- Performance: most expensive — HDRP is for high-end PC / console, not mobile.
URP-Specific Notes
Renderer Features Required
If your URP Asset uses the default Universal Renderer, certain RCC visuals may not appear unless you enable specific renderer features:
- Decal Renderer Feature — enables decals on materials. Required for the Customization decal system.
To add a renderer feature: select your URP Renderer Data asset in the Project window, click Add Renderer Feature at the bottom of the Inspector, and pick from the list.
Additional Lights Mode
URP's URP Asset has an Additional Lights dropdown:
- Disabled — only the main directional light is real-time.
- Per Vertex — additional lights compute per vertex (cheap but blocky).
- Per Pixel — additional lights compute per pixel (expensive but crisp).
For vehicle headlights at night, you want Per Pixel. With Per Vertex, headlights will look blocky and won't light geometry well.
If you're targeting mobile and need performance, use Per Vertex and accept reduced light quality.
Camera Stack
URP supports a Camera Stack — multiple cameras rendering on top of each other. RCC's camera works fine as a base camera in any stack. If you have a separate UI camera, make sure the RCC camera is the base and the UI camera is an overlay.
HDRP-Specific Notes
Volume Profile
HDRP requires a Volume Profile to drive lighting, fog, exposure, etc. The converter spawns the included Volume Profile prefab (RCC_Settings.hdrpVolumeProfilePrefab) into your scene automatically.
If your scene already has a Volume, the converter respects it — you can edit your scene's existing volume to suit your art direction.
Exposure
HDRP uses physical exposure. The default Volume Profile sets exposure to a reasonable value for car scenes, but if your scene is too dark or too bright, adjust the Exposure component on the Volume.
Volumetric Lights
HDRP supports volumetric ("god ray") lighting on point and spot lights. By default, RCC vehicle lights have volumetrics turned off (they look strange inside a vehicle cabin). Turn them on per-light if you want the cinematic effect.
Light Intensity Units
HDRP requires lumens for spot/point lights. The defaults RCC sets after conversion:
| Light Type | HDRP Lumens |
|---|---|
| Head Light Low Beam | 1000 |
| Head Light High Beam | 2000 |
| Brake Light | 800 |
| Reverse Light | 500 |
| Indicator | 400 |
| Interior | 200 |
Adjust to taste — these are starting points.
Manual Conversion Steps (If the Converter Fails)
If the automatic converter doesn't work (rare, but happens with extensively customized projects), you can convert manually:
-
Open each RCC material under
Assets/RealisticCarControllerV4/Materials/. Change its shader: - Built-inStandard→ URPUniversal Render Pipeline/Litor HDRPHDRP/Lit. - Built-inParticles/...→ URPParticles/...or HDRP equivalent. -
Replace each lens flare: every
LensFlarecomponent → remove and addLensFlareComponentSRP. Drag the appropriate lens flare data asset. -
Update light intensities if switching to HDRP: each spot/point light's intensity → multiply by ~500 (Built-in 2.0 → HDRP 1000 lumens).
-
Set the scripting define: open Edit → Project Settings → Player → Other Settings → Scripting Define Symbols. Add
BCG_URPorBCG_HDRP. -
Re-import RCC scripts so the conditional compilation reads the new define. (Sometimes Unity caches this — restart the editor if changes don't take effect.)
Common Conversion Issues
"Materials are still pink after running the converter"
Either the converter wasn't given write permission, or it ran but Unity didn't refresh. Try:
- Close the Render Pipeline Converter window.
- Right-click each RCC material in the Project window → Reimport.
- If pink persists, check the material's shader assignment in the Inspector. It should be
Universal Render Pipeline/Litfor URP, notHidden/InternalErrorShader.
"Lens flares appear too bright in HDRP"
HDRP lens flares are in physical brightness units. Lower the lens flare's intensity multiplier on the LensFlareComponentSRP. Or use a less aggressive lens flare data asset (RCC ships a few preset variations).
"Brake lights are invisible after URP conversion"
URP's Additional Lights mode is set to Disabled or Per Vertex. Set it to Per Pixel in your URP Asset.
"Decals don't appear in URP"
You need to enable the Decal Renderer Feature in your URP Renderer Data asset.
"Headlights are too dim / too bright in HDRP"
Adjust the light's Intensity in lumens. The default 1000 lumens may be too low for a brightly-lit scene or too high for a dimly-lit one.
"Compile errors after switching"
The BCG_URP or BCG_HDRP define isn't set. Either:
- Re-run the converter (it should set the define).
- Manually add the define in Project Settings → Player → Scripting Define Symbols.
"Performance dropped after HDRP conversion"
HDRP is more expensive than URP or Built-in by design. If your target is mobile, do NOT use HDRP — stick with URP or Built-in.
Performance Tips per Pipeline
| Tip | Built-in | URP | HDRP |
|---|---|---|---|
| Vertex lights for small bulbs | ✓ | ✓ | N/A |
| Disable particle effects | ✓ | ✓ | ✓ |
| Disable skidmarks | ✓ | ✓ | ✓ |
| Reduce shadow distance | ✓ | ✓ | ✓ |
| Disable real-time additional lights | ✓ | ✓ | ✓ |
| Lower fixed timestep | ✓ | ✓ | ✓ |
| Use static batching for scene geometry | ✓ | ✓ | ✓ |
For mobile: URP is the right pipeline. HDRP is for desktop / console only.
Next Steps
- 14 — Lights System — pipeline-specific lighting details.
- 21 — RCC Settings Deep Dive — the HDRP Volume Profile reference.
- 28 — Troubleshooting — common pipeline issues.