Links: Documentation | Support in the Unity forum or write to office[at]kamgam.com
What does it do exactly?
1. Hides files & directories before build (StreamingAssets, Resources, Plugins).
2. Removes game objects and components from the scenes during build.
3. Let‘s Unity finish the build.
4. Reverts step 1 and 2.
Perfect for creating demos and versions for playtesting.
✔️ Fast Exclusion Workflow
Just do this: Right-Click -> Exclude From Build, done!
✔️ Unity 6.3 ready
But it also supports Unity 2022 , 6.x, ... LTS
If you need 2019, 2020 or 2021 support please write to office[at]kamgam.com. There is a legacy version (with fewer features) available.
✔️ Exclude Components, GameObjects, Files, Scenes, ..
Supports excluding components, game objects, directories, files (including prefabs and scenes).
✔️ Reduce Build Size
A quick and easy way to reduce your build size.
✔️ Test Mode
Quick iteration! See how removing files affects your project before building (very handy for editor stuff too).
✔️ No Runtime Code
Everything is editor only! No exclusion scripts in your build, none, zero, nada.
✔️ Convenient Exclusion Logic
Control what is excluded by Build Target, SubTargets (headless server builds), Build Profiles, Script Defines and Development/Release flag. And if that is not enough you can always make multipe groups and choose manually.
✔️ CLI Interface
If you are doing some headless builds via command line then you can use the built-in CLI interface do that, no UI needed.
✔️ Full Source Code included
Plus it uses assembly definitions to speed up compile times.
You may ask: Isn't Unity excluding unused Assets by default?
Yes, but also no. Here are some use cases for which this tool might come in handy:
● StreamingAssets & Resources:
By default Unity does not exclude some folders from builds even if their content is not used. /StreamingAssets and /Resources for example are such folders. Imagine having some high-res and low-res versions of files for different platforms. If you have them located in these special folders then they would all be part of every build.
● More flexible build targets and profiles:
Imagine you have an Android build for Google Play with a plugin which depends on some Google services. Now you may also want to make a build for the Amazon Store (also Android) but this one does not support the plugin or the Google services you are using. Usually you would make a fork or remove/add those plugins manually for every build. Now this tool allows you to configure what files to use for what target (and more importantly sub-targets like Amazon, GooglePlay, InHouse, ...).
● Some third party sdks hook into OnPreprocessBuild and add quite some stuff which you may not want. For testing ("which one is breaking my build") it is very convenient to just make Unity pretend a certain folder does not exist at all. My recommended workflow: Make a test group, start an exclusion test, close Unity, restart Untiy and check the results.
● You can also have GameObjects or Components automatically removed in the build step. Maybe you have a demo or test build which you don't want certain level parts in. Just mark them as "excluded from build" and they are gone. Quick iteration and testing.
⚠️Cloud Build and Asset Bundles
Cloud Build and Asset Bundles are not included. If there is enough demand it may be added (currently untested, they may work already).
⚠️ Packages
Only contents of embedded packages can be excluded. Referenced packages need to be embedded before you can exclude parts of them because referenced packages are by definition immutable (a Unity limitation, sadly).
⚠️Build Reports & Streaming Assets
Most build report tools simply assume that ALL /StreamingAssets and /Resources are included and will list them in the report. Don‘t worry, the StreamingAssets you excluded are
in fact NOT in your build, even if the report claims otherwise (just test it yourself).
Installation
Download the Asset and import it into your project.
You are done, no additional setup is needed.
Usage
● You can exclude files in the project window via Right-Click > Exclude From Build and components by adding the ExcludeFromBuild component (will remove itself during build).
● A new menu will be available under "Window > Exclude From Build" to manage your exclusion groups.
● Go check out the manual once the import is done.
Info: The settings file will be created under Assets/.
Support
If you have any questions or issues then please write to office[at]kamgam.com.
You can also ask in the dedicated Unity Forum thread. This way others can follow the discussion.
Please be patient, replies may take a few days.
Please include your Asset Store Order Nr in your requests via email.
If you like this asset then maybe you'll like these too:
Skip the hierarchy search. What you click is what you select.
„Duplicate class error“ be gone!
Go back and forth in history with your mouse buttons.
🔑 License Info
This asset requires one license per seat (user who has access to the asset files). If you are a team then please consider buying one seat per Unity user.
Why am I telling you this?
Because most people do not know. In fact any asset found under the Tools category falls under a license type collectively known as Extension Assets(see official license explanation) which differs from the standard (Entity) licenses.
If you have questions about the license then please contact me under office[at]kamgam.com.