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.
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.
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 Git - 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.
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.