The upcoming Unity 6.3 brings a set of focused updates to the Render Graph system, continuing the direction we’ve shared previously - with a strong emphasis on defragmentation, performance, and long-term unification across pipelines.
It builds on improvements made in 6.2, where we refined the Render Graph subpass merging process to reduce overhead and avoid exceeding system limits. We also optimized internal workflows to use native pass data directly, reducing redundant lookups and improving performance.
These updates follow the path laid out in earlier releases, aiming to make the system cleaner, more consistent, and easier to extend.
Smarter Render Graph Helper Passes
We’ve expanded the Render Graph utility passes to support more use cases and provide greater flexibility:
- AddBlitPass now returns a builder, so you can further customize the pass.
- You can now blit directly to the backbuffer, enabling simpler full-screen effects.
- AddBlitPass and AddCopyPass are now used internally in FullscreenPassRendererFeature and CopyColorPass when applicable.
- Null validation ensures misconfigured blit passes fail early and clearly.
- WebGL2 and GLES3 fallbacks are handled correctly when required.
- Depth blit support (landed in Unity 6000.3.0a4) – will enable blitting depth data to both depth and color textures, with automatic MSAA resolve when needed.
These changes make working with fullscreen and copy passes more reliable and extensible - whether you’re writing your own or relying on integrated features.
We’ll be adding documentation and sample usage for these helper passes soon to make it even easier to adopt them in your own custom passes.
Compatibility Mode Now Hidden by Default
Compatibility Mode is now hidden behind the URP_COMPATIBILITY_MODE compiler define. This change brings clear benefits to all URP projects by default:
- Faster iteration - fewer paths to manage means quicker compilation and easier customization
- Smaller builds - URP runtime assemblies are now under 1MB, with ~8–10% size savings with this change
- Cleaner code structure - non-Render Graph paths are clearly separated
When opening a project in Unity 6.3 or newer, Render Graph is now enabled by default for all projects.
In Unity 6.0 to 6.2, Render Graph was already the default for new projects. However, upgraded projects - for example from 2022 LTS - continued using the older non-Render Graph code path. In Unity 6.x, this was known as Compatibility Mode and was controlled via a checkbox in the URP settings. With Unity 6.3, this changes: even upgraded projects now start with Render Graph enabled unless Compatibility Mode is explicitly turned back on.
Without the URP_COMPATIBILITY_MODE define, any effects that haven’t yet been upgraded (i.e. using ScriptableRenderPass.Execute without a RecordRenderGraph implementation) will not run and will display obsolete warning messages. However, these warnings don’t prevent the Editor from opening or running the project.
Note: In earlier Unity 6.3 alphas before 6000.3.0a3, these cases might trigger errors instead of warnings. This has been improved in newer versions to show only warnings.
For projects previously using the older code path - either from 2022 LTS or Compatibility Mode in 6.x - Unity now requires a choice before building. A build-time dialog appears the first time you build in 6.3, helping you decide whether to proceed with Render Graph (recommended) or switch back to Compatibility Mode. Until you make this choice, Unity blocks the build to avoid unintended errors.
If you choose “Keep Compatibility Mode” in the dialog:
- Unity automatically adds the
URP_COMPATIBILITY_MODEdefine to your Player Settings for your current build target. - Existing effects will continue working while you take time to upgrade them to Render Graph.
- Important: Compatibility Mode is intended only as a temporary solution for upgrading projects. It will be removed in a future release very soon. We strongly recommend migrating your custom effects and passes to Render Graph as soon as possible
- With the define, Compatibility Mode code remains accessible and can still be used as before.
- The property
RenderGraphSettings.enableCompatibilityModeis read-only and returns false unless you add theURP_COMPATIBILITY_MODEdefine in your Player Settings.
Most major Asset Store packages that are actively maintained have already upgraded to support Render Graph. If you’re using third-party effects, check if an updated version is available before falling back to Compatibility Mode.
Render Graph Viewer on Devices
You can now connect the Render Graph Viewer to player builds running on devices. This allows you to:
- Inspect Render Graph execution on real hardware, including mobile and XR platforms like Meta Quest.
- Analyze how Native Render Passes are merged at runtime and identify unnecessary load/store actions—insights not visible in the Editor.
- Track how the render graph adapts based on what’s currently on screen, which helps identify frame-specific or content-dependent performance issues.
- Use an auto-updating UI that reflects changes live as the graph evolves. You can pause updates at any time, and the viewer automatically pauses if the device disconnects.
This is especially valuable for optimizing bandwidth and performance on untethered XR devices like Meta Quest 3, where real-time visibility into GPU behavior is crucial.
Shared Render Graph Foundation Across URP and HDRP
Unity 6.3 marks the point where both URP and HDRP now use the same underlying Render Graph compiler and API.
This foundational change brings:
- A shared backend for all Scriptable Render Pipelines.
- The ability to focus improvements and testing on a single system.
- The groundwork for future extensibility unification, where developers can build custom Render Graph passes that work across pipelines.
- New opportunities for platform-specific optimizations, such as on-tile rendering on Tile-based deferred rendering (TBDR) devices in HDRP in the future.
While this doesn’t yet change the extensibility surface for HDRP users, it’s a key enabler for upcoming improvements across the board.
Why This Matters
These updates help make Render Graph:
- Easier to use – thanks to more capable helper passes
- Faster to iterate on – with Compatibility Mode hidden and trimmed
- Easier to validate – with device-side viewer support
- More future-ready – with a single foundation for all pipelines
Render Graph is now the stable core of Unity’s rendering tech - and we’re committed to continuing to improve its flexibility, performance, and reach.
If you have questions about these updates, or want to share feedback, feel free to post below in this thread - especially if it’s related to the changes we’ve just shared. Just a heads-up that responses might take a bit longer than usual due to the summer period.
For general discussions about Render-Graph, please make use of our Render-Graph tag. Contribute to existing topics with the tag or create additional topics for anything new.
For more in-depth learning and tips, check out How to Use RenderGraph in URP: Learning Resources and Tricks. It’s a great resource for diving deeper into practical usage and best practices.


