Bird
Raised Fist0
Unityframework~10 mins

PlayerPrefs for simple data in Unity - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to save an integer score using PlayerPrefs.

Unity
PlayerPrefs.SetInt("score", [1]);
Drag options to blanks, or click blank then click option'
Ascore
BscoreValue
Cpoints
Dvalue
Attempts:
3 left
💡 Hint
Common Mistakes
Using a variable name that is not defined.
Using a string instead of a variable.
2fill in blank
medium

Complete the code to retrieve the saved integer score from PlayerPrefs.

Unity
int savedScore = PlayerPrefs.[1]("score", 0);
Drag options to blanks, or click blank then click option'
AGetString
BGetInt
CGetFloat
DLoadInt
Attempts:
3 left
💡 Hint
Common Mistakes
Using GetString or GetFloat for an integer value.
Using a method that does not exist like LoadInt.
3fill in blank
hard

Fix the error in the code to save a float value for volume using PlayerPrefs.

Unity
PlayerPrefs.SetFloat("volume", [1]);
Drag options to blanks, or click blank then click option'
AvolumeLevel
B"volumeLevel"
CvolumeLevel.ToString()
Dvolume
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a string instead of a float variable.
Calling ToString() on the float variable.
4fill in blank
hard

Fill both blanks to save and then retrieve a boolean value using PlayerPrefs.

Unity
PlayerPrefs.SetInt("isMusicOn", [1] ? 1 : 0);
bool isMusicOn = PlayerPrefs.GetInt("isMusicOn", 1) [2] 1;
Drag options to blanks, or click blank then click option'
AisMusicOn
B==
C!=
DmusicOn
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to save a boolean directly.
Using wrong comparison operator.
5fill in blank
hard

Fill all three blanks to save a player's name and then retrieve it with a default value.

Unity
PlayerPrefs.SetString("playerName", [1]);
string name = PlayerPrefs.[2]("playerName", [3]);
Drag options to blanks, or click blank then click option'
AplayerName
BGetString
C"Guest"
Dplayer
Attempts:
3 left
💡 Hint
Common Mistakes
Using GetInt or GetFloat for strings.
Not providing a default value when retrieving.

Practice

(1/5)
1. What is the main purpose of PlayerPrefs in Unity?
easy
A. To create 3D models in the game
B. To manage game physics calculations
C. To handle player input controls
D. To save small data like numbers and text between game sessions

Solution

  1. Step 1: Understand PlayerPrefs role

    PlayerPrefs is designed to store simple data like numbers and text that persist between game sessions.
  2. Step 2: Compare options with PlayerPrefs purpose

    Options A, C, and D relate to other game systems, not data storage.
  3. Final Answer:

    To save small data like numbers and text between game sessions -> Option D
  4. Quick Check:

    PlayerPrefs stores simple data = B [OK]
Hint: PlayerPrefs saves small data between sessions [OK]
Common Mistakes:
  • Confusing PlayerPrefs with input or physics systems
  • Thinking PlayerPrefs handles large files or complex data
2. Which of the following is the correct way to save an integer value 10 with key "score" using PlayerPrefs?
easy
A. PlayerPrefs.SetInt("score", 10);
B. PlayerPrefs.SaveInt("score", 10);
C. PlayerPrefs.Set("score", 10);
D. PlayerPrefs.PutInt("score", 10);

Solution

  1. Step 1: Recall PlayerPrefs method for integers

    The correct method to save an integer is SetInt with key and value.
  2. Step 2: Check method names in options

    Only PlayerPrefs.SetInt("score", 10); uses the correct method name SetInt. Others use invalid method names.
  3. Final Answer:

    PlayerPrefs.SetInt("score", 10); -> Option A
  4. Quick Check:

    SetInt saves integer = A [OK]
Hint: Use SetInt to save integers in PlayerPrefs [OK]
Common Mistakes:
  • Using incorrect method names like Set or PutInt
  • Forgetting to use quotes around the key string
3. What will be the output of this code snippet?
PlayerPrefs.SetString("playerName", "Alex");
string name = PlayerPrefs.GetString("playerName", "Unknown");
Debug.Log(name);
medium
A. Unknown
B. Error
C. Alex
D. null

Solution

  1. Step 1: Understand SetString and GetString usage

    The code saves "Alex" with key "playerName" and then retrieves it with a default value "Unknown".
  2. Step 2: Determine what GetString returns

    Since "playerName" exists, GetString returns "Alex", not the default "Unknown".
  3. Final Answer:

    Alex -> Option C
  4. Quick Check:

    GetString returns saved value = D [OK]
Hint: GetString returns saved value if key exists [OK]
Common Mistakes:
  • Assuming default value is always returned
  • Confusing SetString with SetInt or other methods
4. Identify the error in this code snippet:
PlayerPrefs.SetInt("level", 5);
int currentLevel = PlayerPrefs.GetInt("Level", 1);
Debug.Log(currentLevel);
medium
A. Key names are case-sensitive, causing default value to be returned
B. SetInt cannot be used for integers
C. GetInt requires a string key and an integer default value
D. PlayerPrefs.Save() is missing, so data won't save

Solution

  1. Step 1: Compare key names used in SetInt and GetInt

    SetInt uses key "level" (lowercase), GetInt uses "Level" (uppercase L). Keys are case-sensitive.
  2. Step 2: Understand effect of key mismatch

    Because keys differ, GetInt does not find "Level" and returns default 1 instead of 5.
  3. Final Answer:

    Key names are case-sensitive, causing default value to be returned -> Option A
  4. Quick Check:

    Case-sensitive keys cause mismatch = C [OK]
Hint: Check key spelling and case carefully [OK]
Common Mistakes:
  • Ignoring case sensitivity of keys
  • Thinking PlayerPrefs.Save() is always required immediately
5. You want to save a player's high score and retrieve it later. Which sequence of code correctly saves the score 150 and then loads it with a default of 0 if not found?
hard
A. PlayerPrefs.SetString("highScore", "150"); int score = PlayerPrefs.GetInt("highScore", 0);
B. PlayerPrefs.SetInt("highScore", 150); PlayerPrefs.Save(); int score = PlayerPrefs.GetInt("highScore", 0);
C. PlayerPrefs.SetInt(150, "highScore"); int score = PlayerPrefs.GetInt("highScore");
D. PlayerPrefs.SetInt("highScore", 150); int score = PlayerPrefs.GetInt("highScore", 100); PlayerPrefs.Save();

Solution

  1. Step 1: Save the high score correctly

    Use SetInt with key "highScore" and value 150, then call PlayerPrefs.Save() to ensure data is saved immediately.
  2. Step 2: Retrieve the high score with default

    Use GetInt with key "highScore" and default 0 to load the saved score or 0 if not found.
  3. Final Answer:

    PlayerPrefs.SetInt("highScore", 150); PlayerPrefs.Save(); int score = PlayerPrefs.GetInt("highScore", 0); -> Option B
  4. Quick Check:

    SetInt + Save + GetInt with default = A [OK]
Hint: Save with SetInt + Save(), load with GetInt and default [OK]
Common Mistakes:
  • Mixing SetString with GetInt causing type mismatch
  • Not calling PlayerPrefs.Save() after setting data
  • Swapping key and value parameters
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