Announcement

Collapse
No announcement yet.

Making your game moddable.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Modding support in UE4 is very constrained, limited, hard to set up, hard to use.

    First, you will need to release a significant part of your project. Here's why.

    - You will need to distribute at least the release information for the latest version, basically the cook manifest, so that people can cook against it, hard requirement here.
    - Any Blueprint that you want people to be able to use (game mode, custom player start, any kind of Blueprint used in levels) will need to be distributed as well
    - Since people will need to test the level, they need to play it, so your mod kit needs playable code & content

    Our mod kit for Helium Rain is the full game project minus most of the playable "characters" and most of the levels.

    Some additional constraints follow.

    - No redistributing Marketplace assets, hope none of that is used for gameplay, can't distribute it, unless you're a packaging wizard and understand how to cook editor assets
    - No redistributing any editor outside Epic store, so no "mod editor" launch option on Steam
    - If you use Steam modding, you will at least need some kind of C++ code to copy mods from the Steam workshop directory on your PC to the game install dir

    "Don't do it" is how I'd put it at that point. UE4 is not meant for modding.
    Helium Rain, a realistic space opera

    Comment


      But modding (or UGC) is so important!!
      https://www.youtube.com/watch?v=SRyUpR4qOxU
      Attached Files

      Comment


        If UGC is going to be a large part of your game, all of the things I described above are feasible. We did and and our modkit is available. It's just never going to be a day's work to have modding in your game, so you should be sure your game revolves around modding, like some Valve games do.
        Helium Rain, a realistic space opera

        Comment


          What I'm searching for is some guidelines to make my game moddble since day 0.
          E.g.: Instead of "hard-code" a new map in the game code, why not doing it already as a mod? Same for new races, enemy types, resources, items, etc.
          Let's say you hire a level designer. Give him your modding tools directly instead of having to give him access to full source.

          I think this is one of the pillars to develop a game the right way since day 0.

          Comment


            Mods in UE4 are patches over a full released game. Technically, they actually rely on the engine support for DLC. So no, you shouldn't work like that at all.

            Making your game moddable, as far as the game code goes, isn't particularly hard. Just use the asset registry to discover assets, as opposed to hardcoding lists of content in the code, which you shouldn't do anyway.
            Helium Rain, a realistic space opera

            Comment


              Does the default modding only handle adding new content then? For example, can a mod override the jump height of the player without replacing the entire player?

              Comment


                I'm not really sure, but I don't believe you can do that, no.
                Helium Rain, a realistic space opera

                Comment


                  Originally posted by Zeblote View Post
                  Does the default modding only handle adding new content then? For example, can a mod override the jump height of the player without replacing the entire player?
                  In such case wouldn't it be a matter to implement a file containing this info? (SQLite, XML, or just plain text).

                  For a localization mod, wouldn't it be something like an external table as well?

                  Comment


                    A localization mod is exactly what the UE4 modding support should be stellar at. Provided, of course, that your modding kit includes the po files and your modder understand UE4 well enough to import the translated version, set up a new language and cook it as a mod.

                    The basic problem with UE4 modding is just that - the cooking and patching infrastructure is quite powerful, but you need to understand every bit of it to truly offer mod support and spend weeks or months on it.
                    Helium Rain, a realistic space opera

                    Comment


                      UE4 games made by Bamco (Bandai Namco ICYMI) doesn't have the modkit provided by the devs yet it manages to have mod applied all over the place, at least cosmetic mods. Especially Soulcalibur 6.
                      Without the official toolkit/dumbed down UE4 SDK, active modders (those who create mods for your game) will inevitably have to get their hands to UE4 SDK and U4Pak to make/replace custom content especially custom meshes. Passive modders (those who just apply mods to their installation of your game) just have to deal with U4Pak.

                      If you just want to allow mesh mods or audio mods, or any cosmetic mods, really, you can leave it that way and let the modders do their job with U4Pak and making the cosmetic mod in a fresh UE4 SDK, and you can leave your game in Shipping build then call it a day.
                      This results you unable to integrate your game with Steam Workshop, but then Grand Theft Auto V is still moddable without Steam Workshop and the mods are collected independently.

                      On the other hand, if you want to allow custom script to be added to your game, that is where things can get confusing real quick and I'm sure we're scratching our head around it. The wiki provided by Tom Looman seems to get around this case, but I still don't know how to obtain the profile in a shipped game or providing the profile in the game files.
                      Look, a shooting star!
                      /drinks soda

                      Currently working on: Past Future, an isekai fantasy RPG

                      Comment


                        Originally posted by StrangerGwenn View Post
                        Modding support in UE4 is very constrained, limited, hard to set up, hard to use.

                        First, you will need to release a significant part of your project. Here's why.

                        - You will need to distribute at least the release information for the latest version, basically the cook manifest, so that people can cook against it, hard requirement here.
                        - Any Blueprint that you want people to be able to use (game mode, custom player start, any kind of Blueprint used in levels) will need to be distributed as well
                        - Since people will need to test the level, they need to play it, so your mod kit needs playable code & content

                        Our mod kit for Helium Rain is the full game project minus most of the playable "characters" and most of the levels.

                        Some additional constraints follow.

                        - No redistributing Marketplace assets, hope none of that is used for gameplay, can't distribute it, unless you're a packaging wizard and understand how to cook editor assets
                        - No redistributing any editor outside Epic store, so no "mod editor" launch option on Steam
                        - If you use Steam modding, you will at least need some kind of C++ code to copy mods from the Steam workshop directory on your PC to the game install dir

                        "Don't do it" is how I'd put it at that point. UE4 is not meant for modding.
                        You can have the materials and code notarized and legally signed with copyright... I know it can seem damning to release source-code for anything but having a notarized and copyrighted source-code is the way to go.

                        Comment


                          Releasing marketplace assets with your mod kit is actually completely forbidden, so if you were using anything you didn't do, you're out of luck.
                          Helium Rain, a realistic space opera

                          Comment


                            Am i correct in that, you cannot transfer any .uasset packages, because they won't open?

                            I am still getting used to the file directories and format structures... but i heard that once a .uasset is saved, it can only be opened as an asset in the 'Project's' Content browser.

                            Comment


                              You are disallowed from sharing store assets in a mod kit. The marketplace EULA tells you as much. So you only can make them usable in a mod kit after making sure they were stripped from editor content and unusable in new projects, which I don't know personally how to do, and feels like much more work than anything I'm willing to do on a mod kit.

                              Overall it's just too painful.
                              Helium Rain, a realistic space opera

                              Comment


                                StrangerGwenn I read your comments, if things are like that I think I'm going to forget about anything modding with UE4, I was already going to open source my game anyway so it doesn't make sense to spend time on this feature.

                                And if for example I made a plugin to transform the editor into a modding tool I'd have to give support to that and I don't think it's worthy.

                                Too bad, I've been waiting years for news on this and I was temporarily excited when I saw the launch of mod.io but then coming here and seeing the situation is disappointing to say the least.
                                ProBoon, Old-School FPS, Open Source & Tutorials
                                Support Project Boon on Patreon

                                On Steam Soon, Click Below

                                Comment

                                Working...
                                X