2 options
Mastering UI Development with Unity : Develop Engaging and Immersive User Interfaces with Unity / Ashley Godbold.
- Format:
- Book
- Author/Creator:
- Godbold, Ashley, author.
- Language:
- English
- Subjects (All):
- Unity (Electronic resource).
- Video games--Design.
- Video games.
- Video games--Programming.
- Physical Description:
- 1 online resource (638 pages)
- Edition:
- Second edition.
- Place of Publication:
- Birmingham, England : Packt Publishing Ltd., [2024]
- Biography/History:
- Godbold Dr. Ashley: Ashley Godbold is a programmer, game designer, artist, mathematician, and teacher. She holds a Bachelor of Science in Mathematics, a Master of Science in Mathematics, a Bachelor of Science in Game Art and Design, and a Doctor of Computer Science in Emerging Media where her dissertation research focused on educational video game design. She also authored Mastering Unity 2D Game Development: Second Edition (Packt Publishing) and the first edition of Mastering UI Development with Unity. In her free time, she enjoys playing video games and watching anime with her husband, daughter, three cats, and dog.
- Summary:
- A captivating, fully functional UI is necessary for player interaction and engagement. Unity's tools give you the opportunity to create fascinating UIs to make your game stand out. Written by a skilled game designer and programmer, Mastering UI Development with Unity begins by describing various design considerations for developing stellar UIs for different genres and platforms. From laying out UIs and creating movements through animation and particle effects to optimizing UI performance, every aspect is meticulously covered. Next, you’ll learn the technicalities of implementing UIs with all three UI systems provided by Unity as well as both the Unity input systems. You'll be able to breathe life into your game with visually engaging heads-up displays, pause menus, health bars, circular progress bars, animated menus, and more. This book not only teaches you how to lay out visual elements but also how to program these features and implement them across multiple games of varying genres. With practical examples, you'll understand how to develop and implement UIs across multiple platforms and screen resolutions with minimal changes. By the end of this book, you’ll have the skills you need to develop game UIs confidently with both technical and aesthetic considerations using Unity’s versatile UI elements.
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- Table of Contents
- Preface
- Part 1: Designing User Interfaces
- Chapter 1: Designing User Interfaces
- Technical requirements
- Defining UI and GUI
- The four game interface types
- Laying out the UI elements
- Resolution and aspect ratio
- Changing the aspect ratio and resolution of the game view
- Building for a single resolution
- Summary
- Chapter 2: Designing Mobile User Interfaces
- Setting the resolution, aspect ratio, and orientation
- Setting the resolution in the Game view
- The Device Simulator
- Building for a specific orientation
- Recommended button sizes
- Full screen/screen portion taps
- The thumb zone
- Other mobile inputs
- Device-specific resources
- Chapter 3: Designing VR, MR, and AR UI
- What are XR, VR, MR, and AR?
- Designing UI for VR
- Visual UI placement and considerations
- Interactable UI placement and considerations
- Designing UI for MR
- Designing UI for AR
- Further reading
- Chapter 4: Universal Design and Accessibility for UI
- What are universal design and accessible design?
- Universal design principles
- Equitable use
- Flexibility in use
- Simple and intuitive use
- Perceptible information
- Tolerance of error
- Low physical effort
- Size and space for approach and use
- Accessibility design
- Vision
- Hearing and speech
- Mobility
- Cognitive and emotional
- Additional resources
- Chapter 5: User Interface and Input Systems in Unity
- The three UI systems
- Unity UI (or uGUI)
- IMGUI
- UI Toolkit
- Choosing between the UI systems
- The two input systems
- The Input Manager
- The new Input System
- Choosing between the Input System and the new Input System
- Part 2: Unity UI Basics.
- Chapter 6: Canvases, Panels, and Basic Layouts
- UI Canvas
- Rect Transform component
- Canvas component
- Canvas Scalar component
- Graphic Raycaster component
- Canvas Renderer component
- UI Panel
- Rect Transform
- Rect Tool
- Anchor and Pivot Points
- Canvas Group component
- Introducing UI Text and Image
- Examples
- Laying out a basic HUD
- Placing a 2D game background image
- Setting up a basic pop-up menu
- Chapter 7: Exploring Automatic Layouts
- Types of automatic layout groups
- Horizontal Layout Group
- Vertical Layout Group
- Grid Layout Group
- Layout Element
- Ignore Layout
- The Width and Height properties
- Fitters
- Content Size Fitter
- Aspect Ratio Fitter
- Laying out a HUD selection menu
- Laying out a grid inventory
- Chapter 8: The Event System and Programming for UI
- Accessing UI elements in code
- UnityEngine.UI namespace
- UI variable types
- The Event System
- Event System Manager
- Input Manager
- Input functions for buttons and key presses
- GetButton
- GetAxis
- GetKey
- GetMouseButton
- Input Modules
- Standalone Input Module
- BaseInputModule/PointerInputModule
- Input for multi-touch
- Input for accelerometer and gyroscope
- Event Trigger
- Event types
- Adding an action to the event
- Event inputs
- Raycasters
- Graphic Raycaster
- Other Raycasters
- Showing and hiding pop-up menus with keypress
- Pausing the game
- Dragging and dropping inventory items
- Pan and zoom with mouse and multi-touch input
- Part 3: The Interactable Unity UI Components
- Chapter 9: The UI Button Component
- UI Button
- The Button component
- Transitions
- Navigation.
- Invisible button zones
- Navigating through Buttons and using First Selected
- Loading scenes with Button presses
- Button Animation Transitions
- Chapter 10: UI Text and TextMeshPro
- UI Text GameObject
- The Text and Character properties
- The Paragraph properties
- The Color and Material properties
- The Raycast and Maskable properties
- Text-TextMeshPro
- Text Input properties
- Main Settings
- Extra Settings
- TextMeshPro Project Settings
- Working with fonts
- Importing new fonts
- Custom fonts
- Font assets
- Exploring the markup format
- Font style
- Font color
- Font size
- Using style sheets
- Translating text
- Creating animated text
- Translating the dialogue
- Custom font
- TextMeshPro - Warped Text with Gradient
- Chapter 11: UI Images and Effects
- UI Image component properties
- Image Type
- UI effect components
- Shadow
- Outline
- Position As UV1
- Horizontal and circular health/progress meters
- Mute Buttons with sprite swap
- Adding press-and-hold/long-press functionality
- Creating a floating eight-directional virtual analog stick
- Chapter 12: Using Masks, Scrollbars, and Scroll Views
- Using masks
- The Mask component
- Rect Mask 2D component
- Implementing UI Scrollbars
- The Scrollbar component
- Implementing UI Scroll View
- Scroll Rect component
- Making a scroll view from a pre-existing menu
- Chapter 13: Other Interactable UI Components
- Using UI Toggle
- Toggle component
- Toggle Group component
- UI Slider
- Slider component
- UI Dropdown and Dropdown - TextMeshPro
- Dropdown Template
- The Dropdown component
- UI Input Field
- Input Field component.
- Input Field - TextMeshPro
- TextMeshPro - Input Field component
- Creating a dropdown menu with images
- Part 4: Unity UI Advanced Topics
- Chapter 14: Animating UI Elements
- Animation Clips
- Animation Events
- Animator Controller
- The Animator of Transition Animations
- Animator layers
- Setting Animation Parameters in scripts
- Animator Behaviours
- Animating pop-up windows to fade in and out
- Animating a complex loot box
- Chapter 15: Particles in the UI
- Particles in the UI
- Creating a Particle System that displays in the UI
- Chapter 16: Utilizing World Space UI
- When to use World Space UI
- Appropriately scaling text in the Canvas
- Other considerations when working in World Space
- 2D World Space status indicators
- 3D hovering health bars
- Chapter 17: Optimizing Unity UI
- Optimization basics
- Frame Rate
- GPU and CPU
- Tools for determining performance
- Statistics window
- Unity Profiler
- Unity Frame Debugger
- Basic Unity UI Optimization Strategies
- Using multiple Canvases and Canvas Hierarchies
- Minimizing the use of Layout Groups
- Hiding objects appropriately
- Appropriately time object pooling enabling and disabling
- Reducing Raycast computations
- Part 5: Other UI and Input Systems
- Chapter 18: Getting Started with UI Toolkit
- Overview of UI Toolkit
- Installing the UI Toolkit package
- Parts of the UI Toolkit system
- Visual Elements and UI Hierarchy
- Creating UI with the UI Builder
- Using the UI Document component
- Making The UI interactable with C#
- The UIElements namespaces
- Getting a reference to UI Documents variables
- Managing Visual Element events.
- Accessing Visual Element properties
- Using the UI Toolkit to make an Editor virtual pet
- Resources
- Chapter 19: Working with IMGUI
- IMGUI overview
- IMGUI Controls
- IMGUI in the Inspector
- Using IMGUI to show framerate in-game
- Using IMGUI to make an Inspector button that imports data
- Chapter 20: The New Input System
- Installing the Input System
- Polling vs subscribing
- Input System elements
- Connecting Actions to code
- Creating basic character controller Actions
- Creating a basic character controller with the PlayerInput Component
- Creating a basic character controller by referencing Actions in your code
- Index
- Other Books You May Enjoy.
- Notes:
- Includes index.
- Includes bibliographical references and index.
- Description based on publisher supplied metadata and other sources.
- Description based on print version record.
- ISBN:
- 9781803238760
- 1803238763
- OCLC:
- 1439829409
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.