How can I release a modding SDK for my game ?


My game is nearing completion, and we’ve started taking a closer look at modding. Our title supports it on the technical side - we can detect and use mod content, assets can be replaced, etc. The game-specific part is all but done. I still have questions about the releasing and process, though. After much discussion on UnrealSlackers and this forum, some questions are still up in the air. Let’s get to it :slight_smile:

My game has a C++ source, uses the vanilla Unreal Editor without plugins, and some Marketplace assets. It’s probably the most common situation for developers. Here is what this implies :

  • I can’t release the Unreal editor on Steam or my website (this is always true for everyone), so any SDK I release needs Unreal on top of it.
  • I don’t need to release my modding SDK through the Epic Launcher (this is required if you’ve modified the editor), and it’s a small game that Epic would probably not consider.
  • I can’t release some of the assets as they are Marketplace assets, but the game works without them.

Here is where it starts to get hairy. I’ve read the documentation for modding, discussed with Epic staff and other devs, and it appears I should do this :

  • Make my .uproject, C++ sources, contents and release info (asset registry for latest release) publicly downloadable.
  • Have people download Unreal Engine, Visual Studio 2015, and build the game + editor.
  • Modders would create a content plugin and add stuff.
  • Once they’re done with modding, they can build a .pak DLC through the session frontend which can be made available on Steam workshop or other.

So here are my questions about this process.

  1. Is it possible to make a public SDK without releasing C++ sources from the game ?
  2. Does Epic supports modding tools released outside Epic Launcher, which is a closed platform that selects titles ?
  3. In Looman’s tutorial above, mods needs to be in the game structure when the full release is built. It’s hardly modding if the game developer needs to be the one building the mods, is it ?
  4. Since the cooking uses the asset registry, can my modding SDK have a reduced content set (no marketplace assets) as long as the registry is intact ?
  5. Will a mod try to load on a newer version of the game ? For example ModA done on version A, version B goes out, does ModA still work ?

More generally, what is the workflow Epic would suggest for indie devs ?

Thanks for helping !

You can wrap your source code as a Plugin and release only it’s compiled binaries.

It doesn’t look like a practical solution (wouldn’t you loose hot reload by doing this ?).

Apparently ( Just checked it after I’v posted it ).
Maybe you can provide only the binaries without the source with a normal project as well, Did you try it?

Normal projects are statically built against the editor, forbidding redistribution as per EULA / Epic. I have had this personally confirmed.

Basically I’m pretty sure the answer to question #1 is no, but I’d love some feedback on this.

Can you point out where to find this in the EULA?

It looks like this would be allowed:

  1. Create fork on github
  2. Delete everything that’s in it
  3. Place compiled mod sdk there
  4. Modders accept EULA to access it, as required