Object Pool


In an attempt to make my current and future Unity games more efficient I developed an Object Pooling runtime utility, so rather than instantiating and destroying objects as they’re needed, the object pool will recycle existing objects as they’re no longer required. For the sake of convenience the Object Pool class is based off of the Singleton pattern, so to use it you don’t actually have to place a Game Object with the Object Pool component on it in a scene to use it. However, if you want to pre-load the Object Pool with prefabs you can, this does require you to manually place a Game Object with the Object Pool component on it in the scene in order to populate it in the hierarchy window.

For the sake of convenience, the Object Pool class uses functions that are almost parallel to Unity’s Destroy and Instantiate functions. So rather than using ‘GameObject.Instantiate’ you use ‘ObjectPool.Spawn’, with the new function returning a GameObject and its arguments mirroring those of the default Instantiate function. As for the ‘Destroy’ function, you can instead use ‘ObjectPool.Deactivate’, this function has two different sets of arguments, the default being to deactivate the specified object immediately, and the other being to deactivate it after a defined number of seconds.

Asset Store Page

Drop to Surface


While I have been working on environments/levels in Dragonspawn 2 I found that I was having to place significant amounts of clutter objects by hand, and as I’m sure many level designers know, that can involve a whole lot of up close fine tuning of positions to ensure that different objects actually look like they’re sitting on a surface and not floating above or clipping through them.

This got me to thinking, what if I could just press a button and use a Physics Raycast to project downward and have Unity do the rest of the busy work for me?

In the end I wrote a neat little Editor Utility that used a Raycast in conjunction with the collision bounds of an object to determine where the object needed to be placed when ‘Shift + D’ is pressed.

Asset Store Page

NGUI Add-on: Color-Blind Utility

Color-Blind Utility

I recently wrote a simple Color-Blind Utility for NGUI: Next-Gen UI, the add-on allows you to assign alternate colors and sprites from an atlas to UISprites, as well as colors and fonts to UILabels (including those targeted by a UIButton’s color tweening). This add-on also includes a color-blind simulation post-processing effect to be used for testing purposes (Requires Unity Pro License). I designed the add-on in such a way that it should integrate fairly seamlessly into the pre-existing NGUI toolset and be easily modifiable from an API level, making it easy to integrate into a game’s settings menu.

Asset Store Link: https://www.assetstore.unity3d.com/en/#!/content/17418

Mage Rage (Game) – University Assignment

Mage Rage Logo created by Ashleigh Barrett, Team Stallion Logo created by Tylah Heil.

Over the past 15 weeks I have been working along with three others on our final Game Project for our Degree. Throughout this Project I have worked on Level Art, Gameplay and Technical Programming, Audio Mixing, and recorded various dialogue for different characters.

Mage Rage is a First Person Puzzle Platformer set in a world of magic and mystery, where not even the fourth wall can protect you from the alcohol infused shenanigans of the College of Sandy-Crack and its intoxicated inhabitants.

A Gameplay Trailer and Screenshots can be found on the Team Stallion Facebook Page.

Mage Rage is available on Windows, Mac, and Linux, and it can be downloaded from here.


I was also nominated, and won the award for ‘Most Outstanding Gameplay Achievement’ for our Year Group at an awards ceremony held after our Demo Evening on the 25th of November 2013.

Additional Credits:

Ashleigh Barrett (Portfolio Link TBA)

Nathan Jensen (Portfolio Link TBA)

Tim Horvat (Portfolio Link)

Dragonspawn (Game) – University Assignment


Dragonspawn is a small game project that I created for my final Advanced Game Development Assignment at Griffith University during my second year.

Dragonspawn is a lighthearted parody on many modern games, and contains a fair bit of of crude humour, it should not be taken seriously and isn’t recommend for the faint of heart or serious of temperament.

Though largely inspired by the game Berserker Quest VI: Curse of the Onyx Medallion (http://armitagegames.com/), Dragonspawn borrows many technical design choices from the Borderlands, Call of Duty, Bioshock, Mass Effect, The Elder Scrolls franchises without directly trying to replicate any of those titles (except maybe in the area of the HUD). Early on the game just involved walking around shooting at a dragon that would fly through a large room breathing fire. As the game evolved through the production cycle many highly unnecessary game mechanics were violently cobbled on to ‘make it better’ (that was a joke).

This project was originally created for a University Assignment and all of the associated assets were created by one individual in an 8 week period.

Download Dragonspawn Here!

Created by Tylah Heil (http://www.tylahheil.com/).
Music by Kevin MacLeod (http://www.incompetech.com/).