StrangeIoC

When I was taking some time off a couple of years ago I started making Unity prototypes.  Unity is great for fast prototyping but all of the prototypes that made it far enough to get big started to develop issues with how the code should be broken up.  For example, I made an AITurnToPoint MonoBehavior that referenced a DestinationPoint MonoBehavior that we populated from other Behaviors.  The issue was, if I wanted to change the control scheme to use a controller, I needed to swap out behaviors to differentiate whether or not we were using a direction or a position.  This is just one example.

Gameloft's Seattle Tech Director Walker told me about this interesting architecture method built for Unity called StrangeIoC.  The idea is it uses C#'s runtime tools to switch out classes based on context.  So for example if I change the control scheme to be a controller, I can change the classes related to input and movement to the controller specific ones and I can to it at an object level (so AI and players can use different control schemes.) I'm planning to make an Asteroids clone to test out this method.  So stay tuned for updates on it.  I'll be using the new Unity 5!

StrangeIos