[UPDATED] Introducing Amplify Bloom – Industry Level Post-Process Bloom

We are happy to announce that a new version of Amplify Bloom is available. In this new update we addressed several issues concerning using the plugin both on Mac, iOS and Android making it more stable overall. Additional options were also added to decrease the performance hit and maintain better frame rates on mobile devices.

Amplify Bloom 1.0.2 change list:

  • Added control to initial source downscale.
  • Optimized features usage on mobile
  • Fixed compilation errors when deploying Amplify Bloom on iOS and Apple tvOs using Metal API
  • Fixed issue with array data access on shader files when working on Unity 5.4
  • Fixed precision issues with Lens Flare
  • Fixed issues with Encoder on Low Precision, more specifically on LG G3 phone
  • Added fallback shader for older API’s with lesser texture lookups and automatically clamping Mip Count to a lesser max value
  • Added new Debug Log toggle into inspector
  • Reduced amount of shader keywords used from 6 to just 1.
  • Improved performance and fixed issues on mobile.(edited)
  • Fixed issue when compiling shaders on Metal at version 5.2.1
  • Added new Demo options to Enable/Disable both Temporal filtering and Upscale technique

Amplify Bloom - Unity Asset Store

Fully functional watermarked trial version - Download

Hi,

I would like to know if it’s possible to ignore certain objects or layers from being affected by bloom. We have a 3rd person game and our characters get’s bloom when staying close to a light source.

Hello Alex,

Amplify Bloom affects all of which the camera sees, for it to ignore certain objects you need to have a separate camera rendering what needs to be affected by bloom, and do a final composition pass with the main camera.

We’ve created a simple example for you so you can try it for yourself. Download

Please notice that the bloom Camera, SeeAllCamera > BloomCamera, needs to be rendered first, hence the lower depth value. Bloom results are stored on a Render Texture and composed with SeeAllCamera ( Main Camera ) frame buffer via the MaskedBloomComposition script.

Quick note, rendering the bloom results to a Render Texture is a new functionality currently not available in the Unity Asset Store version, feel free to contact us via email and we will forward you the latest development build.

Thanks!

1 Like

Any chance we may get some additional mobile optimizations? I really love the look of this, but it is quite a bit slower than unity’s optimized bloom in my tests.

Hello,

Thank you for your interest, we really appreciate it. The unity’s optimized bloom is faster because it does not provide the same features as Amplify Bloom, it’s a very basic implementation of bloom effects. Our package strives to provide the best of two worlds by offering a comprehensive set of high-quality features without compromising performance. We strongly recommend using the Low Precision mode and Natural technique on mobile devices for the best performance possible.

We recently added a Downscale option that can help you achieve better results on mobile devices, it should be available at the Unity Asset Store in the next couple of weeks, I will send you a preview via PM.

Thanks!

First test

best asset bloom ever :slight_smile:

1 Like

Hi, I was experimenting with your asset.

Is there some documentation on how to access various AmplifyBloom settings at runtime via scripting? I couldn’t find any.

I was simply trying to animate the bloom threshold value over time, but I’m a bit lost on the naming of the parameters.

Could you please help me or point me towards some docs?
Thanks in advance :slight_smile:

EDIT: nevermind, figured it out. I was declaring a AmplifyBloom variable as reference, but it was a namespace instead. So I declared an AmplifyBloom.AmplifyBloomEffect variable to tweak and accessed various parameters through it, like:

public AmplifyBloom.AmplifyBloomEffect effectBloom;

effectBloom.OverallIntensity
effectBloom.OverallThreshold
effectBloom.LensGlareInstance.Intensity

It’s was all as easy as expected, I simply needed a break and a coffee :wink:

Hello,

Thank you for using Amplify Bloom, we really appreciate it. We currently do not provide documentation on how to access Amplify Bloom settings at runtime via scripting.

Happy to know you were able to access it, let us know if you have any additional questions we would be happy to help.

Thanks!

Thanks! Happy to know your are having a good time with it.

Looking good :wink:

Hi

