DefaultBloomKernel.uexp - What is it and is there any way to reduce its size?

Basically, I’m trying to figure out how to reduce the size of the project files in an android project and the biggest file is one called “DefaultBloomKernel.uexp” weighing in at over 32MB out of 45MB overall. Googling this file yields 0 results. What is it, what does it do, and more importantly is there a way to make it smaller?

I’m using UE4 4.16.0 on a C++ template with nothing in it besides the default floor.

It is used for FFT bloom. It shouldn’t be needed for mobile. You can create a blacklist file to remove it; see here: https://docs.unrealengine.com/latest/INT/Platforms/Android/ReducingAPKSize/index.html#packageblacklist.

I’ll look into why it is being included.

Here is an example PakBlacklist-Shipping.txt you can put in your project’s Build/Android and Build/IOS directories for shipping:


../../../Engine/Content/EngineMaterials/DefaultBloomKernel.uasset
../../../Engine/Content/EngineMaterials/DefaultBloomKernel.uexp

Note both must be removed since the uasset references the uexp.

I tried add to blacklist, but it’s not working at all,
the apk file too huge.

I googled this problem, no one asked…
does anybody really use unreal engine 4 develop for mobile?

1 Like

I found the solution, unchecked the bloom setting in rendering will not cook DefaultBloomKernel,
but the package is still too huge, the libUE.so is too huge.

Hello,
I’m having the same problem, but unchecking Bloom doesn’t work.

See here for a more detailed explanation: 4.16 Released! - Announcements - Epic Developer Community Forums

The DefaultBloomKernel should be excluded automatically in 4.16.2; it is automatically blacklisted.

The other thing you can try is to remove the dependency by making an AndroidEngine.ini in your project’s Config/Android directory containing:


[/Script/Engine.Engine]
; DefaultBloomKernel is not used on mobile
DefaultBloomKernelTextureName=/Engine/EngineResources/DefaultTexture.DefaultTexture


Alright, i’ll give it a shot. Thank you for your reply.

Thanks for you help!

The 4.16.2 update didn’t fix this for me. Tried turning bloom on and off. Tried a few other things, no luck. I tried your suggestion of creating an AndriodEngine.ini file and it seems to have worked:

UATHelper: Packaging (Android (ETC2)): Cook: LogCook:Display: Forcing save package …/…/…/Engine/Content/EngineMaterials/DefaultBloomKernel.uasset because was already requeued once
UATHelper: Packaging (Android (ETC2)): Cook: LogCook:Display: Cooking /Engine/EngineMaterials/DefaultBloomKernel → d:/Documents/Unreal Projects/…/Saved/Cooked/Android_ETC2/Engine/Content/EngineMaterials/DefaultBloomKernel.uasset
UATHelper: Packaging (Android (ETC2)): Cook: LogSavePackage:Display: Finished SavePackage d:/Documents/Unreal Projects/…/Saved/Cooked/Android_ETC2/Engine/Content/EngineMaterials/DefaultBloomKernel.uasset
UATHelper: Packaging (Android (ETC2)): Cook: LogCookCommandlet:Display: BlockingTimeSec=0.000001
UATHelper: Packaging (Android (ETC2)): Project.CreatePakResponseFileFromStagingManifest: Excluding d:\Documents\Unreal Projects…\Saved\Cooked\Android_ETC2\Engine\Content\EngineMaterials\DefaultBloomKernel.uasset
UATHelper: Packaging (Android (ETC2)): Project.CreatePakResponseFileFromStagingManifest: Excluding d:\Documents\Unreal Projects…\Saved\Cooked\Android_ETC2\Engine\Content\EngineMaterials\DefaultBloomKernel.uexp

I guess this means it’s packing it, but excluding it from the final build?

4.18 - still same problem
DefaultBloomKernel.uexp is not blacklisted automatically
and it have size 32mb instead of original 5mb in Engine folder

Windows cooked project (not android)

Hey guys, not showing android much love I see. In 4.22 that DefaultBloomKernel.uexp is still sitting there taking up half the file size.

I don’t think it’s included in apk file, but if you want to reduce it’s size - you could easily do it.

  1. Show Engine Content in Content Browser
  2. Find Engine Content\EngineMaterials\DefaultBloomKernel texture and change it’s maximum texture size in properties.

Strugling with the same problem. Resaving the DefaultBloomkernel doesn’t work, as you can’t resave this file as it’s used by the engine.

I’m using 4.24 and still have the same issue.

Tried adding PakBlacklist-Development.txt and PakBlacklist-Shipping.txt to \Build\Android
Unchecked Bloom attribute in properties
Add the AndriodEngine.ini

Nothing worked.

Change the content from Content\EngineMaterials\DefaultBloomKernel is not a good idea as it will affect any other project because you are changing the engine content directly.

Anyone got any new ideas to try?

Did you solve the issue? I am also struggling here.

I’m struggling too. Have you found a solution?

Create a text file in your Build/Android/ folder called “PakBlacklist-Shipping” and inside of this, add these 2 rows:
../../../Engine/Content/EngineMaterials/DefaultBloomKernel.uasset
../../../Engine/Content/EngineMaterials/DefaultBloomKernel.uexp

That will work for your shipping build, just copy paste for development build.

Might be worth noting, there is a few other things worth excluding too if you’re not using them, such as:
../../../Engine/Content/EngineDebugMaterials/
../../../Engine/Content/MobileResources/
../../../Engine/Content/Tutorial/
../../../Engine/Content/VREditor/
../../../Engine/Content/ArtTools/
../../../Engine/Content/Maps/
../../../Engine/Content/MapTemplates/
../../../Engine/Content/EngineSounds/
../../../Engine/Content/BasicShapes/
../../../Engine/Content/Animation/
../../../Engine/Plugins/Experimental/ControlRig/
../../../Engine/Content/EngineMaterials/BlueNoise.uasset
../../../Engine/Content/EngineMaterials/BlueNoise.uexp

As seen above, you can either exclude an asset directly, or a whole folder!