Book Image

Hands-On Unity 2021 Game Development - Second Edition

By : Nicolas Alejandro Borromeo
Book Image

Hands-On Unity 2021 Game Development - Second Edition

By: Nicolas Alejandro Borromeo

Overview of this book

Learning how to use Unity is the quickest way to creating a full game, but that’s not all you can do with this simple, yet comprehensive suite of video game development tools – Unity is just as useful for creating AR/VR experiences, complex simulations, real-time realistic rendering, films, and practical games for training and education. Hands-On Unity 2021 Game Development outlines a practical journey to creating your first full game from the ground up, building it step-by-step and applying your knowledge as you progress. Complete with hands-on tutorials and projects, this easy-to-follow guide will teach you how to develop the game using several Unity tools. As you advance, you will learn how to use the Unity engine, create simple scripts using C#, integrate graphics, sound, and animations, and manipulate physics to create interesting mechanics for your game. You’ll be able to apply all the knowledge that you gain to a real-world game. Later chapters will show you how to code a simple AI agent to challenge the user and use profiling tools to ensure that the code runs efficiently. Finally, you'll work with Unity's AR tools to create AR experiences for 3D apps and games. By the end of this Unity book, you will have created a complete game and built a solid foundation in using a wide variety of Unity tools.
Table of Contents (29 chapters)
1
Section 1 – Our First Level
7
Section 2 – Improving Graphics and Sound
16
Section 3 – Scripting Level Interactivity with C#
24
Section 4 – Releasing Your Game

Making a Responsive UI with UI Toolkit

In this section, we are going to learn how to make the UI we created previously adapt to different screen sizes. We are going to discuss the following concepts:

  • Dynamic positioning
  • Dynamic scaling
  • Using relative positions

Let's start by discussing how we can make the position and size of our objects to adapt the screen size.

Dynamic positioning and sizing

So far, we have used the Left and Top Position attributes to specify the X and Y position of our elements with respect to the top-left corner of the screen, and then Width and Height to define the Size. While essentially, that is all that's needed to define an object position and size, it is not very useful in all cases, especially when we need to adapt to different screen sizes.

In the example, if you need to place an object in the top-right corner of the screen, knowing its size is 100x100 pixels, and the screen size is 1920x1080 pixels, we can put...