Skip to content

UI flicker on Windows in Editor with Unity 6.4 + URP RenderGraph #160

@WaleedAmer

Description

@WaleedAmer

Environment

  • Unity: 6.4.0f1 & 6.4.4f1
  • Render pipeline: URP (RenderGraph)
  • Platform: Windows Editor

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

  1. Unity 6.4.4f1 + URP project on Windows (DX11)
  2. Add a Rive component to a prefab that renders into a dedicated RenderTexture displayed via UI
  3. Leave UniversalRenderPipelineHandler.RenderCamera unset (defaults to Camera.main)
  4. Enter Play mode in the editor — UI flickers intermittently
  5. 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.

2026-04-28.14-03-49.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions