ue-module-and-build-system

Installation
SKILL.md

Modules & the build system

Every Unreal C++ feature lives in a module: a directory that compiles into its own DLL (modular builds) or static lib (monolithic builds). UnrealBuildTool (UBT) reads C#-style *.Build.cs files (one per module) and *.Target.cs files (one per build target) to decide what to compile and link. Most "won't compile / won't link" problems are really "wrong module dependency" problems.

Note: UE modules are independent of C++20 language modules.

When to use this skill

  • Adding a new module to a project or plugin, or splitting a growing module into smaller units.
  • Link/include errors: unresolved external (*_API symbol), "cannot open include file", "module X not found at startup".
  • Adding a dependency (e.g. you used UEnhancedInputComponent and need EnhancedInput).
  • Choosing PublicDependencyModuleNames vs PrivateDependencyModuleNames, or the loading phase and host type.
  • Understanding how UBT discovers modules and when to regenerate project files.
Installs
8
GitHub Stars
77
First Seen
Oct 4, 2026