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


Example scripts using the new Unity UI system introduced in version 4.6. Designed for building high performance in-game user interfaces. Checkout the official Learn tutorials for more details.

  • SelectionBox - Display a button the same way as regular GUI, but return SimpleClik, DoubleClik, Drag or None.
  • WaitForUIButtons - A custom yield instruction to wait for an UI button click in a coroutine
  • ScrollList - A memory efficient / nitro version of UI ScrollRect for list items. Non destructive: switch back & forth to the old Scroll Rect without refactoring.

Immediate Mode GUI

Example scripts using Unity's "immediate mode" GUI (IMGUI) system. Meant to be used primarily for development purposes such as debugging displays and editor inspectors. For performance critical in-game UI you should use the newer UI system instead.

  • AdvancedButton - Display a button the same way as regular GUI, but return SimpleClik, DoubleClik, Drag or None.
  • AdvancedLabel - Easy way to change color, size and other parameters of a label.
  • AdvancedRepeatButton - A repeat button with control over the repeat start and speed.
  • AnimatedText - Display a label animated on position, size and transparency.
  • AutoType - Automaticly types a string of text typewriter style.
  • Box_Script - Use this system to easily make simple GUI elements in nice looking boxes with buttons that actually do something useful. All generated at runtime from a MenuStyle.
  • Button - Use this script on a guiTexture object for regular push buttons that send a message when clicked.
  • CheckableButtonTreeControl - A control to display hierarchy of checkable buttons with recursive screens.
  • Console System - A console system by Nicholas Ventimiglia for displaying scrolling text, text input, and a command button menu.
  • Custom_2D_Pointer - Make a custom pointer that changes shape at the edges of the screen.
  • Custom Mouse Pointer - Make a custom pointer that and draw it over OnGUI Elements.
  • CustomScrollView - Helper-class that implements a scrollview where you can explicitly hide/show the scrollbars. Done with two nested groups
  • DraggableGUIElement - Click and drag on GUITexture or GUIText to move it around the screen.
  • DragSlider - Use this script with a pair of GUITextures to make a functioning slider.
  • DMGInput - Passthrough for the Input.GetMouseButton* functions that will allow you to ignore clicks on registered GUI Rects. (Ex: Click on GUI, and not on the object behind in the scene.
  • Fade - General routines that allow fading of GUITextures or materials (including GUITexts) from anywhere, both in and out and using either alpha or colors, with optional easing.
  • FadeIn - Allows you to show/hide a GUIText or GUITexture when pressing a key/button.
  • FileBrowserWithColumns - Columns style file browser, allows the user to open and save files/folders from a Finder like GUI.
  • ForwardAllMouseEvents - Send mouse events to some sort of controller type GameObject.
  • GetTimeString - A simple function that can be placed anywhere and used to display times. Useful for racing games.
  • GUIBuilder - Generic classes for easing the pain of GUI creation. (BETA)
  • GUIFly - Use this script on an object to make it respond to a "Fly" message so that it may move on and off the screen in a pleasing manner.
  • GUIHelpers - a simple static class for helpers, AlignRect to start.
  • GuiRatioFixer - Use on a GUIText / GUITexture object to automatically adjust aspect ratio
  • GuiRatioFixer2 - Alternate script based on screen's aspect to use on a GUIText / GUITexture object to automatically adjust aspect ratio
  • GUIScaler - Automatically scale a GUITexture with the screen size / resolution
  • GUITextField - A wrapper for GUI.TextField / GUILayout.TextField that implements focussing, allowing text to be "committed" only when the field is unfocussed (very useful for networking code).
  • GUIUtils - A helper for creating dynamic GUI elements from differents sides of the screen with relative/absolute size (UnityScript, Unity 3.4).
  • Joystick - Unity Technologies' Joystick script translated into C#, with a slightly modified API.
  • JoystickButtonMenu - A C# class that can be used to create GUI buttons which respond to joystick input.
  • MainMenu - Shows how delegation works in C# in order to switch between different menus on the fly easily
  • ObjectLabel - Makes a GUIText label follow an object in 3D space. Useful for things like having name tags over players' heads.
  • ProgressBar - Simple How-To make a progress bar.
  • ScaledRect - A static class that formats Rect values and rescales them based on output screen resolution, handy for dynamically scaling all OnGUI elements.
  • ScreenShotMovie - Captures a screenshot sequence for use when making a movie
  • Selection-Grid - Custom Selection Grid using your texture of a grid, 1 draw calls
  • ShadowAndOutline - Draw shadows or outline under a GUI by drawing it several times.
  • SplashScreen - Fade a splash logo in, wait for a certain interval, then fade out, while the next level is loaded.
  • TakeScreenshot - Captures sequentially numbered screenshots when a function key is pressed.
  • ScreenCapture - Captures a screenshot using any of the three capture methods, either synchronously or asynchronously.
  • Timer - Attach to a GUIText object to create a fade-able timer.
  • ToggleButton - Extends the Button class to create a toggle button.
  • ToolbarWrapped - Wraps a toolbar/selection grid to always fit its rectangle.
  • WrapTextMesh - Wraps the text within a TextMesh based on width in font-pixels (points).
  • Blinking Text Entry Cursor - Make your cursor blink on input fields
  • CustomGetMouseButtonDown - custom wrapper functions for Input.GetMouseButton(Down) which can be modified to block clicks when over a window
  • DrawLine - Draws a line in the GUI (makes up for the severe lack of an equivalent function in the GUI class).
  • DropDownList - A hierarchy based drop down list that works like the Hierarchy window in Unity.
  • FileBrowser - Implement a crude file browser.
  • GUICam - Holds GUIRect a rectanle of camera pixelRect in GUI oriented co-oridinates (0,0) is top left
  • GUIExtensions - A library of GUI extensions to fill in some missing gaps. Notably: TextArea that auto-selects on focus.
  • GUIx - extended GUI functions
  • ImprovedFileBrowser - A much better file browser.
  • ImprovedSelectionList - A list of elements that can be selected and optionally double-clicked
  • IOSTextField - Text fields for iOS with specialized keyboard configurations
  • Marquee - Creates a scrolling label that moves from left to right across the screen.
  • PasswordField - Allows the user to type in a field masked by *'s (or any other character) [Unity has this built-in now. Leaving it as an example of more complex widget construction, but shouldn't be preferred for actual usage.]
  • PauseMenu - Standard pause menu used by Fugu Games for web players and widgets
  • PopupList - A button that pops up a selectable list when clicked
  • Position To Rect - Convert a GUITexture position to Rect (GUI coordinates)
  • SelectList - A list of elements of which one can be selected.
  • WithPrefs - Functions that change values and modifies preferences in one simple step
  • LarsonScanner - simple cylon eye/knight rider scanner guiscript so you have a visual cue of a running program (and know it's not blocked/crashed)
  • FramesPerSecond - Use this script on a GUIText object to display FPS counter.
  • MessageDisplayer - Use this script on a GUIText object to have a self-disappearing list of status messages.
  • MessageList - Create a list of timed self-fading messages.
  • Radar - Use this script on a GameObject to display a radar.
  • GUI Keyboard - adds a really basic GUI keyboard that can input into text field.
  • UserInterfaceTrackBody - Use this script on a Unity5 UI object to track a real world object .
Personal tools