Announcement

Collapse
No announcement yet.

Inside Unreal: Adding Mod Support with the Simple UGC Plugin

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

    [LIVESTREAM] Inside Unreal: Adding Mod Support with the Simple UGC Plugin

    Click image for larger version  Name:	200723_AddingModSupportWithTheUGCExamplePlugin_Third.jpg Views:	0 Size:	197.0 KB ID:	1789650


    WHAT
    We've released a new sample project to help Unreal developers bring mod support to their games. Based on the work done for Robo Recall, the UGC Example Project and SimpleUGC plugin aim to make it easier than ever to bring your community into the creative process. Join us as Senior Technical Product Designer Chance Ivey walks through many aspects of the project and plugin, including how to build and test mods for the sample, and how you can use the technology in your own games.

    WHEN
    Thursday, July 23 @ 2:00PM ET - Countdown

    WHERE
    Twitch

    WHO
    Chance Ivey - Senior Technical Product Designer - @iveytron
    Victor Brodin - Community Manager - @victor1erp

    RESOURCES
    UGC Example - (GitHub login and EpicID association required)
    New example project and plugin for mod support released - Blog

    ARCHIVE
    Last edited by VictorLerp; 07-23-2020, 06:32 PM.

    #2
    That looks very nice !! :-)

    Comment


      #3
      Awesome, looking forward to it.
      I would like to suggest covering the following topics as well:
      • Mobile Platform
        • How to download/mount
          • HttpChunkInstaller still recommended?
            • Handling authentication per chunk if required
        • Handling different cooked platform asset formats e.g. ASTC, ETC2. Audio etc.
      • Swapping to other asset types like Animation, Materials, Sound
      • In a closed source project, what and how do we need to minimally provide to modders / content creators.
      • Current limitations. What can be modded, what cannot.
      Thank you.

      Comment


        #4
        great project, I read through the source, and have a few questions / notes:

        - 1st of all, creating a new mod plugin by a button click is really handy for modders, thanks for that! using a pair of replacement components is also a nice idea. and ofc the editor widget is also like a xmas present. but seeing more comments in the source would be lovely.

        - imo it is a better approach to build the mod plugin (as a DLC) by AutomationTool.exe + command line arguments. it seems to be more simple than a source build. I'm experimenting with it currently, calling AutomationTool by CreateProc(), args can be got from the build log of a DLC, and replacing some parameters according to actual project is easy (engine path + project name + mod plugin name), and works fine. rarely certain maps are left out, but apparently newly created ones work.
        the command looks like this:
        <engine-root-dir>Engine/Binaries/DotNET/AutomationTool BuildCookRun -project=<project-path>.uproject -noP4 -clientconfig=Shipping -serverconfig=Shipping -nocompile -nocompileeditor -installed -ue4exe="<engine-root-dir>Engine\Binaries\Win64\UE4Editor-Cmd.exe" -utf8output -platform=Win64 -targetplatform=Win64 -ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=Disabled -cook -map= -unversionedcookedcontent -pak -dlcname=<mod-plugin-name> -DLCIncludeEngineContent -basedonreleaseversion=1.0 -stage -compressed
        then the resulting pak can be found easily, ready for renaming, copying to the installed game for quick testing, and uploading...

        - it would be nice to have a solution for displaying the output log while the mod plugin is being built, similarly to project launcher (in case of errors we could support modders more easily)

        - copying the mod pak files to the Content folder of the installed game is not always possible, imo the pak loader plugin available on marketplace is the correct way how pak files should be mounted, because it enables mounting paks from any location e.g. steam workshop folders. and steam workshop support is a must today.

        - I would love to see a live stream or a tutorial of up/downloading paks using SteamWorkshop and Mod.io too, and managing them in-game, especially maps. (other stuff can be)
        Edge of Chaos RTS
        "Age of Total Heroes" - RTS Pathfinding and Movement System for UE4
        RTS Camera C++ Tutorial

        Comment


          #5
          Hey all, looking forward to walking through the project tomorrow! Gonna tackle some of these that are more specific / things we can't cover on stream -

          • Mobile Platform
          I unfortunately am not the best to comment on the topic of upload / download for mobile, you might want to post anything question you've got in the mobile forums under the Development Discussion section.

          - 1st of all, creating a new mod plugin by a button click is really handy for modders, thanks for that! using a pair of replacement components is also a nice idea. and ofc the editor widget is also like a xmas present. but seeing more comments in the source would be lovely.
          I have intentions to add a few more in areas where things are less than clear as well as some extra logging where appropriate. Thanks for the reminder and kind words!

          - it would be nice to have a solution for displaying the output log while the mod plugin is being built, similarly to project launcher (in case of errors we could support modders more easily)
          This is something we had in Robo Recall, but I think we had it as an editor setting and not a plugin setting. I will check with the Editor folks to see if there's a way to enforce that via a command, but I am not sure there is at the moment.

          - I would love to see a live stream or a tutorial of up/downloading paks using SteamWorkshop and Mod.io too, and managing them in-game, especially maps. (other stuff can be)
          That sounds like fun, we'll keep it in mind when thinking about future content. Same goes for your question about WRT paks mounted from anywhere / Steam Workshop!
          Let's Connect [Twitter]

          Comment


            #6
            Hey Chance! Got a few quick questions from one of our community members here in Portland:

            - Will this plugin be updated/maintained moving forward?
            - Can it be used/integrated with the mod.io plugin?

            Thanks! Congrats again on the release.
            Join Unreal Slackers, the largest Unreal Engine communuty on Discord! → https://unrealslackers.org
            Have a question? Give me a shout on Twitter → https://twitter.com/heypfist

            Comment


              #7
              sounds like an interesting stream!
              good to see ya back on one of the streams Ivey ​​​​​​​

              Comment


                #8
                Hey, thanks for the streaming and the plugin! It's awesome and I always wonder a lot of how games like Warcraft III or AoE creates an mod editor for the players.

                I got really confuse about this:

                Should I give the users the full project of the game to let them being able to create mods? Like a Github project so them can download it and having UE downloaded create a new mod?

                Thanks!

                Comment


                  #9
                  - Will this plugin be updated/maintained moving forward?
                  That is the intent on my end. I hope to add some other functionality to it to make it more robust at some point. For now, it will remain scoped around Robo Recall's capabilities (minus code mods) as we have a shipped game using the methods and a bigger example in it.

                  - Can it be used/integrated with the mod.io plugin?
                  I can't imagine why not, but I am not terribly familiar with their tech. I've had brief conversations with that team, so we'll see I suppose!
                  Let's Connect [Twitter]

                  Comment


                    #10
                    Glad to see more mod support! This was a huge strength of UT and I badly want UGC to be easier for UE4/UE5 based games (my own especially)
                    Game Developer @ LODZERO - My Twitter | tomlooman.com UE4 samples & tutorials | C++ Survival Game (Open-Source)

                    Comment


                      #11
                      This could make my job tremendously easier for my own game as well. My work for my in-game editor has been drastically reduced thanks ot this plugin!
                      Lord Iheanacho
                      - The Founder

                      Néotl Empire
                      Maze Qore
                      2D Top Down Shooter

                      Comment


                        #12
                        This is great!

                        I wonder what's your plan regarding code modding - Is it possible to inherit from other class from the main game or use pre existing interfaces for exemple?

                        -Playcraft dev

                        Comment


                          #13
                          The protecting your assets when releasing an editor is still a bit vague to me. I'm looking into having people only create new maps or edit existing ones. And of course you'd want them to have access to the game's art. Is there any way to protect your art and not be forced to include uncooked art files in your custom editor?

                          Would be great if the editor could somehow read your game pak and make the art assets and maps visible in your content browser as read only, and have the modders reference these assets when they make maps.

                          Comment


                            #14
                            I am glad this exists! Going to make my game have modding support from the beginning. The only question I have however, is:

                            Will there be support for this in the launcher version of the engine?

                            Other than that, great job!

                            Comment


                              #15
                              Originally posted by Aerodos12 View Post
                              I am glad this exists! Going to make my game have modding support from the beginning. The only question I have however, is:

                              Will there be support for this in the launcher version of the engine?

                              Other than that, great job!
                              We answered that and more during the livestream, but the TLDR is that we currently aren't able to due to how the packaging process works. That might change in the future though!

                              Comment

                              Working...
                              X