RuntimeMeshImportExport - Import and Export runtime created static meshes using Assimp library

Seems to be a missunderstanding on my end. Everything should work fine and you are free to update. Sorry for the trouble.

Any chances to update for Android?

There is no intention of doing that. In the Github Readme there is a link to an Android port, if you wanna do it on your own.

Pushed a fix. Export was only able to create sub directories in existing directories.

Rumbleball Great Plugin! I just started replacing my old Assimp implementation with your Plugin. We had material import from .obj (via .mtl) working as well as import progress. Any plans on your side to add those? We are happy to share our implementation if you want.

Thank you.

Material Import was also requested via Marketplace. Did you parse the .mtl manually or did you import the data via Assimp (.mtl -> Assimp -> Unreal)? Can you give a bit of insight of whats going on in the background on Unreals side? What do you give to the UMaterial, HLSL?

Import data through Assimp. I hand over a struct for each material section with all material data like Roughness, Diffuse and so on (12 values in total) and fill a base material instance with those values. Happy to share more on Discord so we can keep this Forum clean. HenryS#7367

Version 1.3 was pushed to the Marketplace. The plugin now supports Material Data import. See #1](RuntimeMeshImportExport - Import and Export runtime created static meshes using Assimp library - Unreal Engine Forums) and #2](

Pushed a fix for not working Vector Parameter import (MaterialData import)

Pushed a fix for a weird crash regarding the dynamic material created from imported Material Data when applied to a UMG widget. This is a general issue when the DynamicMaterial is given a name.

Version 1.6
-Changed progress update. Instead of a string, an enum and the progress numbers are returned. This allows for custom text that can also be translated as part of the application.
-Async import now also returnes progress
-Progress is expanded to contain progress of Assimp import and export process.

Version 1.7
-Changed how Normals are treated regarding scaling. Previously these were not affected, now they seem to fit.
-When using negative scale on the object on import, triangle winding order is flipped for 1 and 3 negative values (x,y,z). This will prevent inside out models.
-TexAmbient (TextureParameter) and Ambient (VectorParameter) are not imported for materials anymore as they seem to be a duplicate of TexDiffuse/Diffuse.

I’ve imported an fbx generated in another application using RuntimeMeshimportExport. This file imports into Blender just fine but when importing into Unreal with this plugin the position and orientations are all off. Is there something funky going on with relative positioning of mesh data?

Here’s the fbx I’m importing:

Any help appreciated. Thanks

Blender result:


Import result

Will have a look at it later today. Thanks for the file.

@Ronan_3DCS Thats more like it?


I messed up the composing of transforms with version 1.6

@Rumbleball That looks great! And the orientation was my own fault, I didn’t convert the axis to UE4s Z-up…but I guess there’s a feature request for ya.
When will you be pushing out an update?

Edit:: Got your PM, thanks!

I can’t auto correct the rotation as every programm writes the transforms different. You need to find the programm and export format you can work with, then set a fixed transform for correction.

Unreal also does not do that when importing as StaticMesh into the editor.


I’m trying to use your plugin to import .gltf and .glb files with their material into my scene at runtime. I have managed to import the assets into the scene at runtime but I am not sure how to extract the material info into a useable material and then apply it to the mesh.

How would you do this? and is it possible?

Your code seems fine. Where exactly is your problem? The material must provide Parameters (Vector/Scalar/Texture) with the appropriate names printed with MaterialInfoToLogString.
I can only repeat myself regarding the Material import: strong dependency on exporting tool, what the file format supports and how assimp retrieves the data from the file.

@**jimlacube **As Rumbleball said you need to create a material that matches with the right parameter names and use that as source material in your “Material Info to Dynamic Material”. Here is my material example:

All those parameters are filled by the importer (if available). Now it depends what you want to use and what your file brings with it. This example is based on an obj import that comes with an mtl file. In my case the mtl file contains all kind of material infos like Ni, Diffuse, TexDiffuse and so on.

As you can see I only use a few (also work in progress) but the material info contains so much more. Just start somewhere but stick to the naming convention that way you make sure the “Material Info to Dynamic Material” replaces/sets the correct values. Whoever created the .gltf and .glb files should be able to tell you what material parameter it provides.