I have recently decided to upgrade from Unity 2019.2 to 2019.3. The first thing I noticed was that the URP no longer supports the Post Processing Stack v2 (for performance reasons obviously). So, I replicated each and every effect in the new integrated post processing for URP.
Everything looked exactly the same with the exception of the bloom effect. It just looked straight up bad, like a compressed JPEG. My game depends on lots of emissive highlights, therefore it depends on good looking bloom effect. Enabling the High Quality Filtering option just blurred the result and made it look even more like a compressed JPEG.
What I did is I went through the bloom shader, then the core shader, didn’t find anything that fixes the problem (keep in mind I have very little knowledge of shaders). Then I went into the pipeline code…
And voila. Found it! The bloom setup halves the source texture by default.
(The script is located at: Packages/Universal RP/Runtime/Passes/PostProcessPass.cs)
I fixed the problem by removing the binary shift part (equivalent to division by 2 I assume) and the bloom was instantly back to how it looked in PPv2.
Here’s a comparison between the two in my game:
Half-res:

Full-res:

The full res doesn’t even need the High Quality Filtering option as it looks just fine (but it makes it even better if toggled on).
My fix however definitely doesn’t solve everything as there is clearly noticeable difference in the bloom scatter (or soft knee). And in addition, my changes were reset on the next project load as Unity probably has some package integrity checking. My only option is to copy the package in the assets every time there’s an update and apply the change.
There is an obvious and understandable reason to why the resolution might’ve been halved. It’s performance. However, I don’t see any alternative. Yes, it’s optimized for mobile, but it should still offer at least reasonable quality for PC as well. Switching to HDRP will lock my game out of a lot of players (requires high-end hardware), and I am definitely not going back to the default RP (I need that Shader Graph).
Could there be added an option for the bloom resolution? If not, what are my alternatives?
