Unreal Engine plugin to allow conversion between JSON to Unreal Engine.
Editor Only Data:
In Unreal Engine 5.2 and above, editor only data has been introduced to Unreal Engine. Allowing us to import materials and material functions into our own project from the pak files of a game.
Contributors:
Tector, GMatrix, Tajgames, Zylox, and massive thanks to the people who contributed to UEAssetToolkit!
Artwork:
- JsonAsAsset Logo: @Tevtongermany
Table of Contents:
Note
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.
JsonAsAsset is a plugin to create assets from JSON data obtained from FModel. The plugin features a user-friendly interface, allowing to easily import assets in JSON data and map it to appropriate data structures within Unreal Engine to create assets.
Supported Asset Types
- Material
- MaterialFunction
- MaterialParameterCollection
- PhysicalMaterial
- SubsurfaceProfile
- CurveFloat
- CurveTable
- CurveVector
- CurveLinearColor
- CurveLinearColorAtlas
- SkeletalMeshLODSettings
- Animation (curves, sync markers)
- SoundAttenuation
- SoundConcurrency
- ReverbEffect
- DataAsset
- DataTable
In this short documentation, we will learn how to use this powerful Unreal Engine plugin. And we hope you enjoy it!
Warning
JsonAsAsset may not work for every Unreal Engine 5 version, please check Releases to see compatibility. Unreal Engine 4 is not maintained at the moment, and is not planned to be supported.
(See branches for the current available Unreal Engine 4 versions)
- Go to the Releases page for the plugin.
- Download the release that matches your version of Unreal Engine. If there isn't a release that matches your version, you will need to compile the plugin yourself.
- Extract the downloaded files to your project's Plugins folder. If there isn't a Plugins folder, create one in the root directory of your project.
- Open your Unreal Engine project.
- Click on Edit -> Plugins.
- In the Plugins window, search for
JsonAsAsset
and enable it. - Restart the editor for the changes to take effect.
If you haven't already, install FModel and setup it up correctly.
The JSON format/file has to be from a program that fits the format of FModel's JSON export files:
- FModel (Software for exploring Unreal Engine games)
Now that you've installed FModel and setup it up correctly, we can continue to setting up JsonAsAsset for our own Unreal Engine project.
Note
Upon launching your unreal engine project, you should of seen a notification asking you to change your export directory in the plugin settings, if you've already done that, skip this part.
We need to change the export directory to allow the plugin to differentiate between what's your directory, and what's the game path it should put it in.
First, open up to the JsonAsAsset plugin settings (basically do what's on the picture on the right) and make sure you are looking at the property "Export Directory".
Now open up FModel, and go to your settings. (Settings -> General)
There will be a setting called Output Directory
, copy that and go back to Unreal Engine. Now you need to click on the three dots and jump to the folder you copied and go to the folder named Exports
, then press Select Folder
.
That’s the basic setup! To bulk import materials or linear curve atlases (e.g., all material functions and textures), you'll need to set up Local Fetch
!
Running the API requires ASP.NET 8.0 to be installed, please install this here.
Local Fetch is a local API to assist JsonAsAsset by acting as a "FModel", and it supplies textures and asset data to import at runtime. Especially if you're wanting to import materials. It uses CUE4Parse just like FModel.
Tip
Please make sure you have the plugin in your project's directory and not in the Engine.
Before we can launch Local Fetch and begin working on automated references, you need to input all the information about your game first. This is necessary because CUE4Parse requires this information to set up file providers and start reading the game files.
Many of these settings are similar to FModel, but make sure to manually select a file or directory using UE's file selector.
Important
You must launch Local Fetch through UE, and not by the executable file. The reason being is that the local host port is different when you launch it through UE, so it's important you do so.
After fully setting up the Local Fetch settings, you can launch the API without any issues.
Go ahead and click on the JsonAsAsset logo () and hover over the list "Command-line Application"
and press "Execute Local Fetch API (.EXE)"
.
A window should pop-up, and once the console says [CORE] Running API
, Local Fetch has been successfully started!