- Learning C# by Developing Games with Unity 5.x(Second Edition)
- Greg Lukosek
- 359字
- 2021-07-09 20:03:32
The Start(), Update(), and Awake() methods and the execution order
The Start()
, Update()
, and Awake()
methods are called automatically. The Start()
method is called on the frame when the script is enabled. For most of our components, this will be when you press the Start button in Unity.
The Awake()
method is called just before the Start()
method. That gives a very convenient place to set up code if you have any. The Update()
method is very specific. It's called on every frame if the component is enabled. It's very useful for observing user keyboard actions, for example. As you can see in our script, in Line 16, we are checking on every frame to know whether the user has pressed the Enter key.
Let's create a new C# Script and call it LearningMethods
. As you can see, the Start()
and Update()
methods are added automatically when you create a new script. To test them all, all that we need to do is add the Awake()
method and a few other useful lines to print something on the Console panel.

As you already know, our three methods should be called in a very specific order. Add the LearningMethods
component to some GameObject
in the Unity scene and press Play. Then stop after 2 seconds. Keep an eye on the Console tab:

Wow! A lot of stuff on the Console tab? Why? Scroll up to the very top of the Console list. We can observe that Unity has printed the Debug:Log information from our Awake()
method, followed by the Start()
method. Then the madness starts. Unity prints tons of messages from the Update()
method. We know why! Update()
is called on every frame, so Unity will execute the lines of code within Update()
forever, for every frame it renders.
You can, of course, print other information to Console—not just messages. Replace line 18 with this line:
Debug.Log(Time.time);
Press Play in Unity. You will notice that the time, in seconds, is printed, after you have pressed Play button. It's fun, isn't it? Maybe not. Don't worry; we will get into much more interesting programming after we cover dot syntax.
- 精通Nginx(第2版)
- Building a Home Security System with Raspberry Pi
- Neo4j Essentials
- Access 2010數據庫基礎與應用項目式教程(第3版)
- PHP+MySQL+Dreamweaver動態網站開發實例教程
- KnockoutJS Starter
- 基于Struts、Hibernate、Spring架構的Web應用開發
- Mastering Unity 2D Game Development(Second Edition)
- 速學Python:程序設計從入門到進階
- Mastering Akka
- Oracle GoldenGate 12c Implementer's Guide
- Java并發編程之美
- Visual Basic程序設計(第三版)
- TypeScript 2.x By Example
- Mastering jQuery Mobile