This is a plugin for the Unreal Engine to load 3D assets (e.g. FBX) at runtime. Made with UE5.4.2.
Use the DynamicMesh path for all builds. The ConstructDynamicMeshComponentFromAssetFile and ConstructDynamicMeshComponentFromMeshData Blueprint functions are the stable, recommended methods that work correctly in both editor and packaged builds.
StaticMesh functions are [Experimental].
ConstructStaticMeshComponentFromAssetFileand related StaticMesh functions have a known limitation in packaged builds (no editor): materials display as a checkerboard pattern. Avoid using them unless you understand and accept this limitation.
- Windows (Win64) is the primary supported platform.
- Copy (or clone) this plugin folder into the
Plugins/folder of your Unreal Engine project. Create thePlugins/folder if it does not exist. - Open your project. When prompted "The following modules are missing or built with a different engine version: RuntimeAssetImport", press Yes to build.
- The plugin is now enabled and ready to use.
Note: Win64 prebuilt binaries for assimp are included. No CMake or manual build step is required.
Alternative: clone with Git
In the Plugins/ folder of your project, run:
git clone <URL of this repository>
Then open the project and press Yes when prompted to build.
Run Runtime Asset Import Sample.
The following file formats are supported via assimp:
- FBX
- GLTF / GLB
- OBJ
- DAE (Collada)
- Other formats supported by assimp
The plugin's Content folder includes the following assets:
AssetImporterMeshMaterial.uasset— Parent material used by the plugin. Exposes the following parameters:TextureBlendIntensityForBaseColor— blend intensity between texture and base colorBaseColor4— base color as a 4-component vectorBaseColorTexture— texture input for base color
purple.uasset— Sample purple texture for testing and demonstration purposes.
- Multiplayer (ProceduralMesh): Clients may experience abnormal movement accompanied by a
LogNetPackageMapwarning. UseDynamicMeshComponentinstead as a workaround. - Packaged game materials (StaticMesh — Experimental): Materials display as a checkerboard pattern in packaged builds. Use
DynamicMeshComponentinstead as a workaround.
To run from the command line:
UnrealEditor.exe <YourProject>.uproject -ExecCmds="Automation RunTests RuntimeAssetImport" -unattended -nopause -log -testexit="Automation Test Queue Empty"
Or from the UE Editor UI: Window > Test Automation, search RuntimeAssetImport, click Start Tests.
To create a submission package for Fab / Unreal Engine Marketplace, run:
powershell -File .\PackageForMarketplace.ps1This creates a staging directory under PackedForMarketplace/ and a zip archive named
RuntimeAssetImport_Marketplace.zip. Both outputs are generated artifacts and are ignored by Git.
- Only embedded textures are loaded (external texture file references are not yet supported)
- Only 1 texture per material is supported
- Only 1 UV channel is supported
- Only 1 vertex color channel is supported
We are using assimp for loading 3D asset files. Prebuilt Win64 binaries (assimp-vc143-mt.dll / .lib) are bundled under Source/ThirdParty/assimp/Bin/Win64 and Lib/Win64. This plugin converts the data loaded by assimp into a format usable by Unreal Engine.