- Home /
my json saves but doesnt load after i exit my game
to test out my json save function i built my game i clicked my savegame button and it saved my data when i clicked my load button it changed my players coordinates to the coordinates of the player when i saved my game. However when i exited my game and tried to load it didnt save the map or my position heres my saving script: using System; using UnityEngine; using System.IO; public class savemanager : MonoBehaviour { public string worldfile; public GameObject worldmap; public string json; public string fromjson; public int recoveredint; public savedata copy; public maploader mapreference; public void Start() { loadgame(); } public void savegame() {
savedata data = new savedata { map = worldmap, mapalreadygenerated = true, playerz = GameObject.FindWithTag("Player").transform.position.z, playerx = GameObject.FindWithTag("Player").transform.position.x };
worldfile = Path.Combine(Application.persistentDataPath, data.map.name);
json = JsonUtility.ToJson(data);
if (File.Exists(worldfile))
{
File.Delete(worldfile);
}
File.WriteAllText(worldfile, json);
Debug.Log("data saved to" + worldfile);
fromjson = File.ReadAllText(worldfile);
copy = JsonUtility.FromJson<savedata>(fromjson);
}
public void loadgame()
{
fromjson = File.ReadAllText(worldfile);
copy = JsonUtility.FromJson<savedata>(fromjson);
mapreference.savedworld = copy.map;
GameObject.FindWithTag("Player").transform.position = new Vector3(copy.playerx, 0, copy.playerz);
}
}
and heres the script of the data i want to save:
using System; using UnityEngine;
[Serializable] public class savedata {
public GameObject map;
public int[] slotitems;
public float[] slotamounts;
public float playerx;
public float playerz;
public bool mapalreadygenerated;
}
Answer by Cobra_03 · Aug 13, 2018 at 02:39 PM
When you re-start your game, worldfile will be a declared variable but it will not have a value. You only assign a value to it in save game.
thanks i gave worldfile a value in my load function and it worked
Answer by Yemnefer · Aug 11, 2018 at 02:10 AM
go to "%userprofile%\AppData\LocalLow\<>companyname\<>productname\" and find the file that you saved, if it's not there, you're not saving it. also debug that Path.Combine and see if the path is correctly.
Your answer
Follow this Question
Related Questions
Json Save Returns Empty(Code inside) 1 Answer
Chest contents persistence between scenes 1 Answer
Best way to store data for multi platform aplication 1 Answer
How do I save a List in my project? 0 Answers
Problem when saving and loading 1 Answer