The March sale is here! Save 50% on select products now through March 21.

Real Time Import/Export

Virtualbird UG - Code Plugins - Aug 14, 2018

Real-time import of sound (wav,ogg), image (png,bmp,jpg) and meshes (obj,fbx,stl) files in a compiled/packed game. Since version 1.6 you can also export things. Export TextureRenderTarget2d in bytes (png,bmp,jpg).

  • Supported Platforms
  • Supported Engine Versions
    4.18 - 4.27, 5.0 - 5.3
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Please check the Documentation for up-to-date examples of the functions.  


It is possible to import sound files (WAV, OGG) and image files (PNG,JPG,BMP) with this plugin. It is also possible to import meshes (OBJ, FBX, STL)*2. The import works in realtime and without the editor. So in a running game. Textures and sounds are cached in RAM. Export functions have also been added via updates. In the latest version it is possible to export TextureRenderTarget2d to bytes (BMP,PNG,JPEG) and procedural meshes in OBJ files. This plugin does not use a third party library. This means that there are no problems with installations or licenses.  Android and IOS support since version 2.0.

No special deals. Buy the plugin if you need it. My prices are low all year round. 

Nativization in UE4 may cause problems and should be disabled in BPs that use this plugin.


Demo Download (Windows 64 .exe. ~230MB) and Videos

Demo Project 4.18 , 4.24 or higher (Requires this and Webcommunication Plugin.)

Demo Project 4.23 , 4.24 or higher (Requires this Plugin in Version >=2.7), 4.25 or higher (Requires this Plugin in Version >=3.3), 4.26 or higher, 5.0 or higher , 5.1 or higher (Requires this Plugin in Version >=3.33)

I offer here many other plugins to download files in-game (Webserver, FTP, TCP).


Here you can see what has changed last in the plugin and the upload date. Usually Epic releases the updates within two days. But after a new engine release it can take weeks. 


Changelog (5.1, 5.2, 5.3)

  • (02/26/2024) Version 3.40: It is now also possible to export meshes in OBJ format. Textures can also be exported. Currently only diffuse and normal. This function may still be buggy and will be improved in the future. 
  • (01/23/2024) Version 3.33: "ModelID", "Parent ModelID" and other parameters added with which it is possible to represent a model/mesh hierarchy stored in FBX files. This means that relative positions and sizes work better. "Groups" are now also output as "Model Struct".
  • (09/27/2023) Version 3.32: Epic's "Calculate Tangents" function copied into the plugin and optimized. Minutes have become milliseconds. 


Changelog (5.0, 5.1, 5.2)

  • (07/10/2023) Version 3.30: Added color depth check for image import. Unreal 5 needs at least 8bit images otherwise it crashes. 
  • (06/10/2023) Version 3.29: Bugfix: SRGB is now only applied to Diffuse textures. Has led to errors with normal maps. Small demo update. 


Changelog (4.27, 5.0, 5.1)

  • (04/07/2023) Version 3.27: Bugfix: FBX Roation was read incorrectly.
  • (04/03/2023) Version 3.26: New parameter "EventID" added to the Texture Async Node function. New parameter "Cache Texture" added to the texture and mesh import functions. Optimizations of the Asyn functions. 
  • (03/18/2023) Version 3.25: Optimized the flow of the async functions. They now work without problems behind loops. The delay when deleting textures can now be configured.
  • (02/19/2023) Version 3.24: Ram consumption reduced on mipmap creation. Textures are now deleted with a 10 second delay for stability reasons. 
  • (02/13/2023) Version 3.23: Closed a memory leak.
  • (02/06/2023) Version 3.22: New: FBX can be loaded with inverted UVs . Added a UTexture2D to UTexture2DDynamic function. The RGB format of the images can be chosen.
  • (12/14/2022) Version 3.21: Bugfix: UV's were read out incorrectly or not at all with certain FBX types.


Changelog (4.26, 4.27, 5.0)

  • (11/07/2022) Version 3.20: Memory leaks closed. Mainly for the mesh import function.
  • (09/26/2022) Version 3.16: Bugfix: Textures with transparency now create correct MipMaps. Cross compiling should work now.
  • (09/12/2022) Version 3.15: Bugfix: FBX meshes without textures were not loaded. For right-handed FBX meshes, the local position and rotation were not adjusted.
  • (09/10/2022) Version 3.14: When importing meshes, there is now the option "Left-hand, Right-hand". Since depending on the export the meshes were horizontally mirrored. FBX textures are now searched in the FBX directory if they were exported incorrectly.
  • (09/31/2022) Version 3.13: Many functions got an "asynchronous node" version. These are easier to implement asynchronous functions. There is also one for the meshes. Meshes are now divided into models in the first step. So you can load multiple models from one FBX file including location, scale and rotation.
  • (07/17/2022) Version 3.12: Bugfix: The function "Load Mesh File" has always returned "false" for FBX files since version 3.9
  • (07/14/2022) Version 3.11: OBJ Bugfix
  • (07/08/2022) Version 3.10: OBJ optimizations
  • (06/30/2022) Version 3.9: FBX import is now faster for very large files with many meshes. 
  • (06/28/2022) Version 3.8: FBX Import bug fixes: Model name, geometry name and material name are now read. For some FBX files the UV coordinates were read incorrectly.
  • (05/13/2022) Version 3.7: If there is enough information in the FBX file, meshes will be split now. This makes it possible to load meshes with multiple materials.
  • (04/19/2022) Version 3.6: The mesh name is now also read when importing FBX.


Changelog (5.0)

  • (04/12/2022) Version 3.5: Removed the texture2dToByteArray function. In UE5 it seems not possible to read the texture from memory. But it is possible via a render target. See documentation.


Changelog (4.25, 4.26, 4.27)

  • (02/24/2022) Version 3.4: STL import. Added new function "getImageColors". With this you can read pixels of an image as RGBA values.
  • (01/26/2022) Version 3.3: Added new event (EnvelopeValue). With this you can visualize sounds.
  • (01/14/2022) Version 3.2: Bugfix: Memory leak when loading/removing textures.
  • (12/06/2021) Version 3.1: FBX version 7.5 and 7.6 can now also be imported.

Technical Details

Epic only allows updates for the newest three engine versions. There might be features missing in older engine versions. Contact me if you are unsure.

  • Import and Play WAV and OGG Files. Stream WAV Files*1
  • Import PNG ,JPG and BMP Files as Texture2D (Optional with MipMaps)
  • Import OBJ, FBX and STL Files*2
  • Export TextureRenderTarget2D and Texture2D to Bytes (BMP,PNG,JPEG)*3
  • Export Procedural Meshes in OBJ Files*3
  • Different directory and file blueprint nodes
  • Include C++ Source for C++ Projects
  • Documentation
  • Support: [email protected] (ENG,GER)


*1   16 Bit wav only. Ogg Vorbis only.

*2  OBJ (min 4.22). FBX, STL (min 4.25 ). FBX binary in version 7.4, 7.5, 7.6, 7.7 possible. No skeleton import and therefore no animations.

*3  Texture2D Export works only with UE4. Tested on Windows. Other platforms may not work. Use as an alternative the TextureRenderTarget2D Export. OBJ export is in beta status.