Good day everyone, hope you are having a good day! Just reaching out to see if anyone else has had luck with utilizing the merge blueprint feature that seems to be in UE blueprints. Tried to use it, but the feature is not really explanatory nor is there documentation (at least that I can find). Trying to utilize it to help create a more seamless workflow with multiple people working on the same blueprint, without having to update everything manually, (time and cost consuming, but if need be will do it). If anyone has had success with merging blueprints, either in UE or with a separate program (i.e. source control [which reminds me, we are using Plastic SCM]) and have good tips or sites that helped, that would be greatly appreciated!
Unfortunately there is no simple way to merge blueprints, it is one of the downsides to using blueprints collaboratively. This is the reason locking is so important for source control and is the main advantage of using something like Perforce (we use git and file locking is a bit of a problem for us)
Like all binary files, Blueprints cannot be diffed and in the same way that written code can. However the engine’s blueprint diff tool can be used to show you the difference between two blueprints, which is a start. Blueprints can also be copied as text which can be a fast(ish) way to add someone else’s changes into a blueprint.
The best solution we found for this was to basically just use blueprint with collaboration in mind, so don’t let them get unwieldy and try not to create to many hard references, so use things like interfaces instead of casting and soft object references whenever possible. It also helps to use the concept of a master blueprint (or better if you have the means, a master class written in C++) so that if you are making small changes to something say cosmetic you don’t have to have that entire blueprint checked out.
So sorry this turned into a bit of an essay on project management but simply you cannot merge blueprints (although if you find a way I’d love to know it!)
FWIW, UE5 has a Merge feature, which can give a three-way merge view, and presumably has some tools for handling it. I’m trying to figure out how to operate it now, which I suspect was also what NerdRebellion was trying to do a couple of years ago.
TLDR, there is a merge feature, it’s just not entirely obvious how it works (my first thought was that you want to be in a state where source control has left your file with conflicts, so it can help you fix them, but it looks more like you want to still be working with your source file versus the depot.
edit: apparently this actually goes all the way back to at least 2016, and i still don’t see anyone having conclusively figured out an approach to using it lol
When you say it’s an issue since 2016, you’re talking about this thread right? Just so people can track it better
I found this plugin which, oddly, looks very familiar with the merge tool we have today, i haven’t managed to make it work for Unreal 5.1, so if anyone wants to try their luck. Merging BPs could be a big thing
As far as I can figure out, it’s a 3-way diff, except it can’t seem to load unmerged CLs, nor does it do what I expect when loading a conflicted blueprint.
So, I’m not sure what it’s exactly useful for. It’d be nice if Epic (or anyone else with experience using it) could tell us the workflow they use it with