Scripts/GUI

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
m (Link creation to the upcomming page in preparation for a new article)
 
Line 1: Line 1:
 
{{Scripts Tabbed Navigation}}
 
{{Scripts Tabbed Navigation}}
  
= UI =
+
= Unity UI (runtime) =
 
Example scripts using the new Unity UI system introduced in version 4.6. Designed for building high performance in-game user interfaces. Checkout the [https://unity3d.com/learn/tutorials/s/user-interface-ui official Learn tutorials] for more details.
 
Example scripts using the new Unity UI system introduced in version 4.6. Designed for building high performance in-game user interfaces. Checkout the [https://unity3d.com/learn/tutorials/s/user-interface-ui official Learn tutorials] for more details.
 
  
 
*[[SelectionBox]] - Display a button the same way as regular GUI, but return SimpleClik, DoubleClik, Drag or None.
 
*[[SelectionBox]] - Display a button the same way as regular GUI, but return SimpleClik, DoubleClik, Drag or None.
Line 9: Line 8:
 
*[[ScrollList | ScrollList]] - A memory efficient / nitro version of UI ScrollRect for list items. Non destructive: switch back & forth to the old Scroll Rect without refactoring.
 
*[[ScrollList | 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 =
+
= Immediate Mode GUI (editor/debugging) =
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 [https://docs.unity3d.com/Manual/UISystem.html UI system] instead.
+
Example scripts using 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 [https://docs.unity3d.com/Manual/UISystem.html Unity UI] instead.
 
+
  
 
*[[AdvancedButton]] - Display a button the same way as regular GUI, but return SimpleClik, DoubleClik, Drag or None.
 
*[[AdvancedButton]] - Display a button the same way as regular GUI, but return SimpleClik, DoubleClik, Drag or None.

Latest revision as of 00:53, 19 October 2020

Scripts   General   Editor   Controllers   UI   Effects   Physics/Simulation   Networking   Audio   Utility

[edit] Unity UI (runtime)

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.

[edit] Immediate Mode GUI (editor/debugging)

Example scripts using 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 Unity UI 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
Namespaces

Variants
Actions
Navigation
Extras
Toolbox