slowburn-dev / DataConfig

Unreal Engine JSON/MsgPack serialization framework

Home Page:https://slowburn.dev/dataconfig/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reorganise source to support DataConfig as drop-in git submodule (suggestion, not an issue)

JupiterJones opened this issue · comments

My typical workflow is to fork a project I'm working on/with, create a new branch for any changes I might make, then use git submodules to place the fork within its containing project.

This allows changes to be pushed to the right repo, and others to clone the project and have all the submodules, with the changes on the new branch, automagically be in place.

With DataConfig, the actual Plugin directory (with the .uplugin file) is not at the top level so this doesn't work by default.

Right now, I need to clone the fork locally, then make a copy of /DataConfig into the plugins directory of my project. This is simple enough, however, if I make changes, I need to manually copy those changes back to the fork.

So... after that long and probably unnecessary introduction, the suggestion I'd like to make is to remove the DataConfig/DataConfig directory and place the contents at the top level.

I don't know how many others would find this helpful, and maybe it's just some latent OCD creeping in, but having to duplicate code out of it's repo gives my project "special needs", and requires users to learn those needs.

PS. Of course this can already be done by moving things around in my branch, but if there's something to contribute back from the fork to the parent project, it makes it a bit trickier. In any case, just close this issue if you don't see value in the suggestion :)

Hi! The thing is that it seems it's impossible to setup a plugin layout that works with both UE4 and UE5, hence the DataConfig.uplugin and DataConfig4.uplugin seperation. Also even if I do the layout change as you described it would still have trouble with the DataConfigHeadless.Target.cs that would break it as a plugin.

I actually have a similar issue like you described and my solution locally is to create soft links (junctions on windows) and link individual folders to the UE project. I suggest you try this out. You can reference the scripts for making the release plugins to see which folders are needed.

Or even simpler, you can just link the DataConfigCore folder into your project as a game module which also should work. Using DataConfigCore module without UE plugin layout is an intended use case.

Hope this helps!

Absolutely - the only thing that would change is moving the contents of the DataConfig/DataConfig directory to the top level - it doesn't solve any of the other issues :)

Really, the ONLY thing it solves is being able to use the repo as a git submodule located directly in the Plugins directory.

I am using a symbolic link at the moment which saves doing manual copies. And yes, simply linking DataConfigCore is definitely the way it will end up in production so may as well just do that now. :)

Thanks for the consideration. Feel free to close the issue.