Powerful Unreal Engine Plugin that imports assets from FModel
Tags:
json
unreal
unrealengine

Logo

JsonAsAsset

Powerful Unreal Engine Plugin that imports assets from FModel
Explore the docs »


Discord Buy Me a Coffee

GitHub Downloads (all assets, all releases) GitHub Repo stars

Unreal Engine 5 Supported) Unreal Engine 4.27.2 Supported) Unreal Engine 4.26.2 Supported) Unreal Engine 4.26.0 Supported)

Description:

A user-friendly plugin for Unreal Engine that reads JSON files extracted from CUEParse (FModel), and regenerates assets as they were from the game's files.

Contributors

Example Use:

  • Importing materials, data assets, and data tables — see more
  • Porting physics assets for skeletal meshes
  • Porting sound effects to Unreal Engine
  • Automating asset porting workflows

This project aims to streamline the porting and modding experience, making it easier to bring game assets into Unreal Engine.


[!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.


Table of Contents:

  1. Asset Types
  2. Installation
    2.1 FModel
    2.2 Settings
  3. → Using JsonAsAsset

Extras:


1. Asset Types

If an asset type isn't listed below, it's not currently supported by the plugin.

Asset Types
Curve Asset TypesCurveFloat, CurveTable, CurveVector, CurveLinearColor, CurveLinearColorAtlas
Data Asset TypesDataAsset, SlateBrushAsset, SlateWidgetStyleAsset, AnimBoneCompressionSettings, AnimCurveCompressionSettings, UserDefinedEnum, UserDefinedStruct
Table TypesCurveTable, DataTable, StringTable
Material TypesMaterial, MaterialFunction, MaterialInstanceConstant, MaterialParameterCollection, SubsurfaceProfile
Sound TypesMost/all sound classes are supported. SoundWave is downloaded by a Cloud Server.
Animation Asset TypesPoseAsset, Skeleton, SkeletalMeshLODSettings, BlendSpace, BlendSpace1D, AimOffsetBlendSpace, AimOffsetBlendSpace1D
Physics Asset TypesPhysicsAsset, PhysicalMaterial
Sequencer Asset TypesCameraAnim
Landscape Asset TypesLandscapeGrassType, FoliageType_InstancedStaticMesh, FoliageType_Actor

The following asset types add onto a pre-existing asset

Asset Types
Animation TypesAnimSequence, AnimMontage [Animation Curves]

Material Data Prerequisites

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.

C++ Classes Prerequisites

If your game uses custom C++ classes or structures, you need to define them.

See Unreal Engine Modding Projects for game-specific template projects.

2. Installation

Follow these steps to install JsonAsAsset:

  1. Visit the Releases Page:
    Go to the Releases page for the plugin.
  2. Download the Appropriate Release:
    Download the release that matches your version of Unreal Engine.
    If a matching release isn’t available, compile the plugin yourself.
  3. Extract the Files:
    Extract the downloaded files to your project’s Plugins folder. If the folder doesn’t exist, create it in the root directory of your project.
  4. Open Your Project
    Launch your Unreal Engine project.
  5. Access the Plugins Window:
    Navigate to Edit → Plugins. <img align="right" width="387.4" height="75.4" src=https://github.com/user-attachments/assets/c0867324-5129-49e4-9f9c-9804c93cdf73>
  6. Enable JsonAsAsset:
    In the Plugins window, search for JsonAsAsset and enable it.
  7. Restart the Editor:
    Restart the Unreal Engine editor to apply the changes.

2.1 Setup FModel

[!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.


<img align="right" width="315" height="190.4" src=https://github.com/user-attachments/assets/909e2db1-e0d9-4aae-9b8b-7190cf6718b3>

2.2 Setup Settings

  1. Open Plugin Settings:
    Click on the JsonAsAsset dropdown, then select Open Plugin Settings.

  2. Import Settings from FModel:
    Locate Load External Configuration and press FModel Settings, your settings should be changed.


4. Using JsonAsAsset

  1. 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.

  2. Press onto the JsonAsAsset button on your tool-bar, and a file import should pop-up. <img align="right" width="220" height="98" src=https://github.com/user-attachments/assets/514d7661-f2f6-4343-8c9c-ed875ddb5156>

  3. Paste in the file's path, select the file and press open.

  4. The asset will import, and bring you to the created asset in the content browser.

To bulk import assets and what they reference, you must set up a ☁️ Cloud Server!


☁️ Cloud Server

A Cloud Server hosts a Web API that lets JsonAsAsset communicate directly with game files. It automatically imports referenced assets for all supported types, except AnimSequence and AnimMontage.

Use an app that includes a built-in cloud server for easy setup:

🐛 Common Errors

Attempted to create a package with name containing double slashes. PackageName: ...

Please set your Export Directory to your "Output/Exports" directory

❌: T:/FModel/Output

✅: T:/FModel/Output/Exports

Assertion failed: TextureReferenceIndex != INDEX_NONE

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:

  • Re-launch your Unreal Engine project, go to JsonAsAsset's plugin settings and enable "Skip Result Node Connection". Also enable "Allow Package Saving".

📗 Licensing

JsonAsAsset is licensed under the MIT License, read more in the LICENSE file. The plugin also uses Detex and NVIDIA Texture Tools.

✨ Contributors

Buy Me a Coffee

Thanks go to these wonderful people:


Tector

Developer

GMatrixGames

Collaborator

Zylox

Maintainer
  • Thanks to the people who contributed to UEAssetToolkit! They have helped a lot.
  • Logo uses a font by Brylark, support him at his ko-fi!

Would you like to contribute?

info:
Version: 1.3.8
Creator: JsonAsAsset
A
License: MIT
A+
Last Commit: 3 days ago
modules:
JsonAsAsset
Detex
NVTT
Powered by runreal.dev
This is not an official Epic Games project.
Unreal Engine is a registered trademark of Epic Games, Inc.