From Unify Community Wiki
Jump to: navigation, search
Scripts   General   Editor   Controllers   UI   Effects   Physics/Simulation   Networking   Audio   Utility



Event Systems

  • Advanced Messenger - Simple and efficient messaging system implemented with delegates and generics. Allows for logging of messages, has extended error detection, and adds extra protection from unexpected exceptions.
  • BroadcasterMessenger - Modified version of Messenger Extended.
  • Event Manager - Messaging/notification system. Allows subscription to events without referencing their definitions.
  • Messenger - Another messaging/notification system implemented using delegates and generics.
  • Messenger Extended - messaging system using delegates and generics. Based on Messenger but has more error detection.
  • DelayedDelegates - An easy, central way to call function with a delay
  • DelayedMessage - A super simple way to send a message to an object after a number of seconds, and optionally repeat.
  • MessageRouter - subscription based messaging with delayed notification, delivery stages, message filtering, tagging, and receiver assertions
  • Notification Center - Register scripts to receive and post notifications. Handles messaging across scripts without references to each other.
  • NotificationCenterGenerics - A version of Notification Center that has stricter typing.


  • Config loading - A well considered pattern for loading global data. Doesn't require the Resources folder or any scene data.
  • Load Data from Excel 2003 - This script allows you to load information from excel spreadsheets into Unity, written in C#.
  • Save and Load from XML - Allows you to save and load data from an XML file.
  • Save and Load from XML U3 Collections - Save and load all GameObjects in a scene.
  • ArrayPrefs2 - Save/load Vector2, Vector3, Quaternion, Color and other array types.
  • PlayerPrefsX2 - Extended PlayerPrefs for object that requires ArrayPrefs.
  • BoolPrefs - Adds GetBool and SetBool, which are missing from PlayerPrefs.
  • CSVReader - Simple script to load CSV files into the project.
  • LoadSettings - Allows loading settings.txt files into your project with easy data insertion and debug tests.
  • MetadataSystem - Mechanism for ciphered, compressed preferences and declarative metadata system with runtime overrides.
  • PlayerSave - Functionality of PlayerPrefs but lets you specify the save location for each platform.
  • PropertyListSerializer - Loads and saves a .plist XML file to and from a hierarchical hashtable.
  • SimpleDictionary - Implements a simple dictionary-like object and lets you save/load the dictionaries to text files.
  • TinyXmlReader - A class that reads XML text and parses it for use.
  • TinyXmlReaderWeb - TinyXmlReader to use with the web player.
  • PrivateFieldWarnings - A shell script to silence warnings about private serialized fields that are not assigned to in code.

Helper Classes

  • Mathfx - Collection of useful math functions (short for Mathf eXtended).
  • Matrix - A class for doing 3D matrix math against Vector3 objects.
  • CustomRandom - Random number generator that works the same way on all platforms.
  • ExtRandom - An extension to the Unity Random class.
  • Angle - Helper class to work with angles.
  • DirectionFinder - Determines the general direction between two vectors.
  • Get Aspect Ratio - A simple function that returns an aspect ratio between two values as Vector2.
  • HexConverter - Functions for converting decimal colors to hexadecimal and back.
  • Interpolate - Interpolation utility functions for easing, Bezier splines, and Catmull-Rom splines.
  • QuaternionExtensions - A set of useful extension methods to the inbuilt Quaternion struct.
  • SphericalCoordinates - A class to manipulate an object's position with spherical coordinates instead of cartesian.
  • UnitSphere - A collection of random unit vector generating functions. (C#)


  • CoroutineScheduler - A coroutine scheduler implementation. Gain a better understanding of coroutines.
  • CoroutineHelper - A collection of some helper classes to get easy access to coroutine features for delegates.
  • CoUpdate - An alternative to Update which support yield instructions. Benefit from cleaner code.
  • CustomFixedUpdate - A class that allows you to create seperate FixedUpdate callbacks are any rate you like.
  • UpdatePump - Register any method in any object to be called in one of Unity's update loops.
  • SpeedLerp - Replacements for Mathf.Lerp, InverseLerp, SmoothStep, etc. that are typically 1.5X faster or more. Also adds Vector2Lerp and SuperLerp.
  • TimeOfDay - Compute the game time into hours, minutes and seconds depending on the duration of a day.
  • GeneralTimer - A simple timer component that includes a few extra methods for ease of use.
  • QuickTimer - A poll based timer useful in "called on each frame" methods.
  • SimpleTimer - A basic non-Monobehaviour timer script that can start and pause.
  • AbortableEnumerator - Provides the ability to Stop a Coroutine without calling StopCoroutine.



  • Autorun - Execute some code whenever the project is opened, recompiled, or run.
  • AutoSave - Automatically save the current scene at regular intervals.
  • FindMissingScripts - Search for broken/missing MonoBehaviors on GameObjects.
  • AddChild - Add an empty child GameObject to each selected GameObject.


  • CombineChildrenBones - Similar to MeshMerger, this script combines MeshFilter meshes into a single skinned mesh and then tracks transform changes
  • CombineSkinnedMeshes - A Script that allows to combine multiple skinned meshes to just one SkinnedMeshRenderer. Useful for Avatar System!
  • SkinnedMeshCombiner - This script will combine skinned meshes whilst retaining their animation and texture properties.
  • SkinMeshCombineUtility - Script to work with CombineSkinnedMeshes.
  • SpriteManager - A script that allows many independently-moving 2D sprites to be drawn using a single draw call. This is particularly useful to increase iPhone performance.
  • StaticPerformanceOptimization - A script that optimizes performance statically based on the users graphics card by dropping terrain resolution and quality settings

Analytics and Testing

  • BoneDebug - Draws debug bones in a character.
  • AllocationStats - Shows how much memory your application has allocated.
  • DetectLeaks - Displays the number of allocated objects by type. Useful for finding leaks.
  • DebugConsole - A script to allow scrolling feedback from your scripts.
  • 2020/DebugConsole - An up to date (as of 2020) script to allow scrolling feedback from your scripts.
  • DebuggerX - A simple javascript singleton that allows you to send debug to the console or the GUI.
  • DebugLine - Like the Debug.DrawRay() and DrawLine() functions, but uses the lineRenderer component to draw in the Game window.
  • DrawArrow - Builds upon Debug.DrawRay() to add arrowheads at the tip.
  • NUnit - de-facto standard for unit testing in .NET
  • Profiler - Script for profiling the performance of scripts, based on tags.
  • Reporter - Delayed action system info script that could be used for support purposes.
  • UUnit - Simple xUnit framework that can be run inside Unity.
  • SharpUnit - Unit testing framework adapted from UUnit that can be run inside Unity.
  • DetectDynamicBatching - Script+shader that helps you detect which meshes are batched dynamically and which aren't.
  • GetTotalMemoryTest - Script to help illustrate Mono memory allocation mechanics. Indicates that System.GC.GetTotalMemory always changes by multiples of 4096 bytes.
  • BuildInfos - Automatic Build infos generation and usage.
Personal tools