Build Unreal Engine from source with only core components to reduce build size.

Addressing Build Size and the Need for Selective Core Component Builds

Issues:

Many Unreal Engine developers opt to build the engine from source to achieve deep customization tailored to their unique project needs. However, a significant challenge arises from the ever-increasing size of the engine installation. This substantial footprint can strain storage resources and potentially complicate the build process, especially for developers with limited hardware or those focusing on projects that don’t require the engine’s full breadth of features.

Defined Current Problem:

The current process of cloning and building Unreal Engine from source typically involves downloading and compiling the entire engine codebase. While this provides access to all functionalities, it results in a large installation, often containing numerous modules and features that a specific project might not utilize. The lack of clear guidance on selectively building only the essential “core components” forces many developers to build the entire engine, leading to unnecessary disk space consumption and potentially longer build times.

Potential Solution:

To address this, we propose the creation of comprehensive documentation that guides the community on how to clone the Unreal Engine source code from GitHub and selectively build only the “core components” necessary for their specific development goals. For the purpose of this discussion, “core components” could be defined as the absolute minimum set of modules and features required for a functional, albeit potentially limited, engine build. This might include:

  • Fundamental engine modules (architecture, object system, memory management, core utilities, basic rendering).
  • Targeting a specific primary development platform.
  • A stripped-down feature set, excluding optional or advanced subsystems and plugins.
  • Potentially, the option to build only runtime components for highly specialized use cases.

Continues Improvement for All Users:

Providing such documentation would offer several benefits for the Unreal Engine development community:

  • Reduced Disk Space Usage: Developers could significantly decrease the storage footprint of their source-built engine.
  • Potentially Faster Build Times: Compiling fewer modules could lead to quicker build iterations.
  • Improved Clarity and Understanding: Documenting engine modularity would enhance the community’s understanding of the engine’s internal structure.
  • Lower Barrier to Entry for Specialized Projects: Developers working on niche projects with specific requirements could build a more streamlined engine.
  • More Efficient Resource Management: Users could optimize their development environments by only including necessary components.

Therefore, the informative question for the Unreal Engine development community is:

What specific strategies, configuration options, and module dependencies should be documented to enable developers to effectively clone and build Unreal Engine from source with a minimal set of “core components” tailored to their project needs? What are the absolute essential modules, and how can developers selectively include or exclude other functionalities without breaking the engine’s fundamental stability and usability for targeted development tasks?

We believe that addressing this question and providing clear documentation would be a valuable improvement for a significant portion of the Unreal Engine development community, empowering them with greater control over their development environments and resources.

1 Like