---
title: "Unity Essentials: Programming Essentials Quiz"
content_type: quiz
url: "https://learn.unity.com/pathway/unity-essentials/unit/programming-essentials/quiz/ess-mission-4-quiz?language=en"
language: en
container_type: pathway
container_title: "Unity Essentials"
container_url: "https://learn.unity.com/pathway/unity-essentials.md?language=en&version=6.0"
unit_title: "Programming Essentials"
unit_url: "https://learn.unity.com/pathway/unity-essentials/unit/programming-essentials?language=en&version=6.0"
standalone_markdown_url: "https://learn.unity.com/quiz/ess-mission-4-quiz.md?language=en&version=6.0"
previous_title: "Programming Essentials: More things to try"
previous_url: "https://learn.unity.com/pathway/unity-essentials/unit/programming-essentials/tutorial/programming-essentials-more-things-to-try?language=en&version=6.0"
previous_markdown_url: "https://learn.unity.com/pathway/unity-essentials/unit/programming-essentials/tutorial/programming-essentials-more-things-to-try.md?language=en&version=6.0"
next_title: "Set up a 2D room"
next_url: "https://learn.unity.com/pathway/unity-essentials/unit/2d-essentials/tutorial/set-up-a-2d-room?language=en&version=6.0"
next_markdown_url: "https://learn.unity.com/pathway/unity-essentials/unit/2d-essentials/tutorial/set-up-a-2d-room.md?language=en&version=6.0"
difficulty: foundational
duration_minutes: 5
question_count: 6
correct_answers_to_pass: 4
unity_version:
  - "6.0"
  - "2022.3"
supported_unity_versions:
  - name: "6.0"
    url: "https://learn.unity.com/pathway/unity-essentials/unit/programming-essentials/quiz/ess-mission-4-quiz.md?language=en&version=6.0"
  - name: "2022.3"
    url: "https://learn.unity.com/pathway/unity-essentials/unit/programming-essentials/quiz/ess-mission-4-quiz.md?language=en&version=2022.3"
last_updated: "2026-08-04T14:25:15.000Z"
---

# Unity Essentials: Programming Essentials Quiz

Take a short quiz to earn credit for completing this Mission.

Complete a quiz to get credit for completing the Mission.

## Question 1

Which of the following are true about scripting in Unity?

Select the three correct answers.

_Select all correct answers_

- C# is the default scripting language used in Unity for creating game logic and interactions.
- An external script editor must be used for coding, since you can’t write code directly inside the Unity Editor.
- Scripts attached to GameObjects can control their behavior, animations, and interactions within the game.
- Unity only supports JavaScript for game development and interaction logic.

## Question 2

What is the purpose of the **Update()** function, which appears by default in any new script you create in Unity?

Select the one correct answer.

_Select only one_

- To manage the loading and unloading of game assets and scenes dynamically.
- To handle actions that need to occur on a frame-by-frame basis.
- To initialize variables and set up game state before the game starts.
- To save game data when exiting the game or application.

## Question 3

There are two errors in the line of code below. What are the errors?

**transform.Rotate(0, 0.25, 0) >**

Select the two correct answers.

_Select all correct answers_

- The **Rotate** method does not accept three arguments.
- The line of code should end with a semicolon (;) instead of a greater than sign (>).
- The number 0.25 should have an "f" suffix to explicitly indicate it is a float (0.25f).
- The transform object needs to be capitalized (Transform) to be correctly referenced in Unity.

## Question 4

Which statements are true about variables in C# programming?

Select the three correct answers.

_Select all correct answers_

- Variables can appear in the Unity **Inspector** window if they are declared as public within the script.
- Variables in C# often use camelCase notation, where the first letter of the first word is lowercase, and the first letter of each subsequent word is capitalized.
- Variables must be declared within the **Start()** function of a script.
- Variables in C# can be of any data type, including integers, floats, and even GameObjects.

## Question 5

You have the code below in a **Collectible** script, but for some reason, when the Player GameObject collides with the collectible, the collectible doesn’t disappear. What could explain this?

```csharp
    private void OnTriggerEnter(Collider other) {   
           if (other.CompareTag("Player")) {
                Destroy(gameObject);
           }
    }
```

Select the two correct answers.

_Select all correct answers_

- The collectible object with this script attached does not have **Is Trigger** enabled in its **Collider** component.
- The Player GameObject does not have the **Player** tag applied.
- There is a missing semicolon in the code snippet above.
- Instead of “**OnTriggerEnter”,** it should say “**OnPlayerEnter**”.

## Question 6

What does the **Instantiate()** method do in a Unity script?

Select the one correct answer.

_Select only one_

- It deletes a specified GameObject from the scene after a delay.
- Pauses the execution of the script for a specified amount of time.
- It creates a new GameObject or a copy of an object at runtime, including all its components and properties.
- It compiles the script at runtime, allowing for dynamic code changes.
