Branching & Revision Control – Stability, Sync, and Performance Issues

Summary

Branching & Revision Control Feedback

Branching and Revision Control are amazing concepts, and the practical use of them on paper is really good. However, after using them for a while, we’ve found that the actual execution has been much worse than expected.

The biggest issues we’ve experienced are loading times, quality of life, and, most importantly, overall stability.

Whenever we merge branches, it can take significantly longer than expected and often leads to unexpected errors or issues that are difficult to understand. We’ve encountered multiple situations where something should have worked after merging, but didn’t.

For example, I changed a variable in a UMG. A teammate then synced and merged the branch, so the variable should have been available in their project. However, it wasn’t, which caused an error. We eventually had to resolve it by committing the change out and then compiling before everything started working correctly.

These kinds of issues happen randomly and make the workflow much more error-prone. Combined with the long loading times and the amount of troubleshooting required after merges, it negatively impacts the overall developer experience.

Developer Experience Feedback

My main suggestion for improving the overall experience would be to add notifications when someone checks in or commits changes to a branch.

Currently, there’s no clear notification when someone makes changes to another branch, which makes it difficult to know when new changes are available and when you should sync or merge.

Overall, Branching and Revision Control are great ideas, but the current implementation needs significant improvements in stability, performance, error handling, and communication between team members.

Please select what you are reporting on:

Creative

What Type of Bug are you experiencing?

Lore

Steps to Reproduce

Merge

Expected Result

Good loading times, with everything compiling in the correct order: assets first, then Verse.

Observed Result

One issue we’ve noticed is that Verse sometimes doesn’t detect newly changed assets correctly when working with Branching and Revision Control.

For example, we’ve had situations with UMG where a variable was changed, but after the other person synced and merged the branch, the change simply wasn’t there. This can lead to random errors that are difficult to understand or reproduce.

We’ve also had issues where changes either don’t sync properly or don’t appear at all, and sometimes the only way to fix them is to delete the .lore file and re-sync/compile everything.

On top of that, the loading times when syncing or merging branches are extremely long. These delays and issues generally don’t happen when everyone is working on the same branch.

Overall, the concept is great, but the combination of Verse not detecting new asset changes, UMG changes not syncing correctly, random errors, needing to delete .lore files, and very long load times makes the workflow much less reliable than simply working on the same branch.

Platform(s)

PC

Island Code

5791-2777-2631

Upload an image

Additional Notes

Loading speed was better in the previous version.

Hi @iicq-og thanks for this feedback/bug report on Lore’s beta branching support:

  • Regarding the UMG variable being in the state you expected post-merge, we’ll dig into this one - if you have found concrete steps that consistently reproduce this issue please let us know as it will help expedite a fix.
    • Also since it sounds like this was one example of a few you may have run into please share any details/repro steps on additional unexpected states you’ve run into
  • Regarding long merge times, the next time merging branches takes a long time for you, could you please send me your logs? Its definitely something we’ll want to investigate, but hard to advise what may be happening that is causing the delay without being able to look into your logs.
  • Regarding cross-branch locking, or at least warnings of what may be locked in a different branch, is something thats on our roadmap (the UEFN implementation will stem from the core tech support described here in the Lore Open Source roadmap, and will come realistically come in 2027.

Noted. I’m going on vacation and will be back in a week. I’ll be sure to notify you and send you all relevant logs in the future whenever something takes exceptionally longer than expected.

thanks @iicq-og!

Our QA team has not yet been able to reproduce UMG variable changes not resulting properly after merge. If there’s any additional details you or your team could provide on that issue, especially if you can reproduce it again would be greatly appreciated. Logs and/or videos of it happening would also be very helpful.

Hey Garren, I just got back from vacation. I wouldn’t say the variable itself changed. It seems like the team’s UMG the one merging into the main branch didn’t receive the variable, but it did receive the updated Verse files.

This caused an error because the Verse file references that variable, which for some reason wasn’t included or updated properly after the merge. This has happened on more than one occasion with different UMGs same project .

We’ve also decided to stop using branches going forward. I’ll send videos along with the logs for any new reports to provide more context and make troubleshooting easier thanks for the response.

Thanks for the reply @iicq-og,

If this issue is causing you and your team to not use branches, we’d really like to better understand what might have happened, but we have not yet been able to reproduce this state internally.

Are you or any of your collaborators able to reproduce this and the long merge times consistently?

If so, we’d still greatly appreciate logs, a video, and/or the repro steps you’re taking, so we can get to the bottom of it.

You can DM me on discord at epic_garrenif easier to share any of it there. Thanks in advance!

Sounds great!