Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
4681a8e
Shader Graph Heatmap color mode details in docs
sebastienduverne Sep 10, 2025
bee50dd
Local volumetric fog and decal projector icons in the Inspector windo…
belgaard Sep 10, 2025
58f102a
[Render Pipeline Converter] Remove Needs indexing property, PPV2 conv…
alex-vazquez-unity3d Sep 10, 2025
caf2f55
[VFX] Fix SG Output Undo/Redo & Dirty
PaulDemeulenaere Sep 10, 2025
d66ac64
HDRP - Color checker - Fix color fields row wrap mode.
alex-vazquez-unity3d Sep 10, 2025
d52b3a3
[VFX] VFXRAND in custom hlsl was not working
julienamsellem Sep 10, 2025
2c09b6e
remove support for "material override" in terrain shadergraph urp
jonbro Sep 10, 2025
7512660
UUM-117227: Fixed rounding issue causing noisy text when a custom sha…
alexandret-unity Sep 10, 2025
df1b400
Shader Graph Terrain Templates
bencloward Sep 11, 2025
357f4b0
Replace the old Input manager by the new Input System
SebastienLa Sep 11, 2025
b994e83
Change APV WebGL warning to be non-WebGPU
brendan-duncan Sep 11, 2025
ed75f84
Added 2D SpriteSkin outline dependency registration
smnwttbr Sep 12, 2025
d9aab44
Make Surface Cache work in a player
laylaarab Sep 12, 2025
9678d1e
Use strict RWTexture formats for APV compute shaders
brendan-duncan Sep 12, 2025
af790de
[Render Pipeline Converter]Base shader converter to be used across SRPs
alex-vazquez-unity3d Sep 12, 2025
400d3d1
[content automatically redacted] touching PlatformDependent folder
Adrian1066 Sep 12, 2025
4c890c0
[XR] SRP On-Tile Post Processing Feature
thomas-zeng Sep 13, 2025
82eb8a9
Disable unstable tests
AngelaDematte Sep 13, 2025
44eabd3
[WBTR] Terrain Properties ShaderGraph Node
not-wyatt Sep 14, 2025
5459ced
[VFX] Test if data is compatible when propagating
gabrieldelacruz Sep 14, 2025
8a98aca
[2d] Fix (Case UUM-116057) Fix Assertion error when validating packed…
venkify Sep 15, 2025
f1ff25d
Fix URP compilation when PPv2 package is installed
arttu-peltonen Sep 15, 2025
4ab7495
UUM-117483: Renderpipeline Core Package has an undeclared dependency …
belgaard Sep 16, 2025
e4719a0
Remove icon from obsolete CinemachineUniversalPixelPerfect.cs.meta to…
glabute Sep 16, 2025
615ee47
URP Code Cleanup - removing unused AfterPostProcessColor
UnityAljosha Sep 16, 2025
d1733f8
Add extra log at creation and dispose of GPUResidentDrawer.
olivierprat Sep 16, 2025
fbd58ba
Graphics/SRP/HDRP - [UUM-117667] - Fwd port of an async compute fix, …
axoloto Sep 17, 2025
87297a7
Fixed keyword support for UI Toolkit custom shaders
alexandret-unity Sep 17, 2025
3503545
Fix blitter error when passing a default texture (Black texture)
YohannVaastUnity Sep 17, 2025
1bbeb05
Fix an error (pass breaks) with Volumetric Clouds Combine
YohannVaastUnity Sep 17, 2025
3a5ebda
Split URP postprocess passes into modular classes.
eh-unity Sep 17, 2025
75ba23b
Pathtracing package migration to U6: Backport terrain and LODs
YvainRaeymaekers Sep 17, 2025
28cc7b6
[UUM-113564] [TextArea] Attribute rendered incorrectly
unity-chris Sep 17, 2025
e09c227
Remove the assumption that all or none fog keywords are declared
ApoorvaJ Sep 18, 2025
071499e
[VFX] Prevent multiple outputs in a same graph to have the same shade…
ludovic-theobald Sep 18, 2025
8d65e19
Only enable the reflection probe atlas keyword if using Forward+
ApoorvaJ Sep 18, 2025
5160e64
[UUM-113119] Fixed specular highlight appearing on terrain grass
YvainRaeymaekers Sep 18, 2025
e08377d
[content automatically redacted] touching PlatformDependent folder
Sep 19, 2025
2714284
Clamp number of lens flare elements
ApoorvaJ Sep 19, 2025
ac5570a
terrain shadergraph documentation
jonbro Sep 19, 2025
0658271
[Render Pipeline Converter] Using Attributes to define converters loc…
alex-vazquez-unity3d Sep 19, 2025
d710225
[URP] Fixed SSAO precision issue on Mobile devices
jrs-unity Sep 19, 2025
ca3d5cb
Move SurfaceCacheCore to Core Package
urasmus Sep 19, 2025
773f49d
In HDRP LayeredLit's "Opacity as density" option, treat alpha as a bo…
ApoorvaJ Sep 19, 2025
71b37d8
Restrict UV support in UITK MasterNode in ShaderGraph.
ncerone-unity Sep 19, 2025
1d31742
[UUM-110857] Enable Test - ManuallyConnectRenderGraphViewer
LagueKristin Sep 20, 2025
a85ddd7
Force fixed exposure in the editor while scene view filtering
Impossible Sep 21, 2025
7db3dfd
Land Graphics Test Framework Development Branch
Sep 22, 2025
001846e
Fix asserts in Rendering Debugger > Volumes tab
Sep 22, 2025
1e74702
Make MaterialPool an independent library (decoupled from World.cs)
urasmus Sep 22, 2025
3952721
Render Pipeline Converter - Move the tool to exist in the internal sh…
alex-vazquez-unity3d Sep 22, 2025
0a5b1bb
Fix Android glitch by using a different overload for SetRenderTarget
YohannVaastUnity Sep 23, 2025
3c480ef
[URP] Fix Screen Space Shadows depth precision issue
N7RX Sep 23, 2025
368569c
Fix documentation link for Rendering Debugger > Render Graph in HDRP
arttu-peltonen Sep 23, 2025
e22926e
Compute Shader Render Feature Output Texture
lquinonesunity Sep 23, 2025
639be0e
URP fix missing intermediate texture
UnityAljosha Sep 23, 2025
71e0d5c
Fix incorrect render target type in terrain shader
Sep 23, 2025
0240c6b
Fix shadergraph URP terrain subtarget when "material override" is che…
jonbro Sep 24, 2025
1fd8778
DOCG-7824 Update Core SRP render graph docs
markg-unity Sep 24, 2025
cc43e2a
Decouple Surface Cache from Path Tracing Core World
urasmus Sep 24, 2025
836f47f
UUM-115952: Fixed error in `LensFlareData` Editor
jrs-unity Sep 24, 2025
1a91008
Fix RG Viewer UI refresh slowdown
arttu-peltonen Sep 24, 2025
c5001e1
Don't compile light baker shaders for switch
KEngelstoft Sep 24, 2025
136bcca
Fixed cloud shadow popping when no directional shadows are rendered
Nzollner Sep 24, 2025
2e28372
GFXLIGHT-1694: Be able to use UnityCompute for Baking APV
pigselated Sep 24, 2025
390cc7f
[UUM-119296][6000.4] Fix memory regression from Light2D shader
kennytann Sep 24, 2025
c21d7d1
Disable unstable VFX tests
AngelaDematte Sep 24, 2025
3faf94d
Don't do packing as part of input extraction for APV
pema99 Sep 25, 2025
1031897
Improve Element Texture Size node.
ncerone-unity Sep 25, 2025
54c3fb0
Fixed On-Tile PP issues within the editor
thomas-zeng Sep 25, 2025
524bb12
Fix PPv2Converter compilation again
arttu-peltonen Sep 25, 2025
25011b3
Silence Surface Cache shader compilation warnings when switching to t…
urasmus Sep 25, 2025
bfc2306
DOCG-7379 Update shadows section of HDRP
fatimah-f Sep 25, 2025
4d4dd9c
UI Toolkit Zero Opacity Optimization
alexandret-unity Sep 25, 2025
9830249
[Bugfix][URP] Fixed missing shader variant for OnOffscreenDepthTextur…
Sep 26, 2025
ece4c4f
[SRP] Renderer Shader User Value Sample
remi-chapelain Sep 26, 2025
e972a77
[Metal] Disable foveated rendering in shaders on macOS and iOS
joao-maia-u3d Sep 26, 2025
8d0dd20
Volume profile context action fixes
Sep 26, 2025
f3b8326
URP Fix Texture Mode Force Prepass when depth copy is turned off on c…
UnityAljosha Sep 26, 2025
dde8a82
Deprecate com.unity.xr.interactionsubsystems package
vrdave-unity Sep 26, 2025
3517d76
Tech Debt - URP TextureHandle creation uses TextureDesc
UnityAljosha Sep 26, 2025
60ebed6
[UUM-99152] Fix for Depth Priming not enabled in reflection probes
YvainRaeymaekers Sep 27, 2025
2e5920a
[VFX] HLSL compilation issue with comments
julienamsellem Sep 27, 2025
c2a2b3c
URP Fix ZWrite in Forward Pass
UnityAljosha Sep 27, 2025
6f98554
[Doc] Update GRD Rendering Debugger manual.
olivierprat Sep 27, 2025
b7a9b2f
[HDRP] Fixing script link in Water sample Cave scene
remi-chapelain Sep 27, 2025
7f435c4
[ShaderGraph] Fix blackboard auto scroll behavior when adding a new item
Sep 27, 2025
621051c
Removed extraneous shaders from UI Toolkit
alexandret-unity Sep 28, 2025
16aaaee
Graphics/SRP/RPF - [UUM-119778] Async compute fixes in Native Render …
axoloto Sep 29, 2025
452a540
[VFX] Some template editor improvements
julienamsellem Sep 29, 2025
4908f7e
Shader Graph : Fixed UUM-120015
FredMoreau Sep 30, 2025
fe114d0
Move the CompositionMode.BeforeColorPyramidAfterClouds to happen afte…
ApoorvaJ Sep 30, 2025
a9ab649
Remove GPUResidentDrawerResources.asset, no longer used as of PR 37657
svens-unity Sep 30, 2025
9e9c9bf
Graphics/SRP/RPF - [UUM-102113] Fixed Render Graph pass merging with VRS
axoloto Sep 30, 2025
64faf1f
[content automatically redacted] touching PlatformDependent folder
Adrian1066 Sep 30, 2025
4386ae7
DOCG-7425 Add HDRP render graph docs
markg-unity Sep 30, 2025
f084a93
Fix HDRP performance tests
Adrian1066 Sep 30, 2025
1f82f6d
[UUM-119276] Fixed sky contribution missing in fog when sky occlusion…
YvainRaeymaekers Sep 30, 2025
0d172bd
docg-7282: Add Matrix Data types
ocarrere Sep 30, 2025
24cee1c
Fix unselectable None option in Rendering Debugger > Volume > Camera
arttu-peltonen Sep 30, 2025
6ec487b
[VFX] Fixed wrong colors used in light theme
julienamsellem Sep 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,22 @@
* [Create a simple render loop in a custom render pipeline](srp-creating-simple-render-loop.md)
* [Execute rendering commands in a custom render pipeline](srp-using-scriptable-render-context.md)
* [Scriptable Render Pipeline callbacks reference](srp-callbacks-reference.md)
* [Creating a custom render pipeline using the render graph system](render-graph-system-landing.md)
* [Render graph system](render-graph-system.md)
* [Write a render pipeline with render graph](render-graph-writing-a-render-pipeline.md)
* [Write a render pass using the render graph system](render-graph-write-render-pass.md)
* [Resources in the render graph system](render-graph-resources-landing.md)
* [Introduction to resources in the render graph system](render-graph-resources.md)
* [Blit using the render graph system](render-graph-blit.md)
* [Create a texture in the render graph system](render-graph-create-a-texture.md)
* [Import a texture into the render graph system](render-graph-import-a-texture.md)
* [Access a texture in a render pass](render-graph-read-write-texture.md)
* [Use the CommandBuffer interface in a render graph](render-graph-unsafe-pass.md)
* Camera components
* [Free Camera](Free-Camera.md)
* [Camera Switcher](Camera-Switcher.md)
* [Render Requests](User-Render-Requests.md)
* [Render from another camera inside a camera's rendering loop](in-loop-render-requests.md)
* [Render Graph](render-graph-system.md)
* [Benefits of the render graph system](render-graph-benefits.md)
* [Render graph fundamentals](render-graph-fundamentals.md)
* [Writing a Render Pipeline](render-graph-writing-a-render-pipeline.md)
* [RTHandle system](rthandle-system.md)
* [RTHandle fundamentals](rthandle-system-fundamentals.md)
* [Using the RTHandle system](rthandle-system-using.md)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Blit using the render graph system in SRP Core

To blit from one texture to another in the render graph system, use the [`AddBlitPass`](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.3/api/UnityEngine.Rendering.RenderGraphModule.Util.RenderGraphUtils.html#UnityEngine_Rendering_RenderGraphModule_Util_RenderGraphUtils_AddBlitPass_UnityEngine_Rendering_RenderGraphModule_RenderGraph_UnityEngine_Rendering_RenderGraphModule_Util_RenderGraphUtils_BlitMaterialParameters_System_String_System_Boolean_) API. The API generates a render pass automatically, so you don't need to use a method like `AddRasterRenderPass`.

Follow these steps:

1. To create a shader and material that works with a blit render pass, from the main menu select **Assets** > **Create** > **Shader** > **SRP Blit Shader**, then create a material from it.

1. Add `using UnityEngine.Rendering.RenderGraphModule.Util` to your render pass script.

1. In your render pass, create a field for the blit material. For example:

```lang-cs
public class MyBlitPass : ScriptableRenderPass
{
Material blitMaterial;
}
```

1. Set up the texture to blit from and blit to. For example:

```lang-cs
TextureHandle sourceTexture = renderGraph.CreateTexture(sourceTextureProperties);
TextureHandle destinationTexture = renderGraph.CreateTexture(destinationTextureProperties);
```

1. To set up the material, textures, and shader pass for the blit operation, create a [`RenderGraphUtils.BlitMaterialParameters`](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.3/api/UnityEngine.Rendering.RenderGraphModule.Util.RenderGraphUtils.BlitMaterialParameters.html) object. For example:

```lang-cs
// Create a BlitMaterialParameters object with the blit material, source texture, destination texture, and shader pass to use.
var blitParams = new RenderGraphUtils.BlitMaterialParameters(sourceTexture, destinationTexture, blitMaterial, 0);
```

1. To add a blit pass, call the [`AddBlitPass`](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.3/api/UnityEngine.Rendering.RenderGraphModule.Util.RenderGraphUtils.html#UnityEngine_Rendering_RenderGraphModule_Util_RenderGraphUtils_AddBlitPass_UnityEngine_Rendering_RenderGraphModule_RenderGraph_UnityEngine_Rendering_RenderGraphModule_Util_RenderGraphUtils_BlitMaterialParameters_System_String_System_Boolean_) method with the blit parameters. For example:

```lang-cs
renderGraph.AddBlitPass(blitParams, "Pass created with AddBlitPass");
```

If you use `AddBlitPass` with a default material, Unity might use the `AddCopyPass` API instead, to optimize the render pass so it accesses the framebuffer from the on-chip memory of the GPU instead of video memory. This process is sometimes called framebuffer fetch. For more information, refer to [`AddCopyPass`](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.3/api/UnityEngine.Rendering.RenderGraphModule.Util.RenderGraphUtils.html#UnityEngine_Rendering_RenderGraphModule_Util_RenderGraphUtils_AddCopyPass_UnityEngine_Rendering_RenderGraphModule_RenderGraph_UnityEngine_Rendering_RenderGraphModule_TextureHandle_UnityEngine_Rendering_RenderGraphModule_TextureHandle_System_String_System_Boolean_) API.

## Customize the render pass

To customize the render pass that the methods generate, for example to change settings or add more resources, call the APIs with the `returnBuilder` parameter set to `true`. The APIs then return the `IBaseRenderGraphBuilder` object that you usually receive as `var builder` from a method like `AddRasterRenderPass`.

For example:

```lang-cs
using (var builder = renderGraph.AddBlitPass(blitParams, "Pass created with AddBlitPass", returnBuilder: true))
{
// Use the builder variable to customize the render pass here.
}
```

## Additional resources

- [The RTHandle System](rthandle-system.md)
- [Shaders](shaders.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Create a texture in the render graph system in SRP Core

To create a texture in the render graph system, use the `CreateTexture` method of the render graph instance.

When you create a texture inside a render pass, the render graph system handles the creation and disposal of the texture. This process means the texture might not exist in the next frame, and other cameras might not be able to use it. To make sure a texture is available across frames and cameras, [import a texture](render-graph-import-a-texture.md) instead.

When the render graph system optimizes the render pipeline, it might not create a texture if the final frame doesn't use the texture, to reduce the memory and bandwidth the render passes use.

## Create a texture

To create a texture, in follow these steps:

1. Create a [`TextureDesc`](xref:UnityEngine.Rendering.RenderGraphModule.TextureDesc) object with the texture properties you need.

2. Use the [`CreateTexture`](xref:UnityEngine.Rendering.RenderGraphModule.RenderGraph.CreateTexture(UnityEngine.Rendering.RenderGraphModule.TextureDesc@)) method of the render graph instance to create a texture and return a texture handle.

For example, the following creates a texture the same size as the screen.

``` lang-cs
void RenderCamera(ScriptableRenderContext context, Camera cameraToRender)
{
...

var textureProperties = new TextureDesc(Vector2.one)
{
colorFormat = GraphicsFormat.R8G8B8A8_UNorm,
width = cameraToRender.pixelWidth,
height = cameraToRender.pixelHeight,
clearBuffer = true,
clearColor = Color.blue,
name = "New render graph Texture",
};

TextureHandle tempTexture = renderGraph.CreateTexture(textureProperties);

...
}
```

You can then [use the texture](render-graph-read-write-texture.md) in the same custom render pass.

The render graph system manages the lifetime of textures you create with `CreateTexture`, so you don't need to manually release the memory they use when you're finished with them.

## Additional resources

- [Import a texture into the render graph system](render-graph-import-a-texture.md)
- [Textures](https://docs.unity3d.com/Manual/Textures.html)

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Import a texture into the render graph system in SRP Core

To use a texture from outside the render graph system, or to make sure a texture is available across frames and cameras, import it into the render graph system using the `ImportTexture` API.

For example, you can import the back buffer, or create a texture that points to a texture in your project, such as a [texture asset](https://docs.unity3d.com/Manual/ImportingTextures.html).

The render graph system doesn't manage the lifetime of imported textures, so it can't optimize the render graph by removing unneeded render passes. Where possible, [Create a texture inside the render graph system](render-graph-create-a-texture) instead, so the render graph system manages its lifetime.

## Import a texture

To import a texture, follow these steps:

1. Create a [RenderTextureDescriptor](https://docs.unity3d.com/ScriptReference/RenderTextureDescriptor.html) object with the texture properties you need.

For example:

``` lang-cs
RenderTextureDescriptor textureProperties = new RenderTextureDescriptor(Screen.width, Screen.height, RenderTextureFormat.Default, 0);
```

2. Use the `RenderTextureDescriptor` to instantiate a new render texture. For example:

```lang-cs
RenderTexture renderTexture = new RenderTexture(textureProperties);
```

3. Create a handle to the render texture. For example:

``` lang-cs
RTHandle renderTextureHandle = RTHandles.Alloc(renderTexture);
```

4. Import the texture, to convert the `RTHandle` object to a `TextureHandle` object the render graph system can use.

For example:

``` lang-cs
TextureHandle texture = renderGraph.ImportTexture(renderTextureHandle);
```

You can then use the `TextureHandle` object to [read from or write to the render texture](render-graph-read-write-texture.md).

<a name="dispose-of-a-render-texture"></a>
### Dispose of the render texture

You must free the memory a render texture uses at the end of a render pass.

For example, you can create the following `Dispose` method:

``` lang-cs
public void Dispose()
{
renderTexture.Release();
}
```

## Additional resources

* [Textures](https://docs.unity3d.com/Manual/Textures.html)
* [The RTHandle system](rthandle-system.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Use a texture in a render pass in SRP Core

You can use the render graph system API to set a texture as an input or output for a custom render pass, so you can read from or write to it.

## Set a texture as an input

To set a texture as an input for a custom render pass, follow these steps:

1. In your pass data, add a texture handle field to the data your pass uses.

For example:

``` lang-cs
// Create the data your pass uses
public class MyPassData
{
// Add a texture handle
public TextureHandle textureToUse;
}
```

2. Set the texture handle to the texture you want to use. For more information, refer to [Create a texture in the render graph system](render-graph-create-a-texture.md) or [Import a texture into the render graph system](render-graph-import-a-texture.md).

3. Call the [`UseTexture`](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.0/api/UnityEngine.Rendering.RenderGraphModule.IBaseRenderGraphBuilder.html#UnityEngine_Rendering_RenderGraphModule_IBaseRenderGraphBuilder_UseTexture_UnityEngine_Rendering_RenderGraphModule_TextureHandle__UnityEngine_Rendering_RenderGraphModule_AccessFlags_) method to set the texture as an input.

For example:

``` lang-cs
builder.UseTexture(passData.textureToUse, AccessFlags.Read);
```

In your `SetRenderFunc` method, you can now use the `TextureHandle` object in the pass data as an input for APIs.

## Set a texture as the render target

To set a texture as the output for APIs, use the [`SetRenderAttachment`](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.0/api/UnityEngine.Rendering.RenderGraphModule.IRasterRenderGraphBuilder.html#UnityEngine_Rendering_RenderGraphModule_IRasterRenderGraphBuilder_SetRenderAttachment_UnityEngine_Rendering_RenderGraphModule_TextureHandle_System_Int32_UnityEngine_Rendering_RenderGraphModule_AccessFlags_) method. The `SetRenderAttachment` method sets the texture as write-only by default.

For example:

```lang-cs
builder.SetRenderAttachment(textureHandle, 0);
```

You don't need to add the texture to your pass data. The render graph system sets up the texture for you automatically before it executes the render pass.

You can't use `UseTexture` and `SetRenderAttachment` on the same texture in a `AddRasterRenderPass` render pass. Refer to [Change the render target during a render pass](#change-the-render-target-during-a-pass) for more information.

<a name="change-the-render-target-during-a-pass"></a>
## Change the render target during a render pass

You can't change which texture Unity writes to during a render graph system render pass.

You can do either of the following instead:

- Create a second custom render pass, and use `builder.SetRenderAttachment` during the second render pass to change the render target.
- Use the `UnsafePass` API so you can use the `SetRenderTarget` API in the `SetRenderFunc` method. For more information, refer to [Use the CommandBuffer interface in a render graph](render-graph-unsafe-pass.md).

You can use these methods to read from and write to the same texture, by first copying from the texture to a temporary texture you create, then copying back.

If you blit between several textures with different properties, rendering might be slow because Unity can't merge the blits into a single native render pass. Use the `AddUnsafePass` API and the `SetRenderTarget()` method instead.
Loading