Cómo guardar y cargar un STRING con PlayerPrefs en Unity

Introducción

Vamos a ver cómo guardar textos en Unity utilizando la clase PlayerPrefs, los cuales se almacenan en variables tipo string, luego veremos cómo cargar este string.

Esto nos puede ser útil por ejemplo para guardar en la memoria el nombre del jugador.

En el siguiente vídeo se ve un ejemplo combinado en el que se utiliza Player Prefs para guardar y cargar distintos tipos de datos en Unity, visita el artículo para más información y descargar el paquete de Unity con los Scripts que resuelven el problema.


Cómo guardar un string con PlayerPrefs

Para guardar un string en Unity usando PlayerPrefs vamos a usar el método estático “SetString”, una función que necesita que le demos dos parámetros.

El primer parámetro es un string con el nombre que va a tener esta variable que vamos a almacenar, esto permitirá que luego lo podamos recuperar. El segundo parámetro es el string que queremos guardar.

La instrucción que hará el guardado de los datos en Unity se vería de la siguiente forma:

PlayerPrefs.SetString(“nombreString”,texto);

En este caso indicamos el nombre del dato entre comillas porque es un string, el segundo parámetro lo indicamos utilizando una variable tipo “string” llamada “texto”.

Cómo cargar un string con PlayerPrefs

Para cargar un string en Unity usando PlayerPrefs vamos a usar el método estático “GetString”, una función que se puede usar de dos formas distintas.

En la primer forma le damos un parámetro que va a ser el nombre del dato que queremos recuperar, es decir, el nombre que le dimos cuando ejecutamos la función “SetString” que vimos anteriormente. Lo hacemos de la siguiente forma.

texto=PlayerPrefs.GetInt(“nombreString”);

La ejecución del método estático “GetString” de PlayerPrefs dá como resultado un string, es por eso que se lo asigna a la variable “texto” en la instrucción de arriba, esta variable texto debe estar declarada como string.

La segunda forma consiste también en darle el nombre del dato que utilizamos en la ejecución de “SetString” pero además damos un valor por defecto que se utilizará en caso de que no haya un dato guardado bajo ese nombre, esto se hace de la siguiente forma.

texto=PlayerPrefs.GetInt(“nombreString”,” “);

2 comentarios en “Cómo guardar y cargar un STRING con PlayerPrefs en Unity”

    1. Hola! acabo de hacer unas pruebas, el tiempo que tarda en ejecutarse la instrucción PlayePrefs.SetInt por supuesto es variable y va a depender de las especificaciones del dispositivo y de los programas que se estén ejecutando en ese momento. Además las pruebas las hice en el editor de Unity, me imagino que en una versión standalone se consiguen tiempos de ejecución más rápidos. En fin, aquí está la información que reuní:

      Guardar un valor entero con Player Prefs obtuve tiempos entre 30 y 160 microsegundos.
      Guardar la información de un array de 11 booleans como enteros (hay que convertir el bool a 1 o 0 y luego guardarlo): entre 0.8 y 1.6 MILISEGUNDOS
      Guardar string de aproximadamente 20 caracteres: Entre 50 y 330 microsegundos
      Guardar float entre 50 y 300 microsegundos

Los comentarios están cerrados.

Scroll al inicio
Secured By miniOrange