#### Overview of this book

Unity is an exciting and popular engine in the game industry. Throughout this book, you’ll learn how to use Unity by making four fun game projects, from shooters and platformers to exploration and adventure games. Unity 5 By Example is an easy-to-follow guide for quickly learning how to use Unity in practical context, step by step, by making real-world game projects. Even if you have no previous experience of Unity, this book will help you understand the toolset in depth. You'll learn how to create a time-critical collection game, a twin-stick space shooter, a platformer, and an action-fest game with intelligent enemies. In clear and accessible prose, this book will present you with step-by-step tutorials for making four interesting games in Unity 5 and explain all the fundamental concepts along the way. Starting from the ground up and moving toward an intermediate level, this book will help you establish a strong foundation in making games with Unity 5.
Unity 5.x By Example
Credits
www.PacktPub.com
Preface
Free Chapter
The Coin Collection Game – Part 1
Project A – the Collection Game Continued
Project B – the Space Shooter
Continuing the Space Shooter
Project C – a 2D Adventure
Project D – Intelligent Enemies
Continuing with Intelligent Enemies
Index

## Bounds locking

On previewing the game thus far, the spaceship probably looks too large. We can fix this easily by changing the scale of the `Player` object. I've used a value of `0.5` for the X, Y, and Z axes. See Figure 3.24. However, even with a more sensible scale, a problem remains. Specifically, it's possible to move the player outside the boundaries of the screen without limit. This means that the player can fly off into the distance, out of view, and never be seen again. Instead, the camera should remain still and the player movement should be limited to the camera view or bounds so that it never exits the view.

Figure 3.24: Rescaling the player

There are different ways to achieve bounds locking, most of which involve scripting. One way is to simply clamp the positional values of the `Player` object between a specified range, a minimum and maximum. Consider Code Sample 3.2 for a new C# class called `BoundsLock`. This script file should be attached to the player.

`//--------------------------...`