Get started with PSO tracing and warm up using the Universal Render Pipeline (URP) sample.
Important: GraphicsStateCollection is an experimental API and might be changed or removed in the future.
The Universal 3D sample uses the GraphicsStateCollection API. You can use this sample to help you get started with PSO tracing and warming methods. For more information about creating a project from the Universal 3D sample, refer to Create a new project that uses URP.
The following table outlines the key PSO tracing and warming scripts used in this sample and their function:
| Script | Description |
|---|---|
Assets/SharedAssets/Scripts/Runtime/GraphicsStateCollectionManager.cs |
Performs PSO tracing and warmup at runtime. Holds a list of recorded collections. |
Assets/SharedAssets/Scripts/Editor/GraphicsStateCollectionStripper.cs |
Ensures the build only includes the relevant collections for the target platform. The sample project targets multiple platforms and quality levels, so it contains multiple collections under the Assets/SharedAssets/GraphicsStateCollections folder. The filtering script removes unneeded collections for the target platform to reduce build size. |
Assets/SharedAssets/Scripts/Editor/GraphicsStateCollectionCombiner.cs |
Utility script that combines multiple selected collection files into one. Unity uses the first collection you select as the result collection. Note: This script combines collections that match the platform, graphics API, and quality level. |
To trace and warm up PSOs with the sample project:
Assets/Scenes/Terminal/TerminalScene.unity.GraphicsStateCollections folder.When you load the scene in the Player, Unity will now perform PSO warmup automatically.