Practical Tips I Learned From 60 Days of Intensive Unity Game Development

Most fun I’ve had in a while

Micha Davis
4 min readMay 29, 2021
This is how I feel now every time I open Unity

In the past 60 days I’ve completed a 2D arcade shooter, a 3D stealth heist, and a 2.5D Platformer, all in Unity. It’s been a blast, and I have no intention of stopping now.

But I am going to take two days off to go camping with my family before I move on to my next project. So no articles tomorrow or Sunday. Before I go pretend to live in the wilderness, I want to type a bit about what I’ve learned over the past two months of intense study.

Make yourself put it down

Some times you’re just in the zone, man.

This one was hard for me. I tend to get engrossed in detailed projects — it’s a trait that can be useful in art, and it seems like it can be equally useful in coding.

But I found that if I let myself dive in too deep I can loose track of time. I can’t tell you how many meals I forgot to have these past 8 weeks because I had just “one more thing” I wanted to try. Take breaks. Pet the cat. Try not to code in your head during boring conversations.

Write pseudo code even if you think you already have a clear idea of what the code should look like

Obviously

By the time I was scripting my fourth character controller, I felt like I didn’t really need to be so diligent about planning and iterating carefully. And it turned out good, that time. I was kind of proud that I’d remembered all the elements.

That idea started creeping into my mindset, and I found myself plunking along without writing much pseudo code at all. It was a bad habit that eventually caught up with me — so just take the time to do it each time. There’s plenty of reasons not to try and keep it all straight in your head.

Put your tough problems down on paper

Speaking of not keeping it all in your head, sometimes even typing out words isn’t enough. Being a visual-thinker, I always make sure to keep a sketchbook and pencil handy to try and diagram difficult problems. Sometimes a mind map, flow chart, or sketch can really help move an idea out of the conceptual stage and into something tangible.

Take small bites

Iterating properly requires you to be sure that the previous iteration is sound before moving forward. So, much like the need for pseudo code, overconfidence can lead you to overextend yourself.

It’s much easier to debug a single, self-contained function that you just wrote and tested, than a whole network of interconnected functions across multiple classes that you pieced together in one go.

Take some time for personal project digressions

A few times over the course of the second month I found my attention drifting to problems or concepts outside of the project I was currently working on. My first instinct was to double down my focus and try to avoid distraction.

However, I found that if I give in to those impulses now and then it can be mentally rejuvenating, making it easier to come back to my main project later with more focus.

Never shy away from learning something new

There’s so much to know, sometimes it might feel overwhelming. But each opportunity to learn something new is an opportunity to get control of that overwhelming feeling in the only truly lasting way.

So what if the first google search you click for your problem includes an enum, and you have no idea what an enum is? Don’t go find the second solution and see if you understand it better, dive into enums and find out how they tick.

That’s all for today. I’ll be back on Monday for a fresh start on my first stab at a mobile sword-swinging adventure game.

--

--

Micha Davis

Unity Developer / Game Developer / Artist / Problem Solver