The build graph described here includes all the steps for building players that can be run as external tools with clearly defined dependencies, such as:
- Script compilation
- Il2CPP conversion and C++ compilation
- Code stripping via UnityLinker
- Burst compilation
- Code signing
- Packaging and compression
It also includes many platform-specific tools. It does not, however, encompass the serialization of scenes and assets into player data files (which is currently done by native code in-Editor).
Unfortunately, there’s more to building a fully incremental data build pipeline than adding nodes to a build graph. Due to the nature of Unity’s data file layout, each scene depends on all previously built scenes, so we cannot simply extract small changes to build independently of everything else. This is a shortcoming that is being addressed by other teams at Unity, and we hope to see significant improvements in the coming years.
But even with these constraints, our