The one that comes with Unity is amazing, but then again it’s also got some limitations. One of these is per-object bloom, but it takes time to do it yourself, and uses workarounds that aren’t always that good of an idea (changing alpha, etc.). I believe I know a great workaround for all of this, but I don’t know it it’s easy or possible to implement.
Have 2 cameras in your scene, main camera with a lower depth, and a “bloom” camera with a higher depth. Set the culling mask to a new layer (such as ‘Use Bloom’) and put any object you want to see the bloom on it to that layer (only problem is if they’re on another layer already). Somehow change the bloom script to create a RenderTexture (Isn’t that what it uses to ‘blur’ for bloom?) ONLY for that one camera.
I’m sure this is possible, I just don’t know how. If I am correct, the bloom script uses what is sent to your screen, not just a specific camera, so I’m not certain this is possible. On the other hand, if I understood this all, I could do this on my own.
If anyone has time, could you explain why this could/couldn’t work? Even if you have to rewrite the bloom script? I feel uncertain since no-one has done this in the past. So if you can, please tell me if this is possible, and maybe try it on your own? I know absolutely nothing about shaders or how the RenderTexture works.
Thank you!