Lightweight messaging in Unity with TinyMessenger

Up until a few days ago I had been working on a yet-to-be-announced iOS game made with the Unity game engine, and I believe that one of the best technical decisions I had made in designing it was to use an in-process messaging system from the get-go. That decision continued to pay dividends until the very end as it helped keep the various components in the game well-separated and as self-contained as possible, which led to a code base that is more maintainable and resilient to change as it grew.

There are several messaging systems out there that are specifically built for the Unity game engine, but I decided to go with a more general purpose solution from a little gem of an open source library called TinyIoC.

Continue reading

Correctly using external Version Control Systems with Unity

This post describes the how I set up new Unity projects for use with an external VCS, which is based on the process described in the Unity documentation, but corrects a few omissions that unnecessarily include unneeded files in source control. And while I’ll be using Subversion in this example, the process should be applicable to other VCSs by changing the Subversion commands used here to their appropriate counterparts.

Continue reading

All there is to know about Unity coroutines

The Internet is broken, and here’s proof: For a person like me, who is into game development with Unity, who is online almost daily unless someone within speed dialing distance dies, and who is hooked into the forums and the feeds and the Twitters and the Googles, for someone like that to somehow miss reading this fantastic article titled “Unity3D coroutines in detail” by one Sir Richard Fines, Esq. is a sure sign that there’s something wrong with this world. Or at least with the online portion of it.

Inside COM for the WinRT!

I noticed I still had a copy of Inside COM on my shelf the other day. I guess I held on to it because I fondly remember COM as a simple and elegant technology that had the potential to be the vehicle of true Component-Based Software Development, or at least give C++ developers a usable Application Binary Interface that it still lacks to this very day.

Unfortunately the elegance was quickly lost under the clutter of IDL and COM+ and ActiveX and IDispatch and the rest of the kitchen sink that was piled on top of it.

But seeing how COM is making a comeback with WinRT, and how new copies of this book are selling for US$60+ on Amazon, I’m glad I kept it. It might come in handy in the near future.