Overview
An internal training application authoring system developed for a client to create and manage training content for their staff. The system was deliberately split into two components: an external application where users created and configured content sequences, and a Unity-based runtime tool that interpreted the resulting sequence files and executed them.
The architecture was designed to keep the core content system engine-agnostic, allowing different runtime implementations to interpret the same sequence format while keeping engine-specific functionality isolated to the relevant interpreter.
My Role
I was a solo developer on the Unity side of the tool. I had near-complete ownership of the Unity editor and runtime side of the project over approximately seven months. I was involved from requirements and design through implementation, integration, testing, and delivery, while collaborating closely with the team developing the external authoring application.
My Contributions
- Helped define the requirements and technical design for the entire tool ecosystem.
- Designed and implemented the core Unity editor systems responsible for working with authored training sequences.
- Developed the runtime interpreter responsible for reading sequence files produced by the external authoring application and executing their content within Unity.
- Helped establish the integration between the two applications, ensuring that output from the external authoring tool could be correctly interpreted and executed by Unity.
- Developed additional Unity Editor tooling to improve development and iteration workflows.
- Wrote extensive unit tests covering core editor systems and functionality.
- Performed manual end-to-end testing across the entire tool ecosystem, creating sequences in the external application and verifying that they could be correctly interpreted and played through in Unity builds.
- Used end-to-end testing to identify integration issues between the external authoring application and the Unity runtime.
- Collaborated closely with the team responsible for the external authoring application to resolve integration issues and ensure compatibility between both systems.
- Managed merge requests for the Unity editor tool, reviewing and coordinating changes to maintain code quality and stability.
- Took ownership of testing and quality assurance for the Unity side of the system, combining automated unit testing with manual integration and end-to-end testing.