Making your game moddable.

Thanks for the reply !

I must say, that it’s good to hear about the new upcoming modding support.

For my game Musical Range, I got Super, Super lucky. My mods only needs 4 files. A empty file extension for manifest, a text file for meta data, a jpg image for album covers, and a midi track to play the music track in the game. (Look at my game trailer if you wonder what my game is about).

Thanks to @ I managed to get a blueprint function that reads a raw jpg image in a folder. Thanks to Fpaths and FileManager I can read a txt file. Thanks to FileManager I can get a list of the names of files to read the manifest list of mod songs available. And it turns out the MIDI Plugin had a function already to read midi directly from file, without having to create a new uasset.

This means, in my game, I made a folder called CustomSongs.

Inside of 0Manifest

Inside of RickAndMorty-mainTheme and inside of the txt file.

And you can see from Meta.txt I simply have a youtubeID string, that I use to load in game a youtube video that plays the music to the midi track.

It works, and is super user friendly! The players dont need to download ue4, dont need to packag,e create plugins, nothing! So direct.

What is amazing, is that I can use this same set up to upload items to the workshop. Which I literally just managed.

Now, I only have to check what files the user sis subscribed to, and have the game look at those directories!

What I am saying, is, if you want your modders to be able to replace or add files, look into adding support to read directly from a file folder. It makes the modders life much easier. This may not work with maps, but for example. Weapon skins or model reskins can work very easy. Models to replace weapons, or props, like hats, can also work. And also can be useful for custom sound effects, or adding song support. It takes some work to add this support to the game, but making the end user life easier is worthed IMO.

I bet many of us started moding, just by downloading skins to weapons, and later on started doing more and more modding. So the support to very basic mod is very valuable IMO.

I’m wondering what’s so complex about this? I see no technical reason the editor has to be distributed using your launcher, it makes no difference whatsoever where people get it from.

How did you do that? It’s awesome! Do I need something else than the guides I posted before?

I don’t think it’s technical but a business decision, they just want everything centralized on their Launcher.

Hey man, what do you need help with specifically?

For loading the images from disk, there is this code. (39) 's Extra Blueprint Nodes for You as a Plugin, No C++ Required! - Blueprint - Epic Developer Community Forums

The reading of text file is also quite easy to do, lots of info on it on the answer hub and forums. If you want me to share my specific code, well, just let me know.

The reading of midi file is done by the LoadFile blueprint node of a MIDI component which is already included in the Midi UE4 Plugin by Scott.

The workshop is much more complicated, so that would take longer to explain, heh.

I’m interested in the workshop but I don’t want you to invest time explaining how to do it, I just need some directions exactly as you did with the other stuff which I really appreciate, thanks.

I found this for the workshop:

At last, great news regarding modding!

Does the new Runtime Asset Management framework have anything to do with the modding env?

Well I just finished reading the documentation for it, and I would say, yes it does. Especially the part about dynamically loading assets at runtime. This seems like a great push in the right direction.

The links masterneme posted are very helpful. However, to get started with Steamworks and getting the hang of Steam Callbacks, I also recommend the tutorial I made. As a lot of the stuff you learn there are similar to how the workshop does it.

Looks like it might help. I didn’t use it for my game, because I got lucky that all the files I need to mod my game are in a very basic format.


I just wanted to check the ease of modding support for UE4 and found this thread.
So from what I can gather right now modding support for UE4 games are messy at best, and there might or might not be progress in this aspect with 4.17 ?

Did I get it right ?


Yep I think that’s correct. I really hope we get some (easy) modding capabilities with 4.17, I’m making a sprite based FPS (like Doom or DN3D) and I want people to be able to mod it like crazy.

As long as you have to force users to create github account, merge with epic account, find a mail that often goes to spam to confirm the link, download git repo, paste into folder with your game content that they downloaded through steam (and they wonder why can’t they have those few dlls and exes there as well), force them to re-download that again every time you update your game - modding is extremely excruciating experience.

Not to mention that you have to host and upload all the binaries with each next update and patch. Yeah, Git supports devs pretty nicely and you can automate that, but that’s another thing to do, along with everything you have to do on steam to upload new files to depot, create DRMs and so on. Gets old real quick.

We’ve shipped two titles with modding using UE4, and the number of mods isn’t high. We’ve created tutorials, explained in detail what users have to do and yet our support mailbox was spammed, as were steam forums. Many questions were asked as to why is it the way it is. Once people get into modding and find it fun, they’ll continue, but the first setup is FAR too cumbersome for many to overcome.

We’ve tried. Really. We wrote our own custom app that deals with the entire git by itself (stores passwords if the user allows, so just double click on exe to refresh binaries from latest git upload). This didn’t help at all. The worst step is the first one, why make it the hardest? People bailed on the start setup in the vast majority of cases. Tutorials with screens didn’t help.

Will that ever change? We’re close to releasing a third title, years pass on and this nonsense is still kept. This topic alone is over 2 years. No response to e-mails asking that question either. We’d like it to have mods, but after previous experience - I just see no hope. Only selected few, who really want to do it really hard, will ever get to try. Typical user is not a developer who deals with this kind of stuff every day.

I’m pretty sure you know all that. As I’m pretty sure it’s gonna stay like this for other reasons. Still, instead of another carrot in the form of “4.17 is gonna be cool” that I’ve heard several times about modding, please try hitting the wall I’m describing instead. We can fix technical issues. We’ve done it (probably not as nice as actual engine devs can, but still). We cannot move past legal issues as easily.

The above is why I quit learning UE… modding and dedicated servers and networking. A lot of mystery that is never ever made clear by the UE team. I had hoped after many revisions something would have changed, but it appears not. Just want to be able for people to run their own dedicated servers, and be able to make maps to add to a game, maybe mod skins and such… should be pretty easy, engines from decades ago could handle it.

Has there been any progress on this at all? Im being swamped with requests to support user created levels in our game, and I can’t find any realistic way to accomplish this.
Just being able to allow players to upload custom levels to workshop and then play those.
Is there no approach to do this?

Feels like this topic is getting a bit too old.

@ **vipeout

**Sorry to hear that. I hope you people can find a way out of this.

+1 on this. Is there any new development ? I am not up to date :slight_smile:

I am specifically interested in some type of example C++ project that allows 3rd party map creation, using the project’s custom actors/components to be placed into the map, without giving up the whole source code (an anti-cheat and copyright mess, especially with marketplace assets).

And then, allowing the client to download map files during the level load phase (i.e. FPS server changing maps, and client doesn’t have the one in the rotation).

Theoretically this should all be possible with the objects I want to expose in a separate plugin, and only giving out header files and/or debug DLLs?

I would love an answer on this one as well.
My issues will be slightly different as i am packing for pc and xbox with cross platform servers so i am not sure i can use mods that translate over … i dont know yet. guess i will find out right?! I mean assuming there is an answer on how to make them moddable.

What you’re describing isn’t really what this thread’s about. Having an ingame user-friendly level editor with workshop distribution and stuff is super awesome but it’s not modding. For my game, I want modding of the sort that FPSes have traditionally had - fully-fledged custom maps, etc, like you get with, I dunno, CS. Or UT.

This should be a STANDARD feature of ANY game engine. Otherwise you are not really ‘modding’. Custom maps. That has what has kept many other games alive. Yet I have asked about the same thing in the past and hear nothing but crickets. Guess VR and a hundred other things are far more important to the UE4 developers.