Unreal Engine 4
This page is designed to help you understand what Unreal Engine 4 is and how it can be used by creators.
Last updated
This page is designed to help you understand what Unreal Engine 4 is and how it can be used by creators.
Last updated
Unreal Engine 4 (UE4) is a real-time 3D engine developed by Epic Games. The first version of Unreal Engine was created during the development of the 1998 game Unreal, at which point Epic Game started licencing the engine to other developers. Version 4.0 was released in 2014, and has been followed by 27 subversions (the latest is 4.27). Unreal Engine 5, announced in 2020, is expected to supersede UE4 at some point in the near future. UE4 is not an open-source engine (see the EULA), but the engine source code is freely available via their GitHub repository.
A UE4 project consists of a collection of files and folders conforming to a well defined structure. A project folder typically contains the following at the top-level (more detail in the UE4 docs):
Binaries: If the project has been compiled for a specific platform, this contains the files produced.
Build: Contains files required to build the project for different platforms.
Config: Contains project settings stored in plain text files with the .ini extension.
Content: Contains the maps, assets (e.g. 3D models, materials, blueprints) and other custom content used by the project, including any third-party packages downloaded from the Unreal Marketplace.
DerivedDataCache and Intermediate: Contain temporary files generated during the build process (e.g. shader compilation).
Saved: Contains saved data created by the editor as it runs, including autosaves, crash reports and logs.
A .uproject file: The project file with which the project can be launched. Actually a json file containing structured information describing the project, including the UE4 version, enabled plugins and target platforms.
A UE4 build consists of set of files and folders that allow the software to be run on a suitable host computer.
Some elements dependent on whether Development or Shipping option is selected prior to build, and other packaging options in UE4.
Has been updated an average of 4 times per year since first release in 2014. Updates can result in deprecation or removal of features, or incompatibility with plugins. Unreal Engine 5 was released in 2022, which may mean an end to UE4 updates.
Free source code access via GitHub repository (note that the Unreal Engine EULA applies).
Royalty payments only required with high product revenues, so unlikely to impact cultural heritage context.
For custom C++ projects Visual Studio dependencies are difficult to manage from an archival perspective.
Transforms imported assets to the poorly documented internal format (.uasset). More work is required to understand whether this transformation is lossless.
Source code access
Public source code access although access to private GitHub repository needs to be requested. Not open source per se, released under the Unreal Engine EULA. Seems accommodating to preservation use case, but use must abide by EULA (e.g. no redistribution of engine source code).
Licencing
Users to pay a 5% royalty to Epic Games if product revenues exceed $1,000,000 USD.
Availability of old versions
Oldest version available is 4.0.2 (released 28 March 2014) via Epic Games Launcher or GitHub.
When an asset is imported to Unreal Engine 4 it is converted to the UE4 UASSET (.uasset) format. This format is not well documented, although there is some partial reverse engineering work here. A UASSET can be re-exported from the engine in a variety of formats depending on the asset type. To do so, you need to right click on the asset in the Content Browser, and navigate to Asset Actions -> Export.
The information below was derived from testing in Unreal Engine 4.27. Note that is simply a list of the export formats available and exports have not been tested against original import format.
FBX
Yes
Can export to 2011, 2012, 2013, 2014, 2016, 2018, 2019, 2020 versions of the FBX spec.
OBJ
No
Unreal object text .copy
No
Identical to .t3d
Unreal object text .t3d
No
Identical to .copy
Windows applications created using the UE4 editor have a set of dependencies similar to the editor. These are automatically packaged with an application when built from the editor, and are installed when the application is run by an installer program called UE4PrereqSetup_x64.exe. This can be located in the application directory: [UE4GameRootLocation]\Engine\Extras\Redist\en-us
These dependencies are required to run the editor, or applications created using the editor.
Windows
The Epic Games Launcher automatically runs a dependency installer when UE4 is installed, called 'UE4PrereqSetup_x64.exe' or 'UE4PrereqSetup_x86.exe'. Manually running these is required if a different method of installation is used (e.g. copying the engine binaries onto the system). These can be located within the Engine directory: [UE4EditorRootLocation]\Engine\Extras\Redist\en-us
These dependencies are required to build software from the editor for particular platforms.
Linux
Linux (cross-compile from Windows)
Windows
Epic Game, Unreal Engine 4.27 Glossary, URL: https://docs.unrealengine.com/4.27/en-US/Basics/Glossary/
David Lightbown, 2018, Classic Tools Retrospective: Tim Sweeney on the first version of the Unreal Editor. URL: https://web.archive.org/web/20180823012812/https://www.gamasutra.com/blogs/DavidLightbown/20180109/309414/Classic_Tools_Retrospective_Tim_Sweeney_on_the_first_version_of_the_Unreal_Editor.php
clang for Linux (version depends on engine version: )
clang for Windows (version depends on engine version: )
Visual Studio required for some (w/ code modification?) projects (versions depends on engine version: )