Skip to content

Unreal Engine plugin to allow conversion between JSON to Unreal Engine.

License

Notifications You must be signed in to change notification settings

JsonAsAsset/JsonAsAsset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JsonAsAsset

Discord GitHub Repo stars Repo size Maintenance

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:


Table of Contents:

  1. Introduction to JsonAsAsset
  2. Installing JsonAsAsset
    2.1 Setting Up JAA Settings
    2.2 Export Directory
  3. Local Fetch

1. Introduction to JsonAsAsset

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
Materials
  • Material
  • MaterialFunction
  • MaterialParameterCollection
  • PhysicalMaterial
  • SubsurfaceProfile
Curve Asset Types
  • CurveFloat
  • CurveTable
  • CurveVector
  • CurveLinearColor
  • CurveLinearColorAtlas
Skeleton/Animation Asset Types
  • SkeletalMeshLODSettings
  • Animation (curves, sync markers)
Sound Asset Types
  • SoundAttenuation
  • SoundConcurrency
  • ReverbEffect
Data Asset Types
  • DataAsset
  • DataTable

In this short documentation, we will learn how to use this powerful Unreal Engine plugin. And we hope you enjoy it!

2. Installing JsonAsAsset

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)

  1. Go to the Releases page for the plugin.
  2. 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.
  3. 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.
  4. Open your Unreal Engine project.
  5. Click on Edit -> Plugins.
  6. In the Plugins window, search for JsonAsAsset and enable it.
  7. Restart the editor for the changes to take effect.

2.1 Setting Up JAA Settings

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.

2.2 Setting up Export Directory

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!

3. Setting 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.

Launching Local Fetch

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!