A Scene in Unity is like a container that holds your game objects, environments, and settings. Think of it as a level or a stage in your game.
Click to reveal answer
beginner
How do you create a new Scene in Unity?
You can create a new Scene by going to the menu: File > New Scene. This opens a fresh workspace where you can add game objects and design your level.
Click to reveal answer
intermediate
What is the purpose of the SceneManager class in Unity?
SceneManager helps you load, unload, and switch between Scenes during gameplay. It controls which Scene is active and visible to the player.
Click to reveal answer
intermediate
Explain the difference between LoadScene and LoadSceneAsync methods.
LoadScene loads a Scene immediately and pauses the game until done. LoadSceneAsync loads the Scene in the background, letting the game continue running smoothly during loading.
Click to reveal answer
advanced
What is an additive Scene load in Unity?
Additive loading means loading a new Scene on top of the current one without removing it. This lets you combine multiple Scenes, like adding UI or environment parts dynamically.
Click to reveal answer
Which Unity menu option creates a new Scene?
AFile > New Scene
BEdit > New Scene
CWindow > New Scene
DAssets > New Scene
✗ Incorrect
The correct way to create a new Scene is through File > New Scene.
What does SceneManager.LoadSceneAsync do?
AUnloads the current Scene
BLoads a Scene immediately and blocks gameplay
CLoads a Scene in the background without freezing gameplay
DSaves the current Scene
✗ Incorrect
LoadSceneAsync loads the Scene in the background, allowing gameplay to continue smoothly.
What happens when you load a Scene additively?
AThe current Scene is replaced
BThe game pauses
CThe Scene unloads automatically
DThe new Scene loads on top of the current Scene
✗ Incorrect
Additive loading adds the new Scene without removing the current one.
Which class manages Scene loading and unloading in Unity?
ASceneManager
BGameObject
CTransform
DRenderer
✗ Incorrect
SceneManager is the class responsible for Scene management.
What is the main use of Scenes in Unity?
ATo store textures
BTo organize game levels and environments
CTo write scripts
DTo create animations
✗ Incorrect
Scenes organize your game’s levels, environments, and objects.
Describe how you would switch from one Scene to another during gameplay in Unity.
Think about the methods in SceneManager that let you change Scenes.
You got /4 concepts.
Explain the benefits of loading Scenes additively in a game.
Consider why you might want more than one Scene loaded at once.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of scenes in Unity?
easy
A. To manage player input controls
B. To write scripts for game logic
C. To create 3D models for characters
D. To organize different parts of a game like levels or menus
Solution
Step 1: Understand what scenes represent in Unity
Scenes are containers that hold game objects and organize the game into parts like levels or menus.
Step 2: Identify the correct purpose
Among the options, only organizing game parts matches the role of scenes.
Final Answer:
To organize different parts of a game like levels or menus -> Option D
Quick Check:
Scenes organize game parts = A [OK]
Hint: Scenes divide your game into levels or menus [OK]
Common Mistakes:
Confusing scenes with scripts
Thinking scenes create 3D models
Mixing scenes with input management
2. Which of the following is the correct way to load a scene named "Level1" using SceneManager?
easy
A. SceneManager.LoadSceneByName("Level1");
B. SceneManager.Load("Level1");
C. SceneManager.LoadScene("Level1");
D. SceneManager.LoadSceneAsync("Level1", true);
Solution
Step 1: Recall the correct method to load a scene synchronously
The official method is LoadScene with the scene name as a string.
Step 2: Check each option
SceneManager.LoadScene("Level1"); uses SceneManager.LoadScene("Level1"), which is correct syntax. Others are either incorrect method names or wrong parameters.
Final Answer:
SceneManager.LoadScene("Level1"); -> Option C
Quick Check:
LoadScene("Level1") is correct method [OK]
Hint: Use LoadScene with scene name string [OK]
Common Mistakes:
Using incorrect method names like Load or LoadSceneByName
Adding extra parameters incorrectly
Confusing async and sync loading methods
3. What will happen if you run this code snippet in Unity?
using UnityEngine.SceneManagement;
void Start() {
SceneManager.LoadScene("Menu");
Debug.Log("Scene Loaded");
}
medium
A. The scene "Menu" loads and then "Scene Loaded" is printed
B. Nothing happens because scenes must be loaded asynchronously
C. The code causes a compile error
D. "Scene Loaded" is printed before the scene loads
Solution
Step 1: Understand synchronous scene loading behavior
LoadScene loads the new scene immediately, replacing the current one, so code after it runs only if the scene is additive or async.
Step 2: Analyze the code flow
Since LoadScene is synchronous and replaces the scene immediately, the scene "Menu" loads and then "Scene Loaded" is printed.
Final Answer:
The scene "Menu" loads and then "Scene Loaded" is printed -> Option A
Quick Check:
LoadScene is synchronous, so log runs after scene load = A [OK]
Hint: LoadScene is synchronous; code after runs after scene loads [OK]
Common Mistakes:
Assuming LoadScene is asynchronous
Expecting Debug.Log after scene load
Thinking code causes errors
4. You wrote this code to load a scene but it throws an error:
SceneManager.LoadScene(Level2);
What is the most likely cause?
medium
A. The scene name should be in quotes as a string
B. SceneManager cannot load scenes
C. You must use LoadSceneAsync instead
D. Level2 is not a valid scene name
Solution
Step 1: Check the syntax of LoadScene argument
LoadScene expects a string for the scene name, so it must be in quotes.
Step 2: Identify the error cause
Without quotes, Level2 is treated as a variable, causing a compile error if undefined.
Final Answer:
The scene name should be in quotes as a string -> Option A
Quick Check:
Scene name must be string in quotes = B [OK]
Hint: Always put scene names in quotes as strings [OK]
Common Mistakes:
Forgetting quotes around scene names
Assuming LoadSceneAsync is required
Thinking SceneManager can't load scenes
5. You want to load a new scene "Level3" without unloading the current scene. Which method and parameter should you use?
hard
A. SceneManager.UnloadSceneAsync("Level3");
B. SceneManager.LoadScene("Level3", LoadSceneMode.Additive);
C. SceneManager.LoadScene("Level3", LoadSceneMode.Single);
D. SceneManager.LoadSceneAsync("Level3", true);
Solution
Step 1: Understand scene loading modes
LoadSceneMode.Additive loads a scene without unloading the current one, allowing multiple scenes active.
Step 2: Match method and parameter
SceneManager.LoadScene("Level3", LoadSceneMode.Additive); uses LoadScene with Additive mode, which fits the requirement. LoadScene with LoadSceneMode.Single unloads the current scene. UnloadSceneAsync unloads a scene. LoadSceneAsync expects a LoadSceneMode parameter, not a boolean.
Final Answer:
SceneManager.LoadScene("Level3", LoadSceneMode.Additive); -> Option B
Quick Check:
Additive mode loads scene without unloading = C [OK]
Hint: Use LoadScene with Additive mode to keep current scene [OK]
Common Mistakes:
Using Single mode which unloads current scene
Trying to unload instead of load
Passing incorrect parameters to LoadSceneAsync
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.