High Definition Render Pipeline
Use the High Definition Render Pipeline (HDRP) support package when an Ultimate Character Controller Version 3 project runs in HDRP, especially when first-person arms and items must remain visible near walls without a second camera.
Before you begin
- Back up or commit the project. Activating HDRP and converting materials can change many project assets.
- Install a released Ultimate Character Controller Version 3 package. Its Installer requires Unity 2021.3 or newer.
- Use the HDRP version supplied for the chosen Unity Editor. Unity couples Scriptable Render Pipeline major versions to Editor versions; do not select an arbitrary HDRP version because Ultimate Character Controller’s minimum Unity version is satisfied.
- Make the character, Camera Controller, input, and one representative item work before converting the project. This gives you a known result to compare after the render-pipeline change.
The audited Ultimate Character Controller 3.2.0 source is in a Unity 2022.3.62f3 project, and the bundled HDRP shaders identify SRP 14.0.8. Setup Manager does not enforce a maximum HDRP version: it detects HDRP’s CustomPassVolume type and then imports the bundled support package. Treat a successful import as package detection, not as proof that an otherwise untested Unity, HDRP, and Ultimate Character Controller combination is compatible.
Convert the project before importing Ultimate Character Controller support
Convert the base project first, then add the Ultimate Character Controller-specific assets. This keeps Unity’s broad material conversion separate from the small Ultimate Character Controller support import.
- In Window > Package Manager, install High Definition RP for the current Unity Editor.
- Assign the HDRP Asset required by that Unity version and complete Unity’s HDRP configuration checks. In HDRP 14, open Window > Rendering > HD Render Pipeline Wizard, select HDRP, and select Fix All.
- Convert compatible Built-in Render Pipeline materials with Edit > Rendering > Materials > Convert All Built-in Materials to HDRP, or convert a controlled selection with Convert Selected Built-in Materials to HDRP.
- Repair custom shaders and materials manually. Unity’s converter does not convert every custom shader, particle shader, height-mapped material, or read-only package material.
- Open a representative scene and confirm that its environment, character, items, effects, and UI render without pink materials or shader errors before importing the Ultimate Character Controller HDRP support package.
Follow Unity’s HDRP 14 conversion guide when using Unity 2022.3. For another Unity release, use the matching HDRP manual because menu labels and upgrade tools can change.
Import the HDRP support package
- Open Tools > Opsive > Ultimate Character Controller > Setup Manager and select Project.
- Under Render Pipeline, select HDRP and select Import. If HDRP has not compiled, Setup Manager shows HDRP Not Imported and does not import the integration.
- Confirm that
Assets/Opsive/UltimateCharacterController/Integrations/HDRPcontains Overlay Pass, InvisibleShadowCasterHDRP, and the supplied HDRP shader assets. - Drag Overlay Pass into the gameplay scene. The prefab contains a Global Custom Pass Volume that draws the Overlay layer, so keep one active instance in the loaded scene set rather than adding one per character or camera.
For a new project, Update Buttons, Layers, and Render Pipeline can import support for the already-active pipeline as part of the initial project update. Use the explicit Render Pipeline > HDRP > Import route when converting an existing project or reinstalling the support assets.
Configure first-person overlay rendering
- Select the camera with Camera Controller and expand View Types.
- Select a first-person View Type, such as First Person Combat, and expand Rendering.
- Set Overlay Render Type to Render Pipeline.
- Keep First Person Culling Mask on the layer used by the first-person arms and items. The supplied setup uses Overlay.
- Confirm that those first-person Renderers are on the same layer and that the normal scene Culling Mask does not render that layer as regular scene geometry.

