Directory Structure

At the top level, there is the Engine directory as well as any game projects you have. The Engine directory contains the engine itself and all of the tools that come with it. Each game folder contains all of the files pertaining to that game. There is a much greater separation between the engine and game projects in UE4 than in previous versions of the engine.

Root Directory

  • Engine - Contains all source code, content, etc. that makes up the engine.

  • Templates - Collection of project templates available when creating new projects .

  • GenerateProjectFiles.bat - Used to create the UE4 solution and project files necessary for working with the engine and your game(s) in Visual Studio. See Automatic Project File Generation for details.

  • UE4Games.uprojectdirs - Helper file that instructs the UnrealBuildTool where to look for projects by default.

Common Directories

Some subdirectories are common amongst both the Engine and game project directories:

  • Binaries - Contains executable files or other files created during compiling.

  • Build - Holds files needed for building the engine or game, including files necessary for creating platform-specific builds.

  • Config - Configuration files for setting values that control engine behavior. Values set in the game project Config files override the values set in the Engine\Config directory.

  • Content - Holds content for the engine or game, including asset packages and maps.

  • DerivedDataCache - Contains derived data files generated on-load for referenced content. Not having cache files present for referenced content can increase load times dramatically.

  • Intermediate - Contains temporary files generated during building the engine or game. In game directories, Shaders are stored in the Intermediate directory.

  • Saved - Contains autosaves, configuration (.ini) files, and log files. Additionally, the Engine > Saved directory contains crash logs, hardware information, and Swarm options and data.

  • Source - Contains all of the source files for engine or game, including the engine source code, tools, gameplay classes, etc.

    • Engine - Source files in the Engine directory are categorized into the following:

      • Developer - Files used by both the editor and engine.

      • Editor - Files used by just the editor.

      • Programs - External tools used by the engine or editor.

      • Runtime - Files used by just the engine.

    • Game - Source files in a game project directory are organized by module; one directory per module. Each module contains the following:

      • Classes - Contains all gameplay class header (.h) files.

      • Private - Contains all .cpp files including gameplay class implementation files and the module implementation file.

      • Public - Contains the module header file.

Engine-specific Directories

Some subdirectories are specific to the Engine directory.

  • Documentation - Contains the engine documentation, both source and published files.

    • HTML - Published HTML documentation files.

    • Source - Source markdown documentation files.

  • Extras - Additional helper and utility files.

  • Plugins - Contains plugins used in the engine.

  • Programs - Contains configuration files and log files for projects stored in the UE4 root directory and other Unreal programs such as UnrealFrontend and UnrealHeaderTool.

  • Shaders - Holds the shader source files (.usf) for the engine.

Game Project Directories

Directory Description
Binaries Contains executable files or other files created during compiling.
Config Default project settings for your game.
Content Contains content for the engine or game, including asset packages and maps.
External dependencies Displays the public engine header files (only visible in Visual Studio).
Intermediate Contains files that are generated by UnrealBuildTool such as Visual Studio project files. These files can be deleted and rebuilt.
Saved Contains files that are generated by the engine such as config files and logs. These files can be deleted and rebuilt.
Source Contains game module object class files.
Classes Contains game object class definitions (.h files).
Private Contains private game object class implementation files (.cpp files).
Public Contains public game object class implementation files (.cpp files).

Solution Directories

Directory Description
Classes Contains game object class definitions (.h files).
Config Default project settings for your game.
External dependencies Displays the public engine header files (only visible in Visual Studio).
Private Contains private game object class implementation files (.cpp files).
Public Contains public game object class implementation files (.cpp files).