“We shape our tools and then our tools shape us.”
– Marshall McLuhan With this key area of my portfolio, I bring Best Practices and Optimization techniques.
Tools
As Lead Tools Developer at Sybo Games (see shipped games), I managed a team of 8 developers in creating reusable systems, tools, and workflows for an internal staff of 60 people. I thrive on the immediate feedback from users ‘down the hall’—it’s incredibly rewarding to see our work directly impact their productivity and creativity.
I’ve also created dozens of tools and packages deployed for community use.
Packages For Unity
Packages For Godot
Unity Tools
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.
I love Unity Tools development, especially with Unity UI Toolkit. See my UI Toolkit portfolio.
See the page below for some Unity related tooling.
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
Here is an overview video to may user interface (UI Toolkit) approach. This relates to tools development.
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.
Contact me to discuss solutions to your needs!
MY PORTFOLIO: Game Packages
A Unity UPM package is a container that stores various types of features or assets, such as:
- Editor tools and libraries, such as a text editor, an animation viewer, or test frameworks.
- Runtime tools and libraries, such as the Physics API or a Graphics pipeline.
- Asset collections, such as Textures or animations.
- Project templates to share common project types with others.
My free Unity Package Portfolio is great for both educational and professional use.
MY PORTFOLIO: Other Tools
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.
- Checkout my CICD Portfolio my updated approach
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.
- Bridge your existing Unity projects and codebase with the latest Unity VFX features (ShaderGraph, Visual Effects Graph)
What’s Next?
This area of my expertise is particularly exciting!I love to learn & to make an impact with my teams and projects.
Contact me regarding new opportunities that align with my skills and experience.