PauseMenu

Overview
A pause menu with multiple screens for credits and options (audio and visual, system info, stats). Doubles as the start menu and is invoked when ESC is hit. This was used for all my Unity web and widget minigames on Fugu Games. This was not originally run on iOS - if you get the type of errors that you also get from adding #pragma strict then add type declarations where necessary - referring to the C# version (added by another contributor) may help. Also, the C# may run better on iOS (and Android). A sample project with the Javascript version is on the Asset Store (currently, $2) and another version is on github.

Setup

 * Attach this to the main camera
 * If a SepiaToneFilter is attached to the main camera, it will be activated on pause.
 * Sepia filter (and image effects in general) are a Pro-only feature. If you have Unity Indie, comment out the sepiaFilter assignment.
 * You need to assign a material to the script's Mat slot for the FPS graph to display - I usually assign an all-white VertexLit material.

How It Works

 * Sets Time.timeScale to zero - this pauses anything that depends on time (animation, physics, any Update code that operates on the delta time). For any code that isn't automatically paused, try adding some code that checks if Time.timeScale is zero.
 * Pauses audio by setting AudioListener.pause to true.
 * A more detailed explanation of the code is on http://drupal.technicat.com/games/unity/unitygui/pausemenu.html
 * Direct questions and discussion to http://forum.unity3d.com/threads/74127-UnifyCommunity-PauseMenu
 * Various versions of this are used in projects from Technicat, LLC on the Asset Store.