Built in asset type for plain-text?

I’m going to port my previous game that runs with its own engine.
My previous one used vast amounts of xml data, but DataTable supported by Unreal has structural limitations and changes are formidable, so I want to use existing xml data as it is.
If I know correctly, all game data needs to be converted into any form of unreal asset because the game data is changed to something “.pak” file after being packaged, so how can I approach to bring my xml data into purely file stream form?
From what I’ve searched so far, I think I can build up my own data class which can accept xml data and I don 't mind if that’s the right approaches.
But I came here because I thought there would be a function that Unreal already supports for plain text data as an asset.
Please give me some advice!

Just normal text files are simple enough that they don’t need to be Unreal assets.
They can be included into the shipped game through Project SettingsProjectPackaging → (Show Advanced) → Additional Non-Asset Directories To Package or Additional Non-Asset Directories To Copy.

Additional Non-Asset Directories To Package will add that folder to the PAK file and you can load using Unreal’s File System (UFS). Recommended way in my opinion.
Additional Non-Asset Directories To Copy will simply copy that folder with your game so that it’s just plain accessible (and easily editable by anyone). You can’t use Unreal’s File System API to load these though so you’ll have to figure out some other method of loading them (like via plugin or some other 3rd party library).

For UFS, I don’t know of a Blueprint way of reading text files but for C++ there are some easy to use functions in FFileHelper which you can easily make a blueprint wrapper for yourself.

1 Like