- Home /
Question by
naveboy34 · Mar 25, 2020 at 11:33 PM ·
playerprefssavingsave datasaveload
PlayerPrefs.GetString not saving past values
While following a tutorial for making custom Key Bindings, I noticed that the key bindings were not saving after I left the game. I have tried going back into the tutorial multiple times to troubleshoot, but I can't find any reason why PlayerPrefs.GetString() still returns the default value. Any help is much appreciated!!
Code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CustomKeys : MonoBehaviour
{
private Dictionary<string, KeyCode>
keys = new Dictionary<string, KeyCode>();
public Text Green, Red, Yellow, Blue, Orange;
private GameObject currentKey;
private void Start()
{
keys.Add("Green Fret", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Green Fret", "A")));
keys.Add("Red Fret", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Red Fret", "S")));
keys.Add("Yellow Fret", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Yellow Fret", "D")));
keys.Add("Blue Fret", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Blue Fret", "J")));
keys.Add("Orange Fret", (KeyCode)System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Orange Fret", "K")));
Green.text = keys["Green Fret"].ToString();
Red.text = keys["Red Fret"].ToString();
Yellow.text = keys["Yellow Fret"].ToString();
Blue.text = keys["Blue Fret"].ToString();
Orange.text = keys["Orange Fret"].ToString();
}
private void Update()
{
}
private void OnGUI()
{
if (currentKey != null)
{
Event e = Event.current;
if (e.isKey)
{
keys[currentKey.name] = e.keyCode;
currentKey.transform.GetChild(0).GetComponent<Text>().text = e.keyCode.ToString();
currentKey = null;
}
}
}
public void ChangeKey(GameObject clicked)
{
currentKey = clicked;
}
public void SaveKeys()
{
foreach (var key in keys)
{
PlayerPrefs.SetString(key.Key, key.Value.ToString());
PlayerPrefs.Save();
}
PlayerPrefs.Save();
Debug.Log("Keys Saved!");
}
}
Comment
Your answer
Follow this Question
Related Questions
Why does PlayerPrefs save to the Windows Registry? 0 Answers
Save Datasets at runtime 2 Answers
Google play services saved games highscore error 0 Answers
Unity problem when i convert playerprefs save to the standard file io save 0 Answers
How do I make a basic easy Save and load function with JavaScript 1 Answer