Bird
Raised Fist0
Unityframework~5 mins

3D colliders in Unity - Cheat Sheet & Quick Revision

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 3D collider in Unity?
A 3D collider is a component that defines the shape of an object for physical collisions and interactions in 3D space.
Click to reveal answer
beginner
Name three common types of 3D colliders in Unity.
Box Collider, Sphere Collider, and Capsule Collider are three common 3D colliders used to define simple shapes for collision detection.
Click to reveal answer
intermediate
How does a Mesh Collider differ from primitive colliders like Box or Sphere Collider?
A Mesh Collider uses the actual mesh shape of the object for collisions, allowing complex shapes, but it is more performance-heavy than primitive colliders.
Click to reveal answer
intermediate
What must be true for a GameObject with a 3D collider to detect collisions?
The GameObject must have a Rigidbody component or the other colliding object must have one, and both must have enabled colliders.
Click to reveal answer
beginner
What is the difference between a collider set as 'Is Trigger' and a normal collider?
A collider set as 'Is Trigger' does not physically block objects but detects when other colliders enter or exit its space, useful for events and triggers.
Click to reveal answer
Which component is required on a GameObject to make a 3D collider detect physical collisions?
AAnimator
BAudioSource
CRigidbody
DCamera
What type of collider should you use for a simple spherical object?
ASphere Collider
BBox Collider
CCapsule Collider
DMesh Collider
What happens when you set a collider's 'Is Trigger' property to true?
AIt blocks objects physically.
BIt disables the collider.
CIt makes the object invisible.
DIt detects overlaps but does not block movement.
Which collider type is best for complex shapes but can reduce performance?
ABox Collider
BMesh Collider
CCapsule Collider
DSphere Collider
Can two GameObjects without Rigidbody components detect collisions between their colliders?
AOnly if one has a Rigidbody.
BNo, never.
CYes, always.
DOnly if both have Mesh Colliders.
Explain how 3D colliders work in Unity and why Rigidbody components are important for collision detection.
Think about how Unity knows when objects bump into each other.
You got /3 concepts.
    Describe the difference between a collider set as 'Is Trigger' and a normal collider in Unity.
    Triggers detect presence without stopping objects.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of a 3D collider in Unity?
      easy
      A. To detect when two objects touch or collide
      B. To render 3D models on the screen
      C. To control the animation of a character
      D. To manage game audio effects

      Solution

      1. Step 1: Understand the role of colliders

        3D colliders are used to detect physical interactions between objects in a game.
      2. Step 2: Differentiate from other components

        Rendering, animation, and audio are handled by other systems, not colliders.
      3. Final Answer:

        To detect when two objects touch or collide -> Option A
      4. Quick Check:

        3D collider = collision detection [OK]
      Hint: Colliders detect contact, not visuals or sounds [OK]
      Common Mistakes:
      • Confusing colliders with rendering components
      • Thinking colliders control animations
      • Assuming colliders handle audio
      2. Which of the following is the correct way to add a BoxCollider component to a GameObject in Unity C# script?
      easy
      A. gameObject.AddComponent<BoxCollider>();
      B. gameObject.Add<BoxCollider>();
      C. gameObject.AddComponent(BoxCollider);
      D. gameObject.AddComponent<BoxCollider>;

      Solution

      1. Step 1: Recall the syntax for adding components

        In Unity C#, AddComponent is a generic method and requires angle brackets with the component type.
      2. Step 2: Check each option's syntax

        gameObject.AddComponent<BoxCollider>(); uses correct syntax with parentheses and angle brackets. Options A, B, and D have syntax errors.
      3. Final Answer:

        gameObject.AddComponent<BoxCollider>(); -> Option A
      4. Quick Check:

        AddComponent syntax = AddComponent<Type>() [OK]
      Hint: Use AddComponent<Type>() with parentheses [OK]
      Common Mistakes:
      • Omitting parentheses after AddComponent
      • Using wrong method name like Add
      • Missing angle brackets around type
      3. Consider this Unity C# code snippet:
      void OnCollisionEnter(Collision collision) {
          Debug.Log(collision.gameObject.name);
      }
      
      What will happen when this script is attached to a GameObject with a collider and Rigidbody, and it collides with another object named "Enemy"?
      medium
      A. A runtime error will occur
      B. The console will print the name of the current GameObject
      C. Nothing will print because OnCollisionEnter requires a trigger collider
      D. The console will print "Enemy"

      Solution

      1. Step 1: Understand OnCollisionEnter behavior

        This method is called when the GameObject's collider collides with another collider and at least one has a Rigidbody.
      2. Step 2: Analyze the Debug.Log statement

        It prints the name of the other object involved in the collision, accessed by collision.gameObject.name.
      3. Final Answer:

        The console will print "Enemy" -> Option D
      4. Quick Check:

        collision.gameObject.name = other object's name [OK]
      Hint: collision.gameObject is the other object collided with [OK]
      Common Mistakes:
      • Thinking it prints own GameObject name
      • Confusing collision with trigger events
      • Assuming runtime error without cause
      4. You wrote this code to detect trigger events:
      void OnTriggerEnter(Collider other) {
          Debug.Log("Triggered by " + other.name);
      }
      
      But the message never appears when objects overlap. What is the most likely reason?
      medium
      A. Debug.Log cannot print collider names
      B. The method name should be OnCollisionEnter
      C. The collider is not set as a trigger
      D. The script is missing a Rigidbody component

      Solution

      1. Step 1: Check trigger setup requirements

        OnTriggerEnter only works if at least one collider is marked as a trigger in the Unity Editor.
      2. Step 2: Evaluate other options

        Method name is correct for triggers, Rigidbody is recommended but not always required, and Debug.Log can print names.
      3. Final Answer:

        The collider is not set as a trigger -> Option C
      4. Quick Check:

        Trigger events need collider marked as trigger [OK]
      Hint: Set collider's 'Is Trigger' box to true [OK]
      Common Mistakes:
      • Using OnCollisionEnter instead of OnTriggerEnter
      • Forgetting to mark collider as trigger
      • Assuming Rigidbody is always mandatory
      5. You want to create a game object that detects collisions but does not move physically when hit. Which setup is best in Unity?
      hard
      A. Add only a collider component without Rigidbody
      B. Add a collider component and a Rigidbody with 'Is Kinematic' enabled
      C. Add a Rigidbody without a collider component
      D. Add a collider and Rigidbody with gravity enabled

      Solution

      1. Step 1: Understand Rigidbody and collider interaction

        A collider alone detects collisions but does not generate collision events without a Rigidbody.
      2. Step 2: Use Rigidbody with 'Is Kinematic' to prevent movement

        Setting Rigidbody to kinematic allows collision detection without physical response (no movement).
      3. Final Answer:

        Add a collider component and a Rigidbody with 'Is Kinematic' enabled -> Option B
      4. Quick Check:

        Rigidbody kinematic = detect collisions, no physics move [OK]
      Hint: Use Rigidbody kinematic to detect without moving [OK]
      Common Mistakes:
      • Using collider without Rigidbody for collision events
      • Adding Rigidbody but forgetting to set kinematic
      • Enabling gravity causing unwanted movement