Which Unity base class do almost all custom scripts attached to a GameObject inherit from?
`MonoBehaviour` is the base class for scripts that attach to a GameObject in the scene. It wires up the Unity lifecycle callbacks (Awake, Start, Update, etc.) and lets the Inspector show serialized fields.
ScriptableObject is a different base class — for data containers that are NOT attached to a GameObject (e.g. a shared "WeaponData" asset). Component is the abstract base that both MonoBehaviour and built-in components (like Transform, Rigidbody) derive from.
Vocabulary: "This script inherits fromMonoBehaviour so it can be attached to a GameObject."
2 / 6
A designer asks: "Why is the speed field editable in the Inspector even though the variable is private?" Which attribute explains this?
`[SerializeField]` exposes a private field to the Unity Inspector without making it public in code. This is the recommended pattern: keep encapsulation in C# while still letting designers tune values without touching code.
Example: [SerializeField] private float speed = 5f; — "speed" now shows up as an editable field in the Inspector, but other scripts cannot reach it directly (obj.speed would still fail).
Related attributes: [Header("Movement")] adds a bold section label above fields in the Inspector; [Tooltip("...")] shows hover text. Both are purely cosmetic and don't affect serialization.
3 / 6
A teammate says: "Don't edit the base prefab directly — create a prefab variant instead." What does this mean?
A prefab variant is a prefab that is based on another prefab (its source) and only stores the properties that differ (overrides). If the base prefab changes later, the variant automatically inherits those changes unless a specific property was overridden.
This differs from duplicating the file, which creates two fully independent prefabs — a fix to one never reaches the other.
Related vocabulary: • Prefab instance: a copy of a prefab placed in a scene • Nested prefab: a prefab placed inside another prefab (e.g. a "Wheel" prefab nested inside a "Car" prefab) • Unpack prefab: break the connection between an instance and its prefab asset, turning it into a plain GameObject • Apply / Revert: push instance overrides back to the prefab asset, or discard them
4 / 6
Fill in the blank: "This component uses a ______ to gradually fade the UI panel over 0.5 seconds."
A coroutine is a Unity-specific way to run code across multiple frames — perfect for effects like fading, which must happen gradually rather than instantly.
Coroutine vocabulary: • IEnumerator — the return type of a coroutine method • yield return null; — pause until the next frame • yield return new WaitForSeconds(0.5f); — pause for a fixed duration • StartCoroutine(FadePanel()); — begins running the coroutine • StopCoroutine(...) / StopAllCoroutines() — cancels a running coroutine (or all of them)
Example: IEnumerator FadePanel() { float t = 0; while (t < 0.5f) { t += Time.deltaTime; canvasGroup.alpha = 1 - (t / 0.5f); yield return null; } }
5 / 6
Which Unity lifecycle method runs once, before `Start()`, even if the GameObject is disabled?
`Awake()` is called once when the script instance is loaded, before any `Start()` methods run across the scene — even before the GameObject is active. It is the standard place for one-time setup and caching references (e.g. rb = GetComponent<Rigidbody>();).
Full lifecycle order (simplified): 1. Awake() — one-time init, before the object is active 2. OnEnable() — called every time the object becomes active 3. Start() — one-time init, called just before the first frame update 4. FixedUpdate() — runs on a fixed timestep, used for physics 5. Update() — runs once per rendered frame, used for gameplay logic and input 6. LateUpdate() — runs after all `Update()` calls, used for camera-follow logic 7. OnDestroy() — called when the GameObject is destroyed, used for cleanup
6 / 6
Why is it usually correct to say "move the Rigidbody in `FixedUpdate`, not `Update`"?
`FixedUpdate` runs on a fixed timestep (default 0.02s = 50Hz) that is synchronized with Unity's physics engine, so physics-related code (forces, `Rigidbody.MovePosition`, collision-sensitive movement) behaves consistently no matter what the render frame rate is.
`Update`, by contrast, runs once per rendered frame — its interval varies with frame rate, which makes raw physics calculations there inconsistent (jittery at low FPS, over-corrected at high FPS).
Rule of thumb: • `Update()` — input polling, non-physics gameplay logic, animation triggers • `FixedUpdate()` — Rigidbody forces and movement, physics-based collision response • `LateUpdate()` — camera follow (runs after the target has already moved in `Update`)
What does the "Unity Scripting Vocabulary — Game Engine Language Exercises" exercise cover?
Practise Unity C# scripting vocabulary in English: MonoBehaviour, ScriptableObject, SerializeField, prefabs, coroutines, and the Unity lifecycle.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
How many questions are in "Unity Scripting Vocabulary — Game Engine Language Exercises"?
This exercise has 6 questions. Each one gives instant feedback with an explanation, so you can see exactly why an answer is right or wrong.
Do I need to create an account to save my progress?
No account is required. The progress bar and score are tracked in your browser for the current session -- the exercise is designed to be a quick, repeatable drill rather than something you resume later.
What happens if I get an answer wrong?
You'll see the correct answer highlighted immediately, along with a short explanation of why it's correct. Wrong answers aren't penalized beyond your score, and you can keep going through every question.
How is this exercise different from reading an article?
Articles explain vocabulary and concepts through prose, while exercises like this one are interactive drills -- multiple-choice questions -- that test and reinforce your recall of specific terms and phrasing.
Can I retry this exercise?
Yes -- use the "Try again" button on the results screen to reset your score and go through all the questions again from the start.
Where can I find more Game Engine Language exercises?
Browse the full Game Engine Language hub for related drills, or check the site-wide exercises index for other IT English topics.
Is this exercise suitable for beginners?
This exercise assumes basic familiarity with IT terminology. If a term feels unfamiliar, check the site Glossary for a plain-English definition before attempting the questions.
How often is new content like this published?
New exercises are added regularly across all categories, alongside new vocabulary sets and articles. Check back on the exercises hub to see what's new.