G’day all, here to share what we just went through.
We’ve been doing a lot of AI related work on Ground Branch lately, as people have really responded well to the cooperative mode vs. AI controlled bad guys.
We recently came across a very odd bug that caused all of the bad guys to no longer target anyone.
Turned out to be an absolute nightmare to find.
In case it was related to something we’d done, I began updating and/or outright replacing any of our code relating to AI and teams.
Meanwhile, @zoombapup did the annoying debug work and after some back and forth from one of the programmers at Epic, tracked down the problem.
And so it got fixed.
It sucked and cost us several days… but that’s UE4 baby
And now some words of advice:
- When a new version of the engine comes out - don’t upgrade.
Skip a version (or two).
Ground Branch is currently using UE4.11.2.
Before that, we were using UE4.9.2
- When a new feature is added that you really want/need - don’t upgrade.
If you were getting along with out it before, you can get along without it now.
- When a bug is fixed that you needed to be fixed - don’t upgrade.
If it is a vital fix you, see if you can patch the fix in yourself.
It can be tedious sometimes, but its doable.
A decent comparison program works - I personally use Beyond Compare.
- If you must upgrade - don’t upgrade.
Wait a week or two - there is usually a hot fix (or 5) on the way.
In the mean time, go over the change list and make note of any key things that may affect you and also check out the latest latest transition guide.
- Once the hot fixes are out - don’t upgrade.
At least don’t upgrade the main build that your team work out of.
Create a branch (or what ever your version control system calls it) that you can use for upgrade and work in that.
Once you’ve had time to update the underlying C++ and core Blueprints that have been affected, work on content.
Once you’ve got content out of the way, check it.
If its a multiplayer game, check it online.
Then - and only then - consider merging back into your main branch.
We learned these lessons the hard way.
Hopefully this will prevent our mistakes becoming yours.
As far as where we’re currently at, now that 4.13 has dropped, that’d be the “waiting for hot fixes” stage.
I’ve gone over the change list and checked out the transition guide for 4.13.
I’ve even begun checking out individual functions that are important to us.
Once hotfix 1 drops - no doubt within the week - I’ll create a branch and begin on the C++ changes.
Wish me luck