Tobi’s Unity Utilities

When you google “unity utilities”, it seems like everyone and their dog has one of those. Well… now there’s one more of them! Open-sourced, well-commented, with descriptions, examples and class documentation. Get it while it’s hot:

GitHub repository

Class Documentation


  • Countdown: Useful for things like cooldowns or spawn delays. It is also helpful for tweening things by using the PercentElapsed property.
  • EditorHelper: Gets the [Tooltip] attribute content of fields for editor classes. Might get more helper methods in the future.
  • LINQExtensions: A collection of extension methods for IEnumerable, List and arrays.
  • MathHelper: Helper methods for time-independent eased lerping, mapping and angles.
  • MeshCreator: Makes it more convenient to create meshes via code.
  • NoiseOutputValue: Enter a range and a speed in the editor, get an output value that fluctuates over time using Perlin Noise.
  • RandomBag: A RandomBag gives you random items from a group while ensuring that in a certain interval every item was given back the same number of times.
  • Range: Editable data types that take an int/float range. Used for things like “Spawn 2 to 4 enemies.”
  • RollingArray: Collection that keeps the last x elements that are added to it.
  • Singleton: Allows easy and convenient creation of a Singleton. Optionally makes a Singleton persist between scenes while ensuring that only one exists.
  • UnityHelper: Contains a plethora of useful extensions and helpers for Transform, GameObject, Vector2/3/4, Rect and more.
  • XmlHelper: Serializes data to XML strings and makes accessing optional element content and attributes in general XMLs easier.


To use the scripts, just drop them into the Assets folder of your projects. Or better yet, make an “Assets/Extensions/TobisUnityUtitilites” folder and drop them there. Hurray for proper organisation.

You can also just use selected scripts, but you should check the “Dependencies” section in the respective folder to make sure you copy everything you need.