Although games are my main passion, I often take part in developing tools and systems to enhance workflow and optimize pipelines. In other words, I build things people can build other things with. Here you will find examples of projects I did in that regard.
Data Tracking & Visualization
Overview: The Data Tracking & Visualization Tool is a tool developed to improve the playtesting and iteration workflow for Recollection. It tracks every playthrough using coroutines and events and saves them to XML, JSON or a Binary format according to the user’s preference. That data can then be loaded into the editor to display 3D representations of the players actions within the game environment. That allowed our level designer to make changes on the fly and find problems our tester were encountering.
Role: Tools Programmer
In this project I had the chance to experiment with custom inspectors and serialization. Also learned the proper way of integrating and applying JSON.Net into Unity. I had to deal with Gizmos and how to properly configure data to ensure it would be displaying in an easy to understand way.
Story Node Editor
Overview: The Story Node Editor is a Unity Editor extension which allows authors to quickly write and visualize dialogues and branching in their games. Each dialogue is contained within a Scene and each Scene can contain many nodes. The nodes store lines of dialogue and end with a question, which allows users to connect Nodes with each other and keep the flow of the conversation going.
Role: Tools programmer – Solo project
Initially developed as part of side project while at Vancouver Film School, developing this tool allowed me to explore further how Unity Editor’s UI works while implementing a Model View Controller based system. The next steps in the development roadmap are to implement saving to an external file (JSON, probably) and add reflection so the authors can access variables and methods within behaviours and create conditional choices and callbacks.
Overview: Easy Selector is a search tool that allows users to easily find and select objects with specific parameters in large scenes. Users can query things like name, tags, layers and components attached to the object they’re looking for and Easy Selector will automatically find and select them in a scene.
Role: Tools Programmer -Solo project
Easy Selector was built during the pre-production of Recollection, when our Unity Scenes were getting exponentially bigger and harder to navigate. It allowed me to explore the potential of the C# LINQ library, which dealt with the merging of lists resulting from multiple search parameters.
Game Frame: Animation Exporter Tool
Game Frame is a frame-by-frame animation exporter tool which screenshots the game in Unity’s editor and saves it with user provided parameters.
Users can configure the resolution, number of frames and save location, as well as control the current recording state.
Role: Tools Programmer – Solo project
Game Frame was my first attempt at developing tools as a Unity Extension a couple years ago. It was my first experience and it allowed me to experiment and learn the basics at my own pace. Recently I revisited the code and refactored the system, making it clearer, better organized and documented.
Download link: coming soon. 🙂