Tools Portfolio



We become what we behold. We shape our tools and then our tools shape us. – Marshall McLuhan

Here is more of my Unity game development portfolio.

UNITY

The Unity IDE is an all-in-one Editor that extends to match your production workflow. With the right expertise, you can extend the Unity Editor with whatever tools you need to match your team’s workflow.

Contract me to discuss solutions to your needs!

Unity Editor is Extensible

  • Extend and improve existing Unity functionality
  • Create and add new tooling too
  • Locate 3rd party features (e.g. Unity Asset Store), install, customize, and refine

Unity Tools Developer

  • Will identify workflow challenges and tooling needs
  • Will perform buy-vs-build analysis
  • Will develop custom tool solutions

You can use editor scripting (C#) inside Unity to make life easier for your game designers, or even yourself. With a small amount of code, you can automate some of the more tedious aspects of using the inspector to configure your behaviors, and provide visual feedback on configuration changes.

MY APPROACH

I am a game developer with years of experience in game play development, meta game development, and tools development. I prefer the Unity game engine, and I offer services (remote/contract) as a Unity Tools Developer.

Unity Tools Philosophy

  • Easy-to-use: Empower non-programmer staff (game designers, level designers, audio designers, UX, UI, etc…) to be powerful and independent for common tasks. Documentation and sample scenes are included to demonstrate common use-cases.
  • Hard-to-misuse: The lifecycle of the SDK & API are designed with workflow in mind. Lean consistent functionality with encapsulation and purposeful public signature and events
  • Iteration: The tool is delivered early and often during development. This encourages client feedback and ensures that the features and prioritization meet client needs.

Unity Tools Delivery

  • The tool is delivered as C# code, assets, and documentation. Format is Unity Project or Unity Package (*.manifest)
  • The tool is compatible with the latest LTS Unity Editor and targets cross-platform including MacOS/Windows standalone. Add other targets as desired including Android/iOS
  • Add unit testing, examples, and samples. Examples ship in one Unity project and are scene-by-scene demonstrations of features in isolation. Samples each ship as a separate Unity project and are demonstrations of features working together in concert.

Contract me to discuss solutions to your needs!

MY PORTFOLIO

Here are a few recent projects to demonstrate the power of Unity Tooling. These were created for clients under contract and unfortunately are not for sale. Projects of similar size and scope can be created and customized for you.


 Animation Events System (AES)

  • Offers event-based notifications for ALL Unity animation-related state. No more polling needed. Includes non-coding entry point (Via UnityEngine.MonoBehaviour) as well as a full C# API.
  • _aem.OnAnimationComplete. AddEventListener(OnComplete);

Audio Manager System (AMS)

  • A complete audio system built on top of Unity’s native audio features for use a fleet of live and in-production mobile games. Full music/SFX features including BPM, TimeSignature, Bars, tweening of Volume/Pitch Envelopes, etc…
  • Asset-based approached for drag-and-drop audio configuration, for stubbing of new sound events and for easy replacement of sounds (Via UnityEngine.ScriptableObject)
  • Empowers audio engineers to add custom music and game SFX without coding. Includes a suite of Components (Via UnityEngine.MonoBehaviour) for non-coding entry point
  • Enables programmers to add new functionality for bespoke solutions to audio needs. Includes a full C# API and documentation (in code and via PDF manual)
  • Buy-vs-Build Analysis: While ample 3rd-party solutions exist, the needs of the team required a new, custom solution.

AssetBundle Delivery And Management (ADM)

  • End-To-End system including the organization, building, shipping, and delivery of UnityEngine.AssetBundles.
  • Buy-vs-Build Analysis: New custom solution leaning on learnings of key external Unity projects (AB Manager, AB Browser)

Continuous Integration System (CI)

  • One-Click builds! This compiles the game from version control, runs Unit Tests, generates online documentation, builds the game, and delivers the build on a mobile device). Failures are articulated to stakeholders.
  • Facilitate a series of workshops so game teams refine their own coding standards which prioritize team needs
  • Establish peer-code review process which meets team goals. Training offered to give/receive respectful feedback
  • Setup Unit Testing framework (in Editor and on the build server) to run automated tests on key systems. Training offered on creating and maintaining impactful tests and testing practices.
  • Install documentation generator on build server (Convert C# to HTML code docs)
  • This was created using Jenkins. However, I propose to use the newest Unity Cloud Build service in the future.

Game Initializer System (GIS)

  • Organize and order the major game systems required at app startup and app refresh; Check for internet, (re)download external game assets, refresh game store prices/items, etc…
  • Each IGameInitializerSystem subclass you create is managed for you, so you don’t have to worry.

Game System Manager (GSM)

  • Separate your high level game logic into independent
    IGameSystem subclasses; Audio, Bundles, Meta, GUI, BackendServices, etc…
  • Easily migrate any current uses you have of the problematic Singleton pattern to the (GSM)
  • Optionally, interacts with the (GIS) mentioned above.

Visual Effects Manager (VEM)

Thankfully, Unity supports your aging codebase well (per LTS). However, regularly upgrading your Unity version to the latest, greatest has many benefits. We’re here to help.