Announcement

Collapse
No announcement yet.

Reusable code and content. Plugins or game modules ?

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

    Reusable code and content. Plugins or game modules ?

    Hi everybody!

    I'm making some 3d tilemaps tools that I plan to use with my games (and hopefully share with the unreal community at some point).
    I started it as plain game code in a new project but now I want to setup it in a way I can share it between projects easily.

    At first the obvious choice was to convert it into a plugin, however I need to be able to use the tilemap code from my C++ game code, and seems that plugins are not really thought to be used in that way .

    I made a small test to see if I could call plugin code from a game module, and while it seems to be possible, hot-reload stops working.

    The other option is to convert it into a separated game module, since it doesn't modify the editor in any way. The problem is that the code has some content dependencies (a few meshes and materials) and also would make difficult to have separated git repositories for my game and my tilemap code. I don't even know if it's possible to have more than one git repository in the same folder.


    So, any advise ?

    #2
    You can use your plugin code directly in a C++ project by adding the plugin as a module in both the private and the public module dependencies.

    If I where you I would add the code as git submodule (a complete separate repo within yours http://git-scm.com/book/en/v2/Git-Tools-Submodules) and your content as a plugin, using content dependencies can then be made using FStringAssetReferences so you do not need to hard-link them.

    I normally use several different repos for my plugins and modules and add them as submodules in my game repo, it s a way to reuse them and then release your plugins in case you want to let others use them.
    Sr. Engine Programmer @ www.playspace.com - moritzwundke.com
    Remember: be polite and respect other peoples opinions - Join the Unofficial Unreal Discord Channel - Found a bug? Then use the Bug Report Form to get it fixed ^^

    Comment


      #3
      Hi Moss. Thanks for your help.

      I know is possible to use plugin code from C++, however hot-reloading stops working for me (Unreal complains about not finding the plugin dll). Maybe I configured something wrong ?

      I'm going to give the submodule approach a try anyway. Didn't know about git submodules.

      Comment


        #4
        They are quite handy but also the workflow is quite unflexible, read carefully on how to commit/push changes to them

        When using them correctly (just follow the documentation) they are awesome ^^
        Sr. Engine Programmer @ www.playspace.com - moritzwundke.com
        Remember: be polite and respect other peoples opinions - Join the Unofficial Unreal Discord Channel - Found a bug? Then use the Bug Report Form to get it fixed ^^

        Comment

        Working...
        X