So games run off code of programming. Programming is just instructions that we give the computer to do certain things. So for example, if I wanted a gym to rotate, I could just tell the computer, hey, make this gym rotate. And that's it. So what I'm going to do is I'm going to create a script just to explain some of the core concepts of programming and what unity does with those lines of code. But with those instructions, you don't need to follow along with this section because we're just gonna delete the script afterwards.
I'm just gonna use it to illustrate a point. So if we right click, and it's just Well, if I right click and just go create a new C sharp script, we're gonna call it test can open that up, it will open up, it'll open up in Visual Studio or another code editing software. Once it's open, you'll see a bunch of different lines that are already in there. Don't worry, you don't need to worry about any of these too much but I'll just quickly go over them. These in a namespaces. These are basically telling what what packages are going to be included in inside of the script here, so add more to this or we could add less.
But in general, we basically don't touch this. Then we have a class a class is basically, the script itself. It's basically the big. How can you say the big, the big thing of it like, all the instructions will go within this class here, and the class is called test and derives from one or behavior. So just quickly, another side note, your code might look a little bit different to mine here. If we click here, press space and Backspace, Backspace, Backspace, backspace.
Your code may look like this. This may be how Unity has or visual studio has formatted your code. You can change these settings, so it looks like mine. In debug options, I can go through and you can get the code of format however, however you like. This just happens to be the way that I like to format my code for the open curly brace to be on the same line as the method and the closed curly brace is on the end of the method. However, this doesn't actually affect the code of law.
So you just this just makes it look a certain way. But it doesn't actually affect how the code runs. So if you want your code to look like mine, you can go to debug and options. But if you just want to leave it as is, that's totally fine as well, it won't affect how anything runs, just make sure you understand that your code will look like this. And my code will look like this. Awesome.
Then we have two functions. We have void star and void update. And on top of those we have comments. These comments can be anything if you just put two slashes, you can write anything and it won't be affected by the code. So for example, I could write this method or function. function and method is basically the same thing you might hear me say, say either one.
This function or method, or method or function turn happens once At the start of the game, and this this method or function happen, happens every frame of the game. So if we want to write something out, if we wanted to write some code that will actually do something, say if we wanted to, you know, create something that happens once at the start of the game, we could put it in here. So we could press enter to do a new line and we could write debug dot log, open bracket open speech marks, and we could say, this is the start function working in the lambda one is closed off by using a semi Cool. So then if we go back into Unity, and we just drag this script on to the main camera, it could be literally any object in the game. But we're going to just drag it onto the main camera.
And we're gonna go over to our console. What we've actually asked it to do is with us to add when the game starts, we want to run this line of code, debug dot log, it's going to log some information to the console. And the information that we're going to log is this statement here. So if we go over to the console, press play, we should see let's maximise on play. should press play again. This is the stop function working.
Cool. So we've written our first line of code. Now what if we want to write something in here? Well, let's just copy and paste this debug dot log. And we have a script here. The This is the story.
Function working well, this is the update function works to say this is the update function working every single frame, save this, press play. And you see we have stopped being called once. And we have down here. This is the update function working every single frame and it's happening every single frame. Cool. So they're the basics of how start and update work.
But if we wanted to create our own method, that's totally easy as well, we could say something like void. Now own method. Just gonna make sure it has these and the two curly braces and the two curly braces, anything we put in between this will be our method, our own function, so we can put whatever we want in here. So we could copy and debug that log and we could chuck it in there and we could write this Is our own method. Save that, go back over to unity, press play. And bam, nothing happens.
We have the stop function working. And we have the update function working. For some reason our other function isn't working. I wonder what it is let's go back over to the script and find out. So we have voice, Stan void update and void our own method. Now, I could have named this whatever I wanted, but I just chose to call Aaron method.
But the problem is, this isn't being called anytime. update automatically calls every frame start automatically calls at the start. And there are other things like awake that gets cold before start. But we need to actually call this so if we want to call this once. Well, we could call it we could put it in stance or if we wanted to call every frame we could call it in update. Let's just call it in stop for now.
So we're going to say out find method Done. So then we've just called this method from Stata. So when the game starts, it will call this line of code, it'll move down here and do this instruction to press play. This is the stop function working. This is our own method. This is the update function working every single frame.
So that's a quick primer on basically how code works inside of unity. Now, obviously, in the real world, we'll be doing doing our own doing some different. In the real world, we won't be just doing debug logs, we'll be doing things like moving objects or rotating things or making collisions work. And all those things are pretty simple to do inside of unity. They're just list of instructions that we need to do and it will be overwhelming if you've never done coding before. But just trust me Follow along by the end of the entire project, I guarantee you'll be much more confident.
Tune in next video for an explanation on variables and how they work in a game.