00. Quick Start: Study “by yourself” with URP/RenderGraph
To avoid just “reading the book,” this document provides minimal routines that can be seen in practice in a Unity 6.3 (6000.3) + URP + RenderGraph environment.
Goals: (1) Visually view the pipeline with RenderGraph Viewer, (2) Add a Fullscreen Pass/Renderer Feature, and (3) Open the URP shader library directly and follow along.
0.1 Version/Settings Check Checklist
- Check Unity version: Unity 6.3 is usually written as
6000.3.*. (e.g. 6000.3.6f1) - Verify URP installation: Install Universal RP from Package Manager
- Specify URP Asset: Project Settings > Graphics > Scriptable Render Pipeline Settings
- Check RenderGraph usage: Make sure Compatibility Mode (Render Graph Disabled) is turned off in Project Settings > Graphics (or URP-related settings)
- Compatibility Mode is helpful for learning purposes, but the Unity documentation also recommends the RenderGraph route.
0.2 Open Render Graph Viewer (required)
The quickest way to study RenderGraph is to see what passes URP actually made.
- Menu: Window > Analysis > Render Graph Viewer
What to check in the Viewer:
- When are color/depth/normal textures created?
- When passes such as Copy Color are used
- Where my custom path is located on the graph
0.3 Getting a sense of URP’s Frame Data (UniversalResourceData)
In the RenderGraph path, textures like “Camera Color/Depth/GBuffers” are imported from ContextContainer.
public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameContext)
{
var resources = frameContext.Get<UniversalResourceData>();
TextureHandle color = resources.activeColorTexture;
}
Key:
TextureHandleis “valid only in this frame/this graph.”- Which textures exist depends on the Injection Point and URP settings.
0.4 Easiest Exercise 1: Full Screen Pass Renderer Feature
URP provides “off-the-shelf Renderer Feature (Full Screen Pass)” for full screen effects.
Practice sequence:
- Prepare a simple full-screen shader (e.g. color inversion/grayscale)
- Add Full Screen Pass Renderer Feature to Renderer
- Check the path location in RenderGraph Viewer by changing the injection point.
- Change Requirements (Depth/Normal/Color/Motion) to see what texture is created.
Just through this process, you can get a sense of “what textures are created, when, and where they are consumed.”
0.5 Easiest exercise 2: Template-based custom post (Volume supported)
URP has Volume-enabled custom post templates.
- Menu: Assets > Create > Rendering > URP Post-processing Effect (Renderer Feature with Volume)
This template:
- Both the RenderGraph path and the Compatibility Mode path are included, so it is good for comparison.
- Shows at once the structure of passing Volume parameters to the shader.
0.6 Follow URP HLSL source (recommended routine)
It is important to have the habit of “checking with the source” what you “understand from the document.”
- Open package source:
Packages/com.unity.render-pipelines.universal - Follow the include in the base shader (e.g. Lit)
- Jump to the definition of the function you are curious about (e.g.
TransformObjectToHClip,GetMainLight)
0.7 (Optional) Automatically generate and follow “accurate reference” (recommended)
If you are not used to “following by eye” the URP source, it is faster to secure an “accurate reference” first by automatically generating include/signature/xref.
- One click:
tools/generate-all.ps1 - Output:
book/generated/(Lit Pass/Include map + function/structure/macro index + xref)
Run (example):
powershell -ExecutionPolicy Bypass -File tools/generate-all.ps1 -UnityProjectRoot "<YOUR_UNITY_PROJECT_ROOT>"
Read next (inside the book)
- RenderGraph Core: 04. RenderGraph
- Texture/ID/Handle: 05. 텍스처/ID/핸들
- URP HLSL map: 08. URP HLSL 라이브러리 지도
Reference link (official)
- Analysis with RenderGraph Viewer: https://docs.unity3d.com/Manual/urp/render-graph-view.html
- Import Frame Data: https://docs.unity3d.com/kr/6000.3/Manual/urp/accessing-frame-data.html
- Full Screen Pass Renderer Feature: https://docs.unity3d.com/Manual/urp/renderer-features/renderer-feature-full-screen-pass.html
- Volume support custom post: https://docs.unity3d.com/Manual/urp/post-processing/custom-post-processing-with-volume.html