JsonAsAsset is an Unreal Engine plugin that reads JSON files from CUEParse (FModel), and rebuilds assets like materials, data tables, physics assets, and more.
This project aims to streamline the porting and modding experience, making it easier to bring game assets into Unreal Engine.
JsonAsAsset is licensed under the MIT License, read more in the LICENSE file. The plugin also uses Detex and NVIDIA Texture Tools.
Extras:
[!CAUTION] Please note that this plugin is intended solely for personal and educational use.
Do not use it to create or distribute commercial products without obtaining the necessary licenses and permissions. It is important to respect intellectual property rights and only use assets that you are authorized to use.
We do not assume any responsibility for the way the created content is used.
If an asset type isn't listed below, it's not currently supported by the plugin.
| Asset Types | |
|---|---|
| 🟢 Curve | CurveFloat, CurveTable, CurveVector, CurveLinearColor, CurveLinearColorAtlas |
| 🟣 Data | DataAsset, SlateBrushAsset, SlateWidgetStyleAsset, AnimBoneCompressionSettings, AnimCurveCompressionSettings, UserDefinedEnum, UserDefinedStruct |
| 🔵 Table | CurveTable, DataTable, StringTable |
| 🟠 Material | Material, MaterialFunction, MaterialInstanceConstant, MaterialParameterCollection, SubsurfaceProfile |
| 🟧 Texture | TextureRenderTarget2D, RuntimeVirtualTexture |
| 🟡 Sound | Most/all sound classes are supported. SoundWave is downloaded by a Cloud Server! |
| 🔴 Animation | PoseAsset, Skeleton, SkeletalMeshLODSettings, BlendSpace, BlendSpace1D, AimOffsetBlendSpace, AimOffsetBlendSpace1D |
| ⚪ Physics | PhysicsAsset, PhysicalMaterial |
| 🟤 Sequencer | CameraAnim |
| 🟩 Landscape | LandscapeGrassType, FoliageType_InstancedStaticMesh, FoliageType_Actor |
| Asset Types | |
|---|---|
| 🔴 Animation | AnimSequence, AnimMontage (Animation Curves) |
Unreal Engine games made below 4.12 (a guess) will have material data, any games made above that version will most definitely not have any material data, and therefore the actual data will be stripped and cannot be imported. Unless you are using a User Generated Content editor, then it's possible material data will be there.
If your game uses custom C++ classes or structures, you need to define them.
See Unreal Engine Modding Projects for game-specific template projects.
[!IMPORTANT] If you haven't already, install FModel and set it up correctly, then proceed with the setup.
There is a specific FModel version for material data support found in the discord server.
Material Data Prerequisites still apply.
Follow these steps to install JsonAsAsset:
Plugins folder. If the folder doesn't exist, create it in the root directory of your project.JsonAsAsset and enable it.Find a asset in FModel, and save it by right clicking and pressing Save Properties. Locate the file on your computer and copy the location.
Press onto the JsonAsAsset button on your tool-bar, and a file import should pop-up. <img align="right" width="206" height="96" src=https://github.com/user-attachments/assets/6a9bf925-484b-4c23-b0ed-c59d58c5d07c>
Select the file and press open.
The asset will import, and bring you to the created asset in the content browser.
[!TIP]
Want to import entire asset chains automatically? 💡
Enable Cloud in Plugin Settings, and setup a Cloud Server. Click here to get to Cloud releases.
Once the Cloud is started, JsonAsAsset will fetch every referenced asset for you hands-free.
This is a known issue in our code that we haven't fully resolved yet. While previous attempts to fix it have been unsuccessful, here's a partial solution to reduce its occurrence:
Thanks go to these wonderful people:
![]() Tector Creator | ![]() GMatrixGames Collaborator | ![]() Zylox Casual Maintainer |