Download

Modding support beside DLCs?

I was researching modding options as I am currently decide what to do regarding game logic. I understand that there is the option to create DLCs but I am unsure if this is the process I can throw at the players.

I was thinking more in the direction of having my own mechanism to read json files and provide the typical game settings as a json for everyone to read, just to encourage people to get into modding.

Another thing I thought about was adding loading and importing 3d assets possible. I think about using zip files with some basic file types that are dynamically loaded. With such a simple system, modding by replacing game props would be easy. Question here is, what file formats are supported out of the box and which file formats can be added to the list using free or commercial plugins?

Also I am almost done with the C++ performance critical code and I recon that in the end only at most 1MB sources would need C++ and the rest of the game logic (like another 4MB) I would like to do with something more highlevel. I looked at the different plugins and the Haxe ecosystem looks interesting (either plugin (which seems troubled by the look at the current open incidents or direct C++ transpiler). LUA looks also possible but I would love to use OOP so its not my first choise. The v8 JavaScript support looks difficult if one has multi threading in mind. The C# support (one of the two plugins) look promising but some devs reported this is hard to get working and brittle.

So I would like to know what is a good scripting / programming solution that allows for code being dynamically loaded at runtime. I could also think about doing mod support for win/linux/mac only and using shared libraries. Is this possible in UE4? Are there any examples of UE4 games that actually feature one or more of these modding options?

Summing up the questions:

  1. JSON / JAML files support in UE4 out of the box or plugins needed?
  2. Importing/loading individual asset files on runtime? What file formats are supported? What extensions/plugins exist aiding with that?
  3. Dynamic Scripting / Using modern high level languages similar to C# to dynamically load custom classes?
  4. Loading shared libraries / dlls possible on desktop environments?
  5. Do any UE4 games exist with such a modding support that is typical for C# games?

PS: I tried to do my homework. All I found was a DLC tutorial in the legacy wiki and some (outdated) forum entries.