An all in one package that handles common unity development needs such as game files, object pools, UGUI features, and various QOL functions.
- Install the package via Git in the Package Manager
- Ensure you have Git installed and your Unity Version supports Git package manager imports (2019+)
- In Unity go to
Window -> Package Manager
- Press the + icon at the top left of the Package Manager window
- Choose "Add package from Git URL"
- Enter the following into the field and press enter:
- Tip: You can append a version to the end of the Git URL to lock it to a specific version such as
https://github.com/Orange-Panda/Unity-Utilities.git#v1.8.0
- Tip: You can append a version to the end of the Git URL to lock it to a specific version such as
https://github.com/Orange-Panda/Unity-Utilities.git
- Game File: Infrastructure for saving serializiable data in a json format to the persistent data path
- Encryption: Encryptor for
Game Files
including a built in AES encryptor - Lookup Table: Infrastructure for finding assets/objects through a string key lookup
- Time Manager: Pause/Unpause functionality that maintains a non one time scale override.
- Clamped Data Types: Strictly maintain a numeric value between a min and max value.
List.InBounds
andArray.InBounds
to check for valid indecies.- Color:
MoveTowards
andMoveTowardsAlpha
for moving values of a color by a distance delta - Color:
SetRGB
,SetA
for copying specific values from one color to another int.LayerMaskContains
to check if a mask contains a particular layerVector2.Rotate
for rotating a vector about the Z axis
Reuse frequently instantiated and destroyed objects
- Attach a
Poolable
component to a prefab - Use
ObjectPool.Instantiate
to instantiate a pooled object - Use
Poolable.Return
in place ofDestroy
to disable a object for recycling in a future instantiation - Implement
Poolable.OnReturn
orPoolable.OnRetrieve
to reset variables when recycling- Optional: Add
PoolableReturnAfterDelay
to automatically return objects after some amount of time
- Optional: Add
- Action Emitter: Handle functional UI actions such as
Press Y to reset settings
orPress X to inspect item
- Aspect Ratio Calculator: Automatically update
AspectRatioFitter
values. - Auto Scroll: Automatically update a scroll rect when a new object is selected.
- Confirmation Windows: Prompt user to accept/decline an action
- Overlays: Handle full screen ui elements that the user is expected to input for
- UI Groups: Control a mutually exclusive list of ui elements such as:
- Tab UI Groups: Ordered list of ui elements to cycle through via previous and next inputs
- Panel UI Groups: Hierarchy list of ui elements that can be traversed upwards to parent panels
- Use the Issues or Discussions of this GitHub repository for support.
This package is developed by Luke Mirman.