Changing between Second Camera and Render Pipeline updates the other first-person View Types on the same Camera Controller. In Render Pipeline mode, Ultimate Character Controller removes the generated child first-person camera and temporarily adds First Person Culling Mask to the main camera while first person is active. The Overlay Pass then draws those objects with cleared depth so nearby scene geometry does not cut through them.
Match the renderer and material setup
| Area | HDRP requirement | Expected result |
|---|---|---|
| First-person arms and items | HDRP-compatible materials, Renderers on the Overlay layer, and Cast Shadows set to Off | The overlay remains visible near walls without adding a duplicate set of shadows. |
| Both first- and third-person perspectives | Perspective Monitor > Invisible Material uses InvisibleShadowCasterHDRP | The hidden third-person mesh can keep its intended shadow while the first-person mesh supplies the visible arms and item. |
| First-person-only character | Apply InvisibleShadowCasterHDRP to the third-person head, arms, body, or item Renderers that must be hidden | The first-person camera does not see unwanted third-person geometry. |
| Object Fader | The material supports transparency and Color Property Name matches its alpha-bearing color; standard HDRP materials use _BaseColor |
Character and obstruction fades change alpha instead of turning pink or remaining opaque. |
| Surface Manager texture lookup | Main Texture Property Name matches the material’s base texture; standard HDRP Lit uses _BaseColorMap |
Texture-based Surface Type lookup reads the intended texture. |
| Ultimate Character Controller Surface Effect decals | A prefab with MeshFilter, Renderer, and an HDRP-compatible material | Impact marks and footprints spawn, fit the hit surface, and can be weathered by Decal Manager. |
The current Setup Manager initializes non-Built-in projects with _BaseColor for Object Fader and _BaseMap for Surface Manager. _BaseMap is the normal URP base texture name, while standard HDRP Lit uses _BaseColorMap; update Surface Manager > Main Texture Property Name when using HDRP Lit. Custom shaders can use different property names, so inspect the material rather than copying either value blindly.
Object Fader also needs its surface-mode fields to match the shader. Setup Manager supplies _Surface and 1 for non-Built-in pipelines, but standard HDRP shaders expose different internal surface properties. Follow the material-focused checks on Object Fader and verify an actual fade before applying the settings to every material.
Ultimate Character Controller’s Decal Manager does not spawn HDRP Decal Projector components. It places and pools a mesh decal prefab, checks the mesh corners against the hit surface, and fades its Renderer material. An HDRP Decal Projector prefab is therefore not a drop-in replacement for a prefab assigned to Surface Effect > Decals. Use an HDRP-compatible mesh material, then test both spawning and weathering.
Verify in Play Mode
- Enter Play Mode in a scene containing one active Overlay Pass and start in first person with an item equipped.
- Move the arms and item close to a wall. They should remain fully visible, while scene geometry keeps normal depth and no child first-person camera is required.
- Inspect the Game view for duplicated shadows. The third-person shadow can remain, but the first-person arms and item should not add a second shadow.
- If both perspectives are available, switch to third person and back several times. The correct body should be visible in each perspective and the invisible shadow material should not appear as visible geometry.
- Test an Object Fader material in third person. It should become transparent and restore its original material state.
- Trigger one Surface Effect that uses a decal and one that resolves a Surface Type from a texture. The decal should render with its HDRP material, and the expected surface effect should play.
- Enable one obvious HDRP post-processing override. It should affect the combined scene and first-person objects through the main camera.
- Repeat the checks in a development build on every supported graphics API. A clean Scene view is not proof that the gameplay camera or player build uses the same render path.
Troubleshooting
| Symptom | Check | Fix |
|---|---|---|
| HDRP Not Imported appears after selecting Import. | HDRP may be installed but not compiled, or the active package may not expose CustomPassVolume. |
Finish the Unity HDRP setup, resolve the first Console error, and reopen Setup Manager before importing again. |
| First-person arms or items clip into walls. | Overlay Pass, Overlay Render Type, the Overlay layer, or First Person Culling Mask is missing. | Import the support package, keep one active Overlay Pass, select Render Pipeline, and restore the expected layer masks. |
| First-person objects disappear entirely. | Their Renderer layer may not be included in First Person Culling Mask, or their shader may not render in the HDRP Custom Pass. | Restore the Overlay layer and test one standard HDRP-compatible material before repairing custom shaders. |
| Arms, items, or scene objects are pink. | A Built-in or custom shader was not converted, or the bundled Ultimate Character Controller HDRP shader is from an unverified SRP generation. | Use a material supported by the installed HDRP version. Reimport the matching Ultimate Character Controller support assets and validate the exact Unity, HDRP, and Ultimate Character Controller combination before upgrading production. |
| The view has duplicate first-person shadows. | One or more first-person Renderers still cast shadows. | Set Cast Shadows to Off on every Renderer under the first-person object hierarchy. |
| The third-person body is visible in first person or stops casting the intended shadow. | Invisible Material is absent, belongs to another render pipeline, or was not applied to a first-person-only body’s hidden Renderers. | Assign InvisibleShadowCasterHDRP through Perspective Monitor, or apply it to the required hidden third-person Renderer materials. |
| Object Fader changes no alpha. | Its color or surface-mode property names do not exist on the HDRP shader, or the material is not configured for transparency. | Match the fields to the actual shader and confirm one material can fade before broadening the setup. |
| Surface effects use the fallback type on textured objects. | Main Texture Property Name may still be _BaseMap while the HDRP material uses _BaseColorMap or a custom name. |
Enter the material’s real base texture property on Surface Manager and repeat the representative impact. |
| An Ultimate Character Controller decal does not spawn or fade. | The assigned prefab may use an HDRP Decal Projector instead of the required mesh and Renderer, or its material may not support HDRP transparency. | Use a mesh decal prefab with MeshFilter, Renderer, and a compatible material; then test the Decal Manager limit and weathering path. |
| The overlay renders twice or produces unexpected ordering. | More than one active Overlay Pass may exist in additive scenes, or another Custom Pass may share the same stage. | Keep one Ultimate Character Controller Overlay Pass in the loaded scene set and review the priorities and injection points of other HDRP Custom Pass Volumes. |
Related tasks
- Quick Setup
- First Person View Types
- Post Processing
- Object Fader
- Surface System
- Surface Manager
- Layer Manager
- Integrations
Developer and compatibility notes
The released Setup Manager detects HDRP by looking for UnityEngine.Rendering.HighDefinition.CustomPassVolume. It maintains the ULTIMATE_CHARACTER_CONTROLLER_HDRP compile symbol for the active build target and imports the bundled HDRP.unitypackage; it does not install HDRP, select an HDRP Asset, run Unity’s material converter, or validate a semantic HDRP version range.
The bundled Overlay Pass is a Global CustomPassVolume with a Draw Renderers pass filtered to Ultimate Character Controller’s Overlay layer. It targets the camera color and depth buffers, clears depth for the overlay draw, and requests the material’s Forward pass. Custom first-person shaders must therefore be compatible with the installed HDRP Custom Pass path as well as render normally in HDRP.
In Render Pipeline mode, the first-person View Type includes its First Person Culling Mask in the main camera only while first person is active. Switching away removes that mask. This is why the HDRP route can render the scene and first-person overlay through one camera, and why missing layer or material support appears as invisible arms rather than as a missing child camera.
Unity 2022.2 and 2022.3 pair with SRP 14.x. The audited Ultimate Character Controller support shaders were generated for SRP 14.0.8, but the Setup Manager has no version gate and the inspected project does not prove every later HDRP generation. Record the Unity, HDRP, and Ultimate Character Controller versions that pass this page’s Play Mode and build checks, and repeat them after changing any member of that set.