Ez-Utils: Unity game dev made easy!

While developing games in my spare time for game jams and personal projects, I’ve found a number of repeated features which I would remake between projects. Seeing this redundancy, I created a Unity package to contain these reusable features.

The package can be found at https://github.com/Ezra-Mason/ez-utils

Making this package a submodule in a projects git repo makes it super easy to include edits to the package if I identify bugs or need to expand the utilities.

The package, as of the writing of this post, contains:

  • Core
    • Scriptable Variables (abstract base class, bool, int, Vector3 and GameObject)
    • Events (ScriptableObject event objects and listener class)
    • Repositories (ScriptableObject for storing, sharing and updating objects)
    • Springs (Simple Harmonic Motion methods and classes for 1,2 and 3D springs)
  • Runtime
    • Collections (ScriptableObject for a managing a repository of objects)
    • Finite State Machine (Adaptable FSM system with customisable states)
    • Inverse Kinematics (Two bone IK for bipedal motion)
    • Object Pooling (Generic pooling of objects using a stack pool)

I am still adding to this system as I work on personal projects. My latest additions are scene references, splines and a behaviour tree system and associated editor window using Unity’s IMGUI.

Leave a comment