Captain’s Log 09.30.2018 : Upgrading Unity

The latest change that has hit us is Unity 2018. I’d heard lots of good things about the new version, but the thought of possibly blowing up the game we’d been working on for the past 5 years nauseated me. I forced the team to procrastinate it until we knew exactly what would happen and had a plan in place.

For an indie game design team, updating software can be risky because if it breaks the game, then the time it will take to fix it can be daunting.

We were going from version 5.6.2f1 all the way up to version 2018, so it was a significant upgrade. We finally felt that the updates Unity made to the software merited taking the risk. It would put us on better footing for future releases when we serialize DANIKA DIRE, anyway.

Sometimes, you just have to take the leap knowing that you have version control in place if everything goes nips up.

How We Did It

We decided it was best to have one person test the upgrade first without pushing it to the hub. One teammate — Jason Mellott, our features lead — tested it all out for us in advance, evaluated and fixed the bugs that came up, and managed to ease my mind enough that I gave the go-ahead for the update.

When you have a team of people who are all upgrading at the same time, it can get complicated. Here’s what we did:

Set a specific date for work to stop and be all checked in. Give them plenty of warning, and remind them several times that this is happening. It doesn’t hurt to double-check with everyone to make sure everything is checked in. All work has to stop and all previous work has to be checked in before the upgrade.

Back up your project.

People can download and install the new version, but make sure they understand they cannot do any work until everyone has upgraded.

Once work has stopped, one teammate upgrades and fixes any bugs that appear as a result. (Thanks, Jason!)

Arrange a date and time when everyone can perform the upgrade together, preferably with everyone online together on Discord, Slack, Skype, or whatever program you use for group meetings.

Once everyone has the software update installed and the bugs in the project have been fixed, then the fixer (Jason, for us) pushes his changes to the hub.

Now, the project is ready for everyone else to pull in the hub. They load their updated Unity and select the project.

Then comes the waiting as Unity works its magic, imports all the things it imports, and gets ready to use. Be patient during this part. It may take a long time, and it’s not always clear that the software is still working. Let it run until you’re absolutely sure it’s done.

Learn From Our Mistake

We made one mistake: we didn’t upgrade our Unity apps before pushing the project to the team, but it wasn’t a critical mistake. Once we realized that some of the apps were breaking, it was easy enough to go in and shore them up. Since we were all there together, communication was spot on, and no one was left with conflicts in their pulls.

Our team upgrade actually went quite smoothly! I say it often, and I mean it every time: I have the best group of people at Games Omniverse!