Saving Unreal binary file assets as JSON files

This question was created in reference to: [Serializing Blueprints in JSON [Content removed]

Hello, I want to save Unreal assets files as JSON files maintaining the .uasset, .umap, etc. file extensions.

The main reason was to allow merging and better source control of assets (ignoring the potential editor slow down and disk size increase). Right now, however, my main interest is to being able to use text format files for AI agents. Unfortunately AI tools like Claude Code can not modify or create Unreal binary files and can just create python files to setup projects and then still require manual edition. I hope that with the option of the engine to save as JSON files, AI tools will have better chance to create and edit Unreal projects.

So I was able to make a dirty patch for UE 5.7.3 (check attachment) and it *seems* to be working: I did a quick test with some simple projects. You set the command “save.UAssetJsonFormat” to 1 in the editor and after that the assets are saved as JSON files internally. I tested some Blueprints, materials and Niagara effects. With these changes the engine can open these JSON files also. But I’m sure there are things that I’m missing.

Tested only from the Unreal Engine project in Visual Studio and not for production.

i hope that you could check this patch and point me to things that I’m missing and need to be addressed or made more robust.

[EDIT] the asset viewer needs to be fixed, it is not updating correctly the assets or showing the details if saved as JSON until you open it first

Thanks!

Source.zip(291 KB)

Hi!

Text-based asset support comes up with a very regular cadence here on EPS.

Currently, we’re not planning to support it. We can’t review your code if you are set on building your own, that’s unfortunately outside the scope of support we can provide via EPS.

I haven’t looked at your approach, but there are some previous efforts in the engine to support text assets in JSON/XML, you should be able to find them by searching for WITH_TEXT_ARCHIVE_SUPPORT or EPackageExtension::TextAsset / EPackageFormat::Text, i.e. the FJsonArchiveOutputFormatter.

Kind Regards,

Sebastian

Hi Sebastian, that fine.

I was hoping more people could test the patch if it’s public and yes I found the WITH_TEXT_ARCHIVE_SUPPORT very helpful.

Best!