I’m testing the trial version (thanks for offering this before we buy) and I’m seeing some garbage collection allocation (0.9 KB/frame) in AmplifyBloomBase.OnRenderImage(). I’ve checked a standalone build too in case it was an editor only issue. I mention it because one of your asset store reviews mention this having zero GC allocation, which was a major point in its favour for me. Could this be something that affects the trial version only for some reason? To give you more details I’m using Realistic mode with low precision, and also have enabled Lens Flare and Glare (with these two unchecked I still get GC but only 0.6 KB/frame).

Any thoughts?

Hi duencil,

Yes, we are aware of this. Unfortunately this is a Unity issue were it is wrongly allocating memory when getting temporary render textures.
We already reported the bug and are waiting feedback from the Unity QA team.

Good evening!

Firstly, let me express how much I love Amplify Bloom! I’ve used every major bloom asset on the asset store, and this one provides the best visuals, no contest.

That said, something appears to have happened in my project that has rendered Amplify Bloom inoperable.

I had noticed that there seemed to be Lens Glare, even though I had it disabled. In an attempt to rectify it, I tried disabling “Lens Starburst.” Suddenly, my console was flooded with the following error:

Invalid pass number (33) for Graphics.Blit (Material "Hidden/BloomFinal" with 1 passes)
UnityEngine.Graphics:Blit(Texture, RenderTexture, Material, Int32)
AmplifyBloom.AmplifyBloomBase:FinalComposition(Single, Single, RenderTexture, RenderTexture, Int32)
AmplifyBloom.AmplifyBloomBase:OnRenderImage(RenderTexture, RenderTexture)

I tried turning on and off various settings, removing it and re-adding it to my camera, and restarting Unity, but the error persists.

This is not the first time that this has occurred. It happened once in the past, but I was testing it in an empty project at the time, and that was the initial release version. I assumed that since I hadn’t seen it since, the issue had been resolved.

I’m currently using Unity v5.4b11 on Windows 10, DX11, Windows x86/x64 build target.

Thank you in advance!

  • S.

Thank you so much for such kind words!
We’ll try to replicate this issue on our end and fix it as soon as possible!

1 Like

So, I deleted Amplify Bloom from my project, then re-imported it and added it to my camera again. The errors went away.

I’ve narrowed down what’s happening with the “glare stuck on” issue. It’s not actually glare. What’s happening is that after spawning a highly emissive object (in this case, a glowing bullet or an impact flare), the bloom layer is flipping upside down for a few moments. What I thought was some sort of glare was in fact displaced bloom.

I wonder if this may have something to do with the aforementioned issues that I was having with the Amplify Motion flipping when a distortion shader is present?

Again, Windows 10, Unity v5.4b11, DX11. In this case, no distortion shader.

This has occurred in more than one project of mine. The common denominator is Linear Deferred HDR rendering and the instantiation of emissive objects.

How that helps!

Thank you again! Be well!

  • S.

Hello,

Thank you for reporting the issue and for sending us a sample. Unfortunately it seems to be a Unity 5.4.0b11 bug, we filed a report and as soon as we have any new developments we will contact you directly.

Thank you for your contribution.

1 Like

Thank you so much for all the help, Ricardo!

Let’s hope that Unity resolves this sooner than later.

Be well!

  • S.

I downloaded the last trial and I did many test on iOS 9.2 with on iPad Air. No matter what settings I use, even the simplest one, I get the application to crash and quit with not errors in the console. Some time I was able to see a few frames before the shutdown. I’m on Unity 5.3.4f1.
My test scene is just a simple Unity terrain with a skybox. It works if I disable the Bloom. There are no other effects on the camera.
On IPhone 6S Plus there are no issues.
Any possible solution to have it disabling silently if not supported instead of crashing?

Hi mcmorry,

Thank you for reporting the issue!
We recently updated Amplify Bloom and the trial version is still not the latest one. This will be replaced as soon as possible.
We will send you the new trial. If possible could you try it out and let us know if the problem still persists?

Thanks for the new trial you sent me. I’ll tell you how the test it will go.

With the last build you sent me it works by setting the downscale to Half or Quarter.
Thank you!