Bird
Raised Fist0
Unityframework~5 mins

Trigger vs collision detection in Unity - Quick Revision & Key Differences

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a Trigger in Unity physics?
A Trigger is a collider set to detect when other objects enter, stay, or exit its area without causing a physical collision response. It allows events without blocking movement.
Click to reveal answer
beginner
What happens during a Collision in Unity?
A Collision occurs when two colliders physically touch and react, causing physics responses like bouncing or stopping movement.
Click to reveal answer
beginner
How do you make a collider act as a Trigger in Unity?
You check the 'Is Trigger' box on the collider component in the Unity Editor. This disables physical collision but enables trigger events.
Click to reveal answer
intermediate
Which Unity event method is called when an object enters a Trigger?
The method OnTriggerEnter(Collider other) is called when another collider enters a trigger collider.
Click to reveal answer
intermediate
Can a Rigidbody be required for collision detection or trigger detection in Unity?
Yes, at least one of the objects involved must have a Rigidbody component for collision or trigger events to be detected.
Click to reveal answer
What is the main difference between a Trigger and a Collision in Unity?
ATrigger and Collision are the same in Unity.
BTrigger detects overlap without physical response; Collision causes physical response.
CTrigger causes physical response; Collision only detects overlap.
DTrigger disables physics; Collision disables rendering.
Which Unity method is called when two colliders physically collide?
AOnCollisionEnter
BOnTriggerEnter
COnTriggerExit
DOnCollisionStay
To use a collider as a Trigger, what must you do in Unity?
AAdd a Rigidbody component
BSet the collider to static
CDisable the collider
DCheck the 'Is Trigger' box on the collider
Which component is required on at least one object for collision or trigger events to work?
ARigidbody
BCamera
CAnimator
DAudioSource
What happens if two colliders both have 'Is Trigger' enabled and overlap?
AThey ignore each other completely
BThey cause a physical collision
CThey generate trigger events without physical collision
DThey cause the game to crash
Explain the difference between Trigger and Collision detection in Unity and when you would use each.
Think about whether you want objects to physically react or just detect presence.
You got /4 concepts.
    Describe the role of Rigidbody in collision and trigger detection in Unity.
    Consider what makes Unity's physics engine recognize moving objects.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main difference between a trigger and a collision in Unity?
      easy
      A. Triggers detect overlaps without blocking movement, collisions detect physical contact and block movement.
      B. Triggers block movement, collisions only detect overlaps.
      C. Triggers require Rigidbody, collisions do not.
      D. Triggers and collisions behave exactly the same.

      Solution

      1. Step 1: Understand trigger behavior

        Triggers detect when objects overlap but do not physically block each other.
      2. Step 2: Understand collision behavior

        Collisions detect physical contact and prevent objects from passing through each other.
      3. Final Answer:

        Triggers detect overlaps without blocking movement, collisions detect physical contact and block movement. -> Option A
      4. Quick Check:

        Trigger = overlap, Collision = block [OK]
      Hint: Triggers overlap only; collisions block movement [OK]
      Common Mistakes:
      • Confusing triggers with collisions as both blocking movement
      • Thinking triggers require Rigidbody always
      • Assuming collisions do not block movement
      2. Which of the following is the correct way to make a collider act as a trigger in Unity?
      easy
      A. Add a Rigidbody component only.
      B. Disable the collider component.
      C. Set the collider's Is Trigger property to true.
      D. Set the collider's material to None.

      Solution

      1. Step 1: Identify trigger setup

        In Unity, to make a collider a trigger, you must enable its Is Trigger checkbox.
      2. Step 2: Verify other options

        Adding Rigidbody or disabling collider does not make it a trigger; setting material to None affects physics but not trigger behavior.
      3. Final Answer:

        Set the collider's Is Trigger property to true. -> Option C
      4. Quick Check:

        Is Trigger = true for triggers [OK]
      Hint: Enable Is Trigger checkbox on collider [OK]
      Common Mistakes:
      • Adding Rigidbody alone to make trigger
      • Disabling collider thinking it triggers events
      • Changing material instead of Is Trigger
      3. Consider this Unity C# code snippet:
      void OnTriggerEnter(Collider other) {
          Debug.Log("Triggered by " + other.name);
      }
      
      void OnCollisionEnter(Collision collision) {
          Debug.Log("Collided with " + collision.gameObject.name);
      }
      What will be printed if an object with a collider marked as trigger overlaps another object with a collider and Rigidbody?
      medium
      A. No message will print.
      B. Only "Collided with [object name]" will print.
      C. Both messages will print.
      D. Only "Triggered by [object name]" will print.

      Solution

      1. Step 1: Analyze trigger event

        When a collider marked as trigger overlaps another collider with Rigidbody, OnTriggerEnter is called.
      2. Step 2: Analyze collision event

        OnCollisionEnter is called only when colliders physically collide (not triggers).
      3. Final Answer:

        Only "Triggered by [object name]" will print. -> Option D
      4. Quick Check:

        Trigger collider calls OnTriggerEnter only [OK]
      Hint: Trigger collider calls OnTriggerEnter, not OnCollisionEnter [OK]
      Common Mistakes:
      • Expecting both trigger and collision messages
      • Thinking OnCollisionEnter triggers on overlap
      • Confusing collider types for events
      4. You wrote this code but OnTriggerEnter is never called:
      void OnTriggerEnter(Collider other) {
          Debug.Log("Triggered");
      }
      What is the most likely reason?
      medium
      A. The collider is disabled.
      B. The collider's Is Trigger property is not enabled.
      C. The method name is misspelled.
      D. The object has no Rigidbody component.

      Solution

      1. Step 1: Check trigger setup

        OnTriggerEnter only fires if the collider has Is Trigger enabled.
      2. Step 2: Verify other conditions

        Rigidbody is needed on one object but missing Rigidbody alone won't prevent OnTriggerEnter if Is Trigger is off; method name is correct; collider disabled would prevent all events.
      3. Final Answer:

        The collider's Is Trigger property is not enabled. -> Option B
      4. Quick Check:

        Is Trigger must be true for OnTriggerEnter [OK]
      Hint: Enable Is Trigger to get OnTriggerEnter calls [OK]
      Common Mistakes:
      • Forgetting to enable Is Trigger
      • Assuming Rigidbody absence blocks trigger
      • Misspelling method name
      • Not enabling collider component
      5. You want to detect when a player enters a zone without blocking their movement, but also detect when the player physically hits a wall. How should you set up the colliders and Rigidbody components?
      hard
      A. Set the zone collider as trigger (Is Trigger = true), the wall collider as non-trigger, and add Rigidbody to the player.
      B. Set both zone and wall colliders as triggers, add Rigidbody to the player.
      C. Set the zone collider as non-trigger, wall collider as trigger, and add Rigidbody to the player.
      D. Remove Rigidbody from player and set all colliders as non-trigger.

      Solution

      1. Step 1: Configure zone for overlap detection

        Set the zone collider's Is Trigger to true so it detects player entering without blocking movement.
      2. Step 2: Configure wall for physical collision

        Set the wall collider as non-trigger to physically block the player.
      3. Step 3: Rigidbody requirement

        Add Rigidbody to the player so physics and trigger events work properly.
      4. Final Answer:

        Set the zone collider as trigger (Is Trigger = true), the wall collider as non-trigger, and add Rigidbody to the player. -> Option A
      5. Quick Check:

        Trigger zone + Rigidbody player + solid wall = correct setup [OK]
      Hint: Trigger zone collider, solid wall collider, Rigidbody on player [OK]
      Common Mistakes:
      • Making wall a trigger so player passes through
      • Not adding Rigidbody to player
      • Setting zone collider as non-trigger blocking player