So last time I talked about the new Event system that we are using for the game. This is turning out to be much better than using the current BroadcastMessage that we were using before. Not only can we document the Events that might be called by the game, but we can also see were the Events are being called, and what Classes are calling them.

One other pattern we are following is the Singleton pattern for Unity GameObjects. There are several ways to do it as described here. What this pattern has given us is the ability to encapsulate alot of functionality in single GameObjects. For example, we have one GameObject that manages the Scoring system. One GameObject that manages the Timer on a level.

It makes the code much clean and gives the developers confidence that as long as that one GameObject is in the Scene they can use it.

Using the combination of Event driven code and Singletons, we have improved the functionality and our development workflow.

Curious to see what other Unity Developers are using as well.