A collection of utilities for Unity (with accompanying documentation and test scenes) that I use in personal projects and at Axon Interactive. It includes a variety of tools that can be used together or separately to make game development a little bit easier.
This library contains a collection of attributes that modify how different types are rendered in the Inspector.
This library contains the ColorPicker
component; a utility to sample colors from geometry in Unity scenes both in the editor and while playing.
Assets/Utilities/Extension Methods
This library contains a collection of extension methods for built-in Unity types that make common development tasks easier.
Assets/Utilities/Foldable Events
This library contains the FoldableEvent
class, which folds up in the inspector to hide the base UnityEvent
they rely upon, and the FoldablePromise
class which provides powerful features for unraveling dependency chains, such as complex scene loading processes.
This library contains the Health
component, which provides the usual HP health systems one might expect and exposes a wide variety of events to signal changes in health. Also, this component provides special handling for regenerative, degenerative, and effects that heal above the standard maximum HP.
Assets/Utilities/State Machine
This library contains the AnimatorStateMachine
component, which augments the built-in Animator
to provide a full-featured state machine for handling game state, control context, UI screens, PC animation states... you name it. It also exposes the AnimatorState
class, a specialized StateMachineBehaviour
which complements StateMachine
to provide these features. It can even handle layered Mechanim state machines now!
Assets/Utilities/Xbox 360 Gamepad
This library contains the Xbox360Gamepad
component, a robust and full-featured control abstraction for 1 to 4 Xbox 360 Gamepads. It exposes all buttons as events, provides a variety of options for accessing control axes and buttons, and provides an API for controlling vibration. It is based on XInput, and thus is only compatible with Windows PCs.