Publicado en 2 de marzo, 2017
Unity – Guardar y cargar muchas variables de manera rápida y eficiente
Las funciones de PlayerPrefs de Unity permiten guardar y cargar int, float y string sin importar en que plataforma nos encontremos trabajando, pero su gran limitante es que están diseñados para almacenar una variable a la vez y guardar y cargar varias variables se puede convertir algo molesto de hacer.
Pero Unity cuenta con una librería de JsonUtility que permite convertir cualquier clase en un string en formato JSON, el cual es una mejor alternativa a los XML para transferir datos en un formato, el truco esta en declarar una clase que contenga todas las variables que te gustarían almacenar y a la clase solo agregarle [System.Serializable] para que pueda ser compatible con este formato, entonces aquí un código de como funcionaría esto:
Aquí la funcion JsonUtility.ToJson convierte los valores de nuestra clase a un Json y este al ser un simple string, podemos almacenarlo con el PlayerPrefs, ya el cargado de la información se lleva acabo igual con el PlayerPrefs y la función JsonUtility.FromJson se encarga de leer y sobre escribir nuestras variables con los datos almacenados.
Excelente amigo. Solo una pregunta. Se puede hacer con Unityscript en lugar de C#? Cómo sería? Yo es que estoy acostumbrado al Unityscript aunque ya no se use. Mil gracias