URP Setup
Genesis requires an active Universal Render Pipeline configuration. If you created your project with the 3D (URP) template, most of this is already done — you only need to verify a few settings and (optionally) install the renderer features that ship as modules. If you are migrating from Built-in, work through every step.
Requirements
- Unity Version — 2021.3 LTS or newer.
- URP Version — 12.0+ (installed via Package Manager).
- Color Space — Linear.
- Graphics API — DX11/12, Metal, Vulkan, or GLES3.
Gamma color space will produce washed-out cel bands and incorrect rim falloff. Linear is non-negotiable for Genesis.
Steps
1. Install URP via Package Manager
Open Window > Package Manager, switch the scope to Unity Registry, search for “Universal RP”, and install version 12.0 or higher.
2. Create URP assets
In the Project window, right-click and choose Create > Rendering > URP Asset (with Universal Renderer). This produces two assets: a pipeline asset and a renderer asset. Name them URP-Genesis and URP-Genesis-Renderer.
3. Assign the pipeline asset
Open Edit > Project Settings > Graphics, then drag URP-Genesis into the Scriptable Render Pipeline Settings slot. Also assign it under Project Settings > Quality for every quality tier you ship.
4. Switch color space to Linear
Go to Project Settings > Player > Other Settings > Color Space and set it to Linear. Unity will reimport textures — this can take a minute.
If you see banding or harsh shadow edges after switching, that is the
expected linear-space look. The fix is to dial down _CelSmoothness or
adjust your ramp texture, not to revert to Gamma.
5. (Optional) Install Genesis renderer features
Open Tools > Genesis > Renderer Feature Installer. Tick the modules you want — PCSS Shadow, Stylized Fog, Cavity — and click Install. The tool adds the features to your renderer asset.
Verifying
Open the Scene view. The skybox should render. Drop a cube with a default URP/Lit material — it should look lit and unflattened. Open Frame Debugger (Window > Analysis > Frame Debugger) and confirm the pipeline reads UniversalRenderPipeline.