Convert Built-In Materials to URP in Unity 6
Unity 6's Render Pipeline Converter upgrades supported Built-In Render Pipeline assets for URP. The conversion changes project assets in place and cannot be undone through the converter, so create a recoverable backup or version-control commit before running it.
Assign URP first, initialize the converters, inspect the asset list, and keep a rollback point.
- Back up or commit the project and confirm its URP Asset is active.
- Open Window > Rendering > Render Pipeline Converter.
- Initialize, review, and convert only the required assets before validating every scene.
Do not convert a VRChat project to URP. VRChat's official setup documentation says not to use URP or HDRP. If an imported package contains URP materials, replace those materials with Built-in Render Pipeline shaders instead.
Confirm URP Is Active
Before converting materials:
- Install the Universal RP package.
- Create a URP Asset with a Universal Renderer.
- Assign it under Edit > Project Settings > Graphics > Scriptable Render Pipeline Settings.
- Check Project Settings > Quality for pipeline-asset overrides.
- Resolve Unity compilation errors.
- Capture reference images of representative materials and scenes.
Converting materials before the pipeline is configured makes it harder to distinguish a conversion problem from an incomplete URP setup.
Choose Selected Materials or a Project Conversion
| Scope | Workflow |
|---|---|
| A small set of magenta materials | Select the materials, then use Edit > Rendering > Materials > Convert Selected Materials to URP |
| A complete Built-In project migration | Use Window > Rendering > Render Pipeline Converter |
| A material using a custom shader | Find a maintained URP version, rebuild it, or rewrite the custom shader |
| A VRChat project | Do not use URP; replace the imported URP materials with Built-in-compatible shaders |
The selected-material command is useful for isolated assets. Use the converter window when pipeline settings, many materials, animation clips, or Post Processing Stack v2 content also need migration.
Understand the Built-In-to-URP Converters
| Converter | What Unity converts |
|---|---|
| Rendering Settings | Creates a URP Asset and Universal Renderer, then maps supported Built-In rendering settings |
| Material Upgrade | Converts supported Unity prebuilt materials; custom-shader materials are not supported |
| Read-only Material Converter | Converts prebuilt read-only materials outside the project's Assets folder, such as Unity default materials |
| Animation Clip Converter | Updates animation clips that affect material or Post Processing Stack v2 properties after Material Upgrade |
| Post-Processing Stack v2 Converter | Converts supported v2 volumes, profiles, and layers to URP Volumes, profiles, and cameras |
The Animation Clip Converter appears only when the project contains relevant animations. The Post-Processing Stack v2 Converter appears only when that package is installed. Converters that audit the project can take significant time while creating their temporary index.
Run the Render Pipeline Converter
- Select Window > Rendering > Render Pipeline Converter.
- Select Built-In Render Pipeline to URP.
- Enable only the converters the project needs.
- Select Initialize Converters.
- Open each converter and review its proposed asset list.
- Include or exclude individual items where appropriate.
- Investigate every yellow pre-conversion warning.
- Select Convert Assets.
- Wait for the conversion to finish.
- Open each converter again and inspect its processed items.
The finished status uses:
| Status | Meaning |
|---|---|
| Green check | Conversion completed without a reported issue |
| Yellow icon | Conversion completed with a warning that may require action |
| Red icon | Conversion failed |
A green status confirms that the converter ran; it does not confirm that the material matches the original appearance.
Identify Unsupported Custom Shaders
Unity's Material Upgrade converter does not support materials that use custom shaders. After switching pipelines, incompatible shader materials typically render magenta.
For each custom shader:
- Check whether its publisher provides a Unity 6 URP version.
- Test a standard URP Lit or Unlit replacement when the effect is simple.
- Recreate suitable effects in Shader Graph.
- Manually upgrade custom HLSL when the shader's unique behavior must be preserved.
- Check scripts and animation clips that reference shader property names.
Do not repeatedly rerun the material converter against unsupported custom shader code.
Validate Converted Materials
Check the material in the actual scene, not only in the Inspector preview:
| Material area | Check |
|---|---|
| Shader | URP-compatible shader assigned and compiling |
| Base map and color | Texture, tint, tiling, and offset |
| Surface options | Opaque or Transparent, blend mode, culling, depth, alpha clipping |
| Metallic and smoothness | Values and packed texture channels |
| Normal map | Texture type, strength, and visible surface response |
| Emission | Texture, color, intensity, and post-processing dependency |
| Render queue | Correct ordering against opaque and transparent geometry |
| Prefabs and scenes | References still point to the intended converted material |
| Animation | Material-property bindings still animate the correct values |
Compare reference screenshots under the same lighting and camera exposure. A converted material can be technically valid while still producing a different result.
Validate Post-Processing and Cameras
If the project used Post Processing Stack v2:
- Inspect converted URP Volume profiles and overrides.
- Confirm the intended camera has post-processing enabled.
- Check Volume layers and trigger configuration.
- Compare exposure, color grading, Bloom, depth effects, and anti-aliasing.
- Remove obsolete components only after the URP replacements are verified.
Post-processing differences can make correctly converted materials appear too bright, dull, dark, or saturated.
Validate Every Target Platform
Create representative builds for every supported target. Check:
- shader compilation and stripped variants
- texture formats and compression
- transparency and sorting
- lighting and shadows
- memory and GPU time
- fallback behavior on lower-capability hardware
Editor appearance does not validate a target graphics API, shader compiler, memory budget, or mobile GPU.
Roll Back a Failed Migration
The converter does not provide a reverse conversion. If the migration is not acceptable:
- close Unity
- restore the pre-conversion version-control commit or project backup
- reopen the restored copy
- change the conversion scope or prepare unsupported assets before trying again
Do not try to reconstruct a large Built-In project by manually undoing hundreds of converted assets.
Troubleshooting
Help! A material is still magenta after conversion.
Check the assigned shader and the first shader compiler error. The Material Upgrade converter does not support custom-shader materials, so replace, rebuild, or manually upgrade that shader.
Help! The converter shows a yellow warning.
Open the converter's item list and hover over the warning icon for its description. Resolve required user actions before converting, then inspect the same item again after conversion.
Help! A converted material lost textures or looks too shiny.
Compare its Base Map, packed metallic and smoothness channels, normal map, emission, tint, tiling, and offset with the original reference. Repair property mappings on the converted material.
Help! Transparent materials render in the wrong order.
Check Surface Type, Blend Mode, Alpha Clipping, Depth Write, Render Face, sorting priority, and render queue. Test overlapping transparent surfaces from representative camera angles.
Help! An animated material no longer changes correctly.
Run or inspect the Animation Clip Converter, then check whether the converted shader uses different property names. Update animation bindings and scripts that still target old material properties.
Help! The Editor looks correct but the platform build does not.
Inspect build shader warnings, graphics API, quality-level URP Asset, texture compression, stripped variants, and platform shader support. Validate the material in a target build.
Official References
- Unity 6 Manual: Convert Assets Using the Render Pipeline Converter
- Unity 6 Manual: Convert Shaders to URP with the Render Pipeline Converter
- Unity 6 Manual: Upgrade Custom Shaders for URP Compatibility
- Unity 6 Manual: Set Up and Verify URP
- VRChat Creation: Getting Started