Unity projects come in all shapes and forms: some are built from scratch recently using latest Unity versions, some come with artifacts from the multiple years in which developers worked on them. One of the diverse approaches to building projects in Unity revovles around asset management.
While it's considered good practice to have strong links between scenes or scriptable objects and secondary assets, like prefabs, textures and sounds, many people still resort to good old
Resources.Load API to dynamically load some content into the game.
Export types in Luna
Because of the above, Luna has two distinct strategies of detecting which assets should make it into the build:
Default export strategy
The default export type, named
Everything collects all data in use by the selected scenes, as well as all prefabs, textures, animations and other resources found in the project. While this stategy often procudes undesirably big builds, especially with games which have a lot of assets, it is a preferable starting point because it helps avoid issues caused by misconfiguration and eases debugging of first exports.
Alternative export strategy
Another export strategy, named
Selected items allows developers to choose what kinds of items to gather with a more granularity and control. The available options are:
- Scenes: This will export selected scenes
- Resources: This will export all assets founds in
Resourcesfolder of the project
- Prefabs: This will export all prefabs of the project
- Scriptable Objects: This will export all scriptable objects of the project
That is, if a scene is using a prefab, developers don't have to explicitely include this prefab into an export - Luna will discover this dependency and export it automatically.
This strategy comes in handy at the last stage of the production process, where developers are trying to optimise the final product for size and performance.