DevLog 0005 - Choosing Version Control for my Indie Unreal Engine 5 Game
Good news! Today, I hit the data transfer limit on GitHub. I was curious how long it would take me to exhaust my paid GitHub limits, and now I know. It took about a week of part-time development. I know git LFS abuses storage by copying the entire blob of bits for every minor commit. git is great at text files and source code. Not so good for large binary files like those I’m playing with now for game development.
This post intends to share my selection process. But first, the important things:
First, a Family Update #
My wife is away today. She is visiting with my Mom and helping prepare their house for sale after my Dad’s recent death. They often have a lot of fun, and I’m sure they are up to all sorts of mischief today as they pack things up, explore old artifacts, and laugh. Unfortunately, I’m only partially having fun on my passion project this Saturday. At work, we have a significant release in flight, and I’m mostly observing, jumping in to help where I can, and extending gratitude to the people who make things happen.
Choosing Version Control System (VCS) for Unreal Engine 5 #
Knowing that I was going to hit the wall was good. I’ve been looking around at Perforce, Plastic SCM, Git, SVN, and even simple solutions like zipping archives every Friday or using Google Drive or Dropbox to sync and save my work. I can’t YOLO. Zip it or sync it. Good for you. For me, I need to commit, write a message, organize my thoughts and have small, granular control over each iteration. I need my work saved in a reliable system I trust. I pay money for this peace of mind. I needed to revert a few hours of work because it was beyond midnight, and I got confused and worked myself up into a mess I couldn’t comprehend. I need version control. So, I quickly discounted zip files, syncing cloud filesystems, and now, I’ve hit the wall with git. So where to from here?
I signed up for an Assembla account and was disappointed not to try Perforce as part of my trial. If Perforce had more cloud adoption, I might have selected it but Perforce seems to be about a decade behind the curve. So, I turned away from Perforce and toward Plastic SCM. Instead, I’m trying Plastic SCM in the Cloud. I like the pricing model grows as my usage increases, and it seems affordable for me to start.
So I’m using Plastic SCM as of this writing. My files just finished encrypting and pushing up to the Cloud. I’ll post back if I change my mind. Worse case, I’ll get back to git and just run my infrastructure on GCP since I’m not worried about conflicts with other developers. Solo has some advantages.