Bloom Breaks URP Builds (Black Screen)

I’ve been struggling with this for a while now & am at a loss for what to do.
Tried pretty well every option to see what’s causing the issue, & no matter what I do, if bloom is enabled the main camera doesn’t seem to render in builds (Windows, DX11 & Vulkan) (Also persisted in earlier WebGL tests).

In Editor - Everything renders fine with or without bloom.
No Bloom - Everything renders correctly in editor & build.
With Bloom - Only UX renders. Camera no longer renders & screen render texture isn’t clearing (If I move mouse cursor (uses UX) it leaves a trail).

I’ve attached everything I can think of that could help diagnose the issue, including renderDoc captures. Near as I can tell, when bloom is enabled, my camera simply isn’t rendering. Any help greatly appreciated. Cheers.





I should note, I’m in 2022.1.4f1. URP version 13.1.8. This was also present in 2022.1.1f1 & an earlier 2021 version too though, so is not a strictly new bug. Also attached additional images.


Attached Player log from a development build. I’d wager this is the cause -

NullReferenceException: Object reference not set to an instance of an object
at UnityEngine.Rendering.Universal.Internal.PostProcessPass.SetupBloom

Not sure how to fix it though.

8218869–1073184–Player.txt (357 KB)

That’d do it. I’ve encountered similar with my own Post-Pro effects and have never been able to pin down exactly what on Unity’s end is causing it, but what’s usually fixed it for me is a hard reimport of all URP post-processing.

What, specifically, does that mean?

You could try recreating the RenderPipelineAsset, if you’ve upgraded from a previous engine version. Historically there have been times when serialized fields are not correctly initialised when upgrading through project versions.

Oh, thanks, but I’m not having the problem that the OP was. I was asking @GoGoGadget what “a hard reimport of all URP post-processing” means. I don’t think those words mean anything specific but I wanted to make sure, mostly for the sake of anyone arriving at this thread from a search, but also out of morbid curiosity.

URP postprocessing is a part of the URP package. I don’t know what “reimporting” that package would really mean (removing it and adding it again? why?) You could reimport all of your volume profile assets in the project, I guess? For what purpose? But reimporting those small assets wouldn’t rise to whatever “a hard reimport of all URP post-processing” is. Or maybe I’m overlooking something else useful.

I want to know what this is.

I think they mean recreating the postprocessdata struct - I think that’s now a serialized field of the render pipeline asset renderer