Bird
Raised Fist0
Unityframework~20 mins

Debug.Log for debugging in Unity - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Debug.Log Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Debug.Log statement?
Consider the following Unity C# code snippet. What will be printed in the Console when this runs?
Unity
int score = 10;
Debug.Log($"Player score is: {score}");
AError: score is not defined
BPlayer score is: {score}
CPlayer score is: 0
DPlayer score is: 10
Attempts:
2 left
💡 Hint
Look at how the $ symbol works with strings in C#.
❓ Predict Output
intermediate
2:00remaining
What does this Debug.Log print?
Look at this code snippet. What will appear in the Unity Console?
Unity
int x = 5;
int y = 3;
Debug.Log("Sum is: " + (x + y));
ASum is: (x + y)
BSum is: 8
CSum is: 53
DSum is: x + y
Attempts:
2 left
💡 Hint
Remember how + works with strings and numbers.
❓ Predict Output
advanced
2:00remaining
What error does this Debug.Log cause?
Examine this code snippet. What error will Unity show in the Console?
Unity
int[] numbers = {1, 2, 3};
Debug.Log(numbers[3]);
AIndexOutOfRangeException
BNullReferenceException
CNo error, prints 3
DSyntaxError
Attempts:
2 left
💡 Hint
Check the array indices and their valid range.
❓ Predict Output
advanced
2:00remaining
What will this Debug.Log print?
What is the output of this code in the Unity Console?
Unity
string playerName = null;
Debug.Log($"Player: {playerName?.ToUpper() ?? "Unknown"}");
APlayer: Unknown
BPlayer: null
CNullReferenceException
DPlayer:
Attempts:
2 left
💡 Hint
Look at the null conditional operator and null-coalescing operator.
❓ Predict Output
expert
2:00remaining
What is the output of this Debug.Log with a loop?
Consider this code. What will be printed in the Unity Console?
Unity
for (int i = 0; i < 3; i++)
{
    Debug.Log($"Count: {i}");
}
A
Count: 0
Count: 1
Count: 2
Count: 3
B
Count: 1
Count: 2
Count: 3
C
Count: 0
Count: 1
Count: 2
DCount: 3
Attempts:
2 left
💡 Hint
Remember how for loops count from start to less than end.

Practice

(1/5)
1. What is the main purpose of Debug.Log in Unity?
easy
A. To create new game objects
B. To save game data to a file
C. To change the color of objects
D. To print messages to the Console for debugging

Solution

  1. Step 1: Understand Debug.Log function

    Debug.Log is used to print messages to the Unity Console, helping developers see what is happening in the game.
  2. Step 2: Identify the purpose from options

    Only To print messages to the Console for debugging describes printing messages for debugging, which matches Debug.Log's purpose.
  3. Final Answer:

    To print messages to the Console for debugging -> Option D
  4. Quick Check:

    Debug.Log prints messages = B [OK]
Hint: Debug.Log shows messages in Console to check game status [OK]
Common Mistakes:
  • Thinking Debug.Log creates or changes objects
  • Confusing Debug.Log with saving or loading data
  • Assuming Debug.Log changes game visuals
2. Which of the following is the correct way to print the message "Hello World" using Debug.Log in Unity?
easy
A. Debug.Log(Hello World);
B. Debug.Log("Hello World");
C. Debug.Log['Hello World'];
D. Debug.Log{Hello World};

Solution

  1. Step 1: Check correct syntax for Debug.Log

    Debug.Log requires a string inside parentheses and double quotes for text, like Debug.Log("text").
  2. Step 2: Identify correct option

    Debug.Log("Hello World"); uses parentheses and double quotes correctly. Other options have wrong syntax like missing quotes or wrong brackets.
  3. Final Answer:

    Debug.Log("Hello World"); -> Option B
  4. Quick Check:

    Correct syntax uses parentheses and quotes = D [OK]
Hint: Use parentheses and double quotes for strings in Debug.Log [OK]
Common Mistakes:
  • Forgetting quotes around text
  • Using square or curly brackets instead of parentheses
  • Missing semicolon at the end
3. What will be printed in the Console when this code runs?
int score = 10;
Debug.Log("Score: " + score);
medium
A. Score: 10
B. Score: score
C. 10
D. Score + score

Solution

  1. Step 1: Understand string concatenation in Debug.Log

    The code combines the string "Score: " with the integer variable score using +, which converts the number to text.
  2. Step 2: Determine the output message

    The output will be the text "Score: " followed by the value 10, so the Console shows "Score: 10".
  3. Final Answer:

    Score: 10 -> Option A
  4. Quick Check:

    String + int converts int to string = A [OK]
Hint: Adding string + number prints combined text in Console [OK]
Common Mistakes:
  • Expecting variable name printed instead of value
  • Forgetting + operator for concatenation
  • Confusing output with just number or variable name
4. What is wrong with this code snippet?
int score = 10;
Debug.Log("Player score is: " + score)
medium
A. Debug.Log cannot print variables
B. score variable is not declared
C. Missing semicolon at the end
D. Quotes are missing around the string

Solution

  1. Step 1: Check syntax of Debug.Log statement

    The statement is missing a semicolon at the end, which is required in C#.
  2. Step 2: Verify other parts

    The string has quotes, score variable is declared above, and Debug.Log can print variables. The syntax error is the missing semicolon.
  3. Final Answer:

    Missing semicolon at the end -> Option C
  4. Quick Check:

    Statements need semicolon ; at end = A [OK]
Hint: Always end Debug.Log lines with a semicolon ; [OK]
Common Mistakes:
  • Ignoring missing semicolon errors
  • Assuming Debug.Log can't print variables
  • Confusing string quotes with missing quotes
5. You want to debug a player's health value inside the Update() method. Which code correctly prints the health variable every frame?
hard
A. void Update() { Debug.Log(health); }
B. void Update() { Debug.Log("health"); }
C. void Update() { Debug.Log(health + health); }
D. void Update() { Debug.Log(health); Debug.Log(); }

Solution

  1. Step 1: Understand how to print variable value

    To print the value of health, pass it directly to Debug.Log. void Update() { Debug.Log(health); } does this correctly.
  2. Step 2: Check other options for correctness

    void Update() { Debug.Log("health"); } prints the word "health" literally, not the variable value. void Update() { Debug.Log(health + health); } incorrectly adds health to itself (doubling the numeric value). void Update() { Debug.Log(health); Debug.Log(); } calls Debug.Log() without arguments, causing error.
  3. Final Answer:

    void Update() { Debug.Log(health); } -> Option A
  4. Quick Check:

    Pass variable directly to Debug.Log to print value = C [OK]
Hint: Pass variable directly to Debug.Log to see its value [OK]
Common Mistakes:
  • Printing variable name as string instead of value
  • Calling Debug.Log without arguments
  • Unnecessary string concatenation
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard