Scripts/Utility

Singletons

 * Singleton - Useful base class for creating MonoBehaviour derived singletons.
 * Singleton Launcher - Creates automatically loading singletons. No scene setup required.
 * Secure UnitySingleton - Unity Specific Singleton with a concise interface for creators.
 * AutoSingletonManager - Easy and automatic creation of singleton manager objects.

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.

Serialization

 * 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#)

Time

 * 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.

UI

 * Anchor Multi Resolution - Anchor GameObject to specific screen positions. Can be used for GUI as well. Utilize orthographic camera.
 * GuiTextOverParent - Auto tracks a child GuiText over a 2D sprite.

Editor

 * 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.

Optimization

 * 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.
 * 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.