Book Image

Unity 2020 Mobile Game Development - Second Edition

By : John P. Doran
Book Image

Unity 2020 Mobile Game Development - Second Edition

By: John P. Doran

Overview of this book

Unity 2020 brings a lot of new features that can be harnessed for building powerful games for popular mobile platforms. This updated second edition delves into Unity development, covering the new features of Unity, modern development practices, and augmented reality (AR) for creating an immersive mobile experience. The book takes a step-by-step approach to building an endless runner game using Unity to help you learn the concepts of mobile game development. This new edition also covers AR features and explains how to implement them using ARCore and ARKit with Unity. The book explores the new mobile notification package and helps you add notifications for your games. You’ll learn how to add touch gestures and design UI elements that can be used in both landscape and portrait modes at different resolutions. The book then covers the best ways to monetize your games using Unity Ads and in-app purchases before you learn how to integrate your game with various social networks. Next, using Unity’s analytics tools, you’ll enhance your game by gaining insights into how players like and use your game. Finally, you’ll take your games into the real world by implementing AR capabilities and publishing them on both Android and iOS app stores. By the end of this book, you will have learned Unity tools and techniques and be able to use them to build robust cross-platform mobile games.
Table of Contents (14 chapters)

Pausing the game

To get the game to pause correctly, we will tweak some scripts we've written previously using the following steps:

  1. Open the PlayerBehaviour script and add the code highlighted in bold to the FixedUpdate function:
/// <summary>
/// FixedUpdate is called at a fixed framerate and is a prime place
/// to put
/// Anything based on time.
/// </summary>
void FixedUpdate()
{
// If the game is paused, don't do anything
if (PauseScreenBehaviour.paused)
{
return;
}

// Check if we're moving to the side
var horizontalSpeed = Input.GetAxis("Horizontal") * dodgeSpeed;

// Rest of FixedUpdate function...

The added code makes it so that if the game is paused, we will not do anything within the function.

  1. We then also need to add the same script to the top of the Update function as well:
/// <summary> 
/// Update is called once per frame
/// </summary>
private void Update()
{
// If the game is paused, don...