You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: I'm aware Unity 6.4 isn't officially supported yet — filing this so it's on your radar for when it is.
Summary
A Rive component rendering into its own RenderTexture (displayed in UI) causes intermittent flickering on subsequent passes of the main camera. Disabling/removing the Rive widget eliminates the flicker immediately. Setting UniversalRenderPipelineHandler.RenderCamera explicitly to a dedicated camera (one that has no UI work scheduled after it) works around the issue.
Repro steps
Unity 6.4.4f1 + URP project on Windows (DX11)
Add a Rive component to a prefab that renders into a dedicated RenderTexture displayed via UI
Leave UniversalRenderPipelineHandler.RenderCamera unset (defaults to Camera.main)
Enter Play mode in the editor — UI flickers intermittently
Disable/delete the Rive widget — flicker stops immediately
Expected: Rive renders into its target texture without affecting other passes on the main camera. Actual: Intermittent flicker on UI rendered after Rive on the main camera. Windows/DX only — not reproducing on Mac.
Suspected cause
Rive's URP integration uses AddUnsafePass, which opts out of RenderGraph's state tracking. On Unity 6.4 / URP RenderGraph, state tracking between passes is stricter than on earlier versions. The unsafe pass appears to leave GPU state RenderGraph doesn't know about, and the next pass on the same camera inherits that state. Windows/DX-specific behavior suggests it's tied to how DX state survives across the unsafe pass boundary in a way Metal doesn't.
Workaround
Set UniversalRenderPipelineHandler.RenderCamera to a dedicated camera that has no further passes scheduled after it (in our case, the same camera already rendering the Rive target's RenderTexture). The state leak presumably still happens — it's just isolated to a camera with nothing downstream that cares.
Environment
Note: I'm aware Unity 6.4 isn't officially supported yet — filing this so it's on your radar for when it is.
Summary
A Rive component rendering into its own RenderTexture (displayed in UI) causes intermittent flickering on subsequent passes of the main camera. Disabling/removing the Rive widget eliminates the flicker immediately. Setting
UniversalRenderPipelineHandler.RenderCameraexplicitly to a dedicated camera (one that has no UI work scheduled after it) works around the issue.Repro steps
UniversalRenderPipelineHandler.RenderCameraunset (defaults to Camera.main)Expected: Rive renders into its target texture without affecting other passes on the main camera.
Actual: Intermittent flicker on UI rendered after Rive on the main camera. Windows/DX only — not reproducing on Mac.
Suspected cause
Rive's URP integration uses
AddUnsafePass, which opts out of RenderGraph's state tracking. On Unity 6.4 / URP RenderGraph, state tracking between passes is stricter than on earlier versions. The unsafe pass appears to leave GPU state RenderGraph doesn't know about, and the next pass on the same camera inherits that state. Windows/DX-specific behavior suggests it's tied to how DX state survives across the unsafe pass boundary in a way Metal doesn't.Workaround
Set
UniversalRenderPipelineHandler.RenderCamerato a dedicated camera that has no further passes scheduled after it (in our case, the same camera already rendering the Rive target's RenderTexture). The state leak presumably still happens — it's just isolated to a camera with nothing downstream that cares.2026-04-28.14-03-49.mp4