One would expect that any game engine would let you import text files easily by default, right ? Well, that’s not the case in UE4.
Right now if you want to import something as common as a JSON or a XML you have to create a plugin just for that(well, you first have to search for a plugin that does something similar so you can use it as reference since there are 0 docs about the topic) and then pray so Epic doesn’t decide to use that format for something else.
A few months ago I had to expend two days just to make a plugin to import text files. And now turns out I can’t import JSON files anymore because Epic decided that JSON files should be used for DataTables. Setting ImportPriority in my UTextImporterFactory to MAX_int32 doesn’t seem to solve anything, so it looks like Epic is bending its own rules here.
That’s the kind of unnecessary friction that makes Unreal so unfriendly sometimes.
Ideally, I think importing files should be something like this :
Let us import any binary or text file by default as a standard text/binary asset. Chances are we just want to read some data, but that way we can enjoy from editor integration, auto-imports and auto-reimports.
If there are one or more factories that uses the extension, just ask us what we want to do instead of using the current priority system. Some extensions like JSON and XML are too common and will probably be used for more than one thing on any non-trivial project. In fact, that’s the case with DataTables.
For common cases, let us choose a default behaviour, so we’re not asked every time we import a PNG or a FBX.
I think that would be easier for everyone and doesn’t have any drawback compared to the current behaviour.