Book Image

Mastering UI Development with Unity

By : Ashley Godbold
Book Image

Mastering UI Development with Unity

By: Ashley Godbold

Overview of this book

A functional UI is an important component for player interaction in every type of video game. Along with imparting crucial statistical information to the player, the UI is also the window through which the player engages with the world established by the game. Unity's tools give you the opportunity to create complex and attractive UIs to make your game stand out. This book helps you realize the full potential of Unity's powerful tools to create the best UI for your games by walking you through the creation of myriad user interface components. Learn how to create visually engaging heads-up-displays, pause menus, health bars, circular progress bars, animated menus, and more. This book not only teaches how to lay out visual elements, but also how to program these features and implement them across multiple games of varying genres. While working through the examples provided, you will learn how to develop a UI that scales to multiple screen resolutions, so your game can be released on multiple platforms with minimal changes.
Table of Contents (12 chapters)

Particles in the UI

Using particles in UI is a hot topic. It seems like nearly every mobile game with loot boxes uses particles, but there is no standardized way to implement them. The problem with trying to use participles in the UI is that particles render behind UI on canvases that have their Render Mode set to Screen Space - Overlay:

The preceding screenshot shows two UI canvases from our working examples and a particle system (the white dots). The pink background is on the Background Canvas, which renders with Screen Space - Camera. The circular meter and the panel with the cat are on the HUD Canvas, which renders with Screen Space - Overlay. The particles are rendering in front of the Background Canvas and behind the HUD Canvas. However, I want the particles to be displayed also in front of the HUD Canvas.

There are a few solutions to this problem. My two preferred solutions...