heres the script i'm using
extends Node
const data_path = "user://data.json"
const default_data = {
"bgm": {
"bgm_collection": "city_pop",
"current_track_index": 0
}
}
var global_data
func _ready():
load_data()
func load_data():
var file = File.new()
if not file.file_exists(data_path):
save_data(default_data)
else:
file.open(data_path, File.READ)
var text = file.get_as_text()
global_data = parse_json(text)
# global_data = default_data.duplicate(true)
file.close()
func save_data(data):
var file = File.new()
file.open(data_path, File.WRITE)
file.store_line(to_json(data))
file.close()
global_data = data.duplicate(true)