Important Notice:

As of September 15, 2016, we no longer publish new courses on this website. We encourage you to use your Digital-Tutors credentials to sign in on Pluralsight where you'll find all new creative courses, skill tests and paths, 1:1 mentoring and more.
Loading levels
See Details
Joshua Kinney

Pluralsight

Joshua Kinney
In this tutorial, we're going to take a look at how to create the Win State and how to load a new level. All right, so up to this point we've gone through several lessons on how to work inside of Unity from an art standpoint, where we've gone in and we've created the level, we've added props, we've learned how to create pre fabs and manipulate objects and all kinds of different things. And then we've got into an actual scripting and creating games, and game rules and systems, and now we're ready to start wrapping up this course where we're going to discuss creating a Win State and then loading a new level. So creating a Win State is basically checking to see if we have won the game. And this could be as simple as colliding with an object, moving into a trigger at the end of a level, defeating a specific enemy and their health becoming zero, or even, you could create a Lose State to where the player's health reaches zero, and then it has to restart the level and the player has to spawn. Really, you could get as complicated as you want with any of these Win States. Now, what I brought in into the level is a shrine object. And it's basically just kind of a little monkey statue with the material on it. And this object has a box collider on it, and the box collider is a trigger. And so whatever the player comes in contact with that, we're going to load a new level. So I'm going to put this in near one of the spawn points here, and what we're going to do is, we're just going to collide with that, and then we're going to have our script load our level for us. Now, whenever I say load level, I don't necessarily mean that it's going to load a brand new level like this one. It could load something like your high scores menu, or your main menu. It could load the credits, if you wanted to. All of those-- high scores, main menus, and credits, are actually just new scenes. So let's go ahead and get started with this. So we have our shrine in our scene here. And what I want to do is go ahead and create a new script. So inside of my scripts folder, let's go ahead and create a new C Sharp script, and we're going call this, Shrine. Double click on that Shrine script and let's get started with this. So we want to make this one pretty simple, because I've thrown a lot at you with scripting and again, if you are really interested in scripting and you want to know more about it, we have two great tutorials to follow along with. We have Introduction to Scripting in Unity, which is going to take you through the JavaScript scripting language. Or, you can go through the C Sharp scripting language with introduction to C Sharp in Unity. All right, so like I always do, I always like to set up my brackets just so it helps me with pairing. But we're going to go ahead and go to the end of this, and we're going to say, void on trigger. OK. On trigger, Enter, excuse me. We're going to say collide, or collider player. So just like we'd done before. And we're going to say, player.gameobject. Let's try that one more time, .gameobject.sendmessage. Actually, we don't want to send a message this time. We want to actually tell it to load a level. So we're going to say .gameobject.application.load, level. And what level do we want to load, OK? So in this case, I'm going to say Main Menu. So now that we have that, that's really all we need to do. Now, whenever we are using this application, .loadlevel, we need to understand that what this is going to do is, it's going to load the new level and destroy everything in this scene. So it's going to remove everything from memory, it's going to destroy your first-person controller, and things like that. So whenever you're loading the main menu, that's probably the best thing to do. So remember, if you need something to carry over, you may want to use a different method. So let's go ahead and save this. And let's go into Unity. And it's giving us an error saying the application is not of the type game object, OK. I see what I did here. I added player.gameobject, and really all we need here is application.loadlevel. So let's go ahead and save that. Go into Unity, that error has disappeared. Let's play. And we're going to go in here and we're going to find our shrine. And I believe it's right down here. And if we don't want to keep searching, what can do is, we can go to scene really quickly, figure out where we're at, where the shrine is at. And then that might make things go a little bit easier. We're all the way on the other side of the level. Let's go ahead and just quit that, and I'm going to hit Play. And let's go until we're at Player Spawn 01. Hopefully this doesn't take too long. There we go. So here we have our lantern. And then if we collide into our object, you'll notice that nothing is happening here. So we need to have something that is going to recognize our player. So we need to check and make sure that our object is even colliding. Now, I already know what's happening here. We created our script, but we didn't actually attach that to our shrine. So let's go ahead and attach that. There it is. And let's say , use light probes for our object here. And we're going to hit Play. And we're already here, so that's good. And then we go ahead and we hit our shrine, you'll see here that it's saying, Level Main Menu couldn't be loaded because it has not been added to the Build Settings. So we have our script, we've created a very simple Win State. And it could just be collecting objects, we could add health to the shrine, and let's say that we had a weapon and we were striking it and we had a variable that gave it damage, and it was keeping up with the object's health, and we had to destroy it, or something like that, and then it would go into the Load Level. I'm just showing you that the Win State can be very easy, and loading a new level is very simple as well. So now that we have that, this brings us into our next point where we're going to have to learn how to build our games, and how we're going to set these up to have multiple levels. All right, so we're going to go ahead we're get started with that, next.
In this series of Unity tutorials we are going to learn about the core features in Unity.

We will start out by learning the Unity Interface where we'll talk about the different panels and tools available in the Unity editor. From there we'll learn how to properly export and import assets into Unity. With those assets imported, we'll discuss how to create prefabs that will help us speed up the construction process of our level.

Then we'll learn how to create and apply materials to our level prefabs. Then we'll take our textured prefabs and build a simple game environment. Once the base level has been built, we will talk about adding props and set dressing our level. From there we'll continue full speed by learning how to add lights, particles, and physics objects.

Once we're happy with our level, we'll jump into scripting in Unity. We'll learn how to create a random player spawn, a HUD, item pickups, and so much more. Finally, we'll end the course with how to publish our game to the platform of our choosing.

For an additional learning resource, download your free copy of our Key Game Development Terms Reference Guide and PDF so you can get comfortable with important game dev terminology.
Introduction and Project Overview
1

Introduction and Project Overview

 
01:14
Breaking down the interface
2

Breaking down the interface

 
10:59
File management and project organization
3

File management and project organization

 
10:45
Creating prefabs
4

Creating prefabs

 
10:41
Creating materials
5

Creating materials

 
10:00
Assembling the level
6

Assembling the level

 
08:36
Set dressing the level
7

Set dressing the level

 
14:09
Adding lights
8

Adding lights

 
09:55
Baking lightmaps
9

Baking lightmaps

 
11:32
Creating particle systems
10

Creating particle systems

 
11:19
Working with physics
11

Working with physics

 
09:41
Getting started with scripting
12

Getting started with scripting

 
09:41
Creating the player spawn controller
13

Creating the player spawn controller

 
11:10
Finishing the player spawn controller
14

Finishing the player spawn controller

 
08:12
Creating the game state script
15

Creating the game state script

 
11:46
Scripting the HUD
16

Scripting the HUD

 
13:16
Creating items in Unity
17

Creating items in Unity

 
13:35
Creating the lantern functionality
18

Creating the lantern functionality

 
18:32
Loading levels
19

Loading levels

 
08:08
Publishing our game
20

Publishing our game

 
08:46