The Author of Unity in Action: Work Experience and Tips for Beginners

The author of Unity in Action Joseph Hocking told us how he started his journey in game development, spoke about the advantages of Unity, and explained why he decided to write his famous book.

Introduction

I'm an experienced Unity developer and C# programmer and the author of the book called Unity in Action. I worked on the first edition while I was at Synapse Games (now part of Kongregate) programming the CCG Tyrant Unleashed, but since then I've worked on many kinds of apps on a variety of platforms: simulation tools on desktop, handheld AR on mobile phones, and most recently deploying Unity games to various XR headsets at Qualcomm.

Beginning the Game Dev Journey

As a teen, I tried to copy the digitized sprite approach of the then-new Mortal Kombat. Does that count?

Aside from goofy experiments like that, I guess my shift from only playing to also making video games happened while I was in college, where I took a class in VR taught by Randy Pausch, the author of The Last Lecture. That was in 1999, a long time ago!

In fact, I started in game development as a 3D artist but switched over to programming. That switch was long before I even started using Unity.

On Teaching

I wouldn't exactly say I've shifted to teaching, but rather I waffle back and forth on how much time I spend sharing knowledge. While I continue to write tutorials and update my book, I haven't actually stepped into a classroom in almost a decade.

Randy Pausch was certainly an important mentor and role model to me. I've long considered sharing knowledge important, as a form of paying it forward for the help I've gotten.

Choosing Unity

When I started working at Synapse, I was a Flash developer making games on the web, and they needed an engineer for their web games. Eventually, they decided to pivot to mobile games, so my boss asked me to investigate different options. The one I liked best, and that he agreed on as well, was Unity. This was back with Unity 4 (before they started naming Unity after years, and the numbering system I'm so glad they are returning to!). Over the years I've gotten to explore many parts of the engine, not to mention deepening my mastery of C#.

Unity's Advantages

The main strength is the robust support for a ton of different platforms. Not many game engines have as much breadth in the platforms you can target (desktop, mobile, consoles, VR, etc.) and even when they do, the support often isn't as robust. For example, Unity automatically recompresses all your assets when building for different platforms, in order to optimize for that platform.

Closely related is the flexibility in the type of game. By that I mean not only the genre but even whether it's a 2D or 3D game. You can mix and match at will, creating, say, a game that is mostly 2D but uses 3D graphics in one level. There are even major frameworks for stuff like augmented reality, both on phones and in cutting-edge AR headsets. When I was responsible for the mobile apps at BundlAR, we heavily relied on functionality provided by AR Foundation, Unity's AR toolkit.

Unity in Action

"How" I started working on it is somewhat of a mystery to me. Manning, the publisher, actually reached out to me, presumably because I was so active answering questions on Unity's forum and StackOverflow. I don't know that for sure though, and it was so long ago that there's no point asking now.

"Why" is clearer though. When I first started using Unity, there were fewer resources to learn from than there are now, and none geared toward experienced programmers. Remember, I'd already been programming for years when I started using Unity; every time a tutorial started explaining what a variable is I wanted to gouge out my eyes! Thus, what I wrote was pretty much the book I wish existed when I first started.

The difficulties of the subject changing quickly is why I stuck to intro topics in my book. I've written about more specific/advanced topics in blog posts or online tutorials, but that stuff would go obsolete on the time scale of a book. The fundamentals of the engine tend not to change as fast, however, so an introductory text stays relevant for longer.

How to Get Started?

I'll start off by noting that there are a lot more Unity learning resources now than when I started. Books, YouTube tutorials, even the official Unity Learn site didn't exist yet!

Where you start and what you focus on depends on your exact goals, in particular, what game development discipline you are most interested in. In fact, for a real beginner, I suppose that's the first thing to be clear on: there are multiple roles in game development, so you need to choose what to specialize in. Me, I'm a programmer (although I did switch to that after a stint as a 3D artist) while other roles include artist, game designer, etc.

Incidentally, don't focus solely on Unity. Even if you intend to solely use Unity, having a breadth of knowledge that goes outside Unity will benefit you. Don't even focus solely on games; one thing that expanded my C# programming skills was working alongside engineers using the language for backend development. Meanwhile, spend time practicing with other game development tools, like other engines that use C++ or maybe programming web games in JavaScript. You can learn a lot about what Unity brings to the table, how to expand on it, and even just generally hone your skills in game development.

Future of the Industry

I wouldn't make any large predictions about the entire game industry. I can answer the more tightly focused secondary question: how can smaller teams win? Focus on your strengths and avoid your weaknesses; the strengths of a smaller team are the ability to be different and take risks, while the main weakness is the sheer amount of games you can produce. Don't chase after the same sort of games as the big guys are making because a smaller team cannot keep up with their tidal wave on content. Instead, develop the games they aren't making, because then you're serving a hungry audience.

Conclusion

The easiest way to follow my updates is on my website. From there I link to stuff like itch.io for playable demos, GitHub for code I've written, and WordPress for my blog. As for my plans for 2024, I keep starting (but not finishing) turn-based dungeon crawlers, so I joined the Dungeon Crawler game jam this March and hopefully, I'll actually finish one!

Joseph Hocking, Unity Programmer

Interview conducted by Arti Sergeev

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more