Creando el Game Instance
Una vez estamos en Unreal Engine 4, nos situamos en la ventana ‘Buscador de Contenido’, hacemos clic derecho, ponemos el cursor sobre el apartado ‘Blueprints’, y seleccionamos ‘Blueprint Class’.![variables ue4](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/gameinstance.jpg)
![ue4 gameinstance](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/game-instance-ue4.jpg)
Acto seguido, escribimos en la casilla que pone ‘Buscar’ lo siguiente: “Game Instance”.
Clicamos en ‘GameInstance’ y le damos al botón verde ‘Seleccionar’.
![gi ue4](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/select-gi.jpg)
Debemos ponerle un nombre y ya hemos creado un Game Instance.
Creando las variables a guardar
Como en cualquier BP, podremos crear diferentes variables. Es en el Game Instance donde deberemos crear las variables a guardar. Más tarde aprenderemos como acceder a ellas, modificarlas, y guardarlas.Para crear una variable nos dirigimos a la parte izquierda, y clicamos en el ‘+’ a la derecha de ‘Variables’.
![create variable unreal engine](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/var-game-instance.jpg)
Para editar esa variable (nombre, tipo, valor inicial, privacidad, etc) basta con seleccionarla, en el apartado ‘Variables’, y a la derecha aparecerán las opciones.
![clase variable](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/gi-name.jpg)
Reitero que es aquí donde deberéis crear todas las variables que queráis guardar y acceder a ellas desde cualquier Blueprint o nivel. Siempre podéis ir añadiendo variables conforme el desarrollo de vuestro juego al Game Instance.
Dentro del Game Instance simplemente creamos las variables.
Definiendo nuestro GI.
Ahora tenemos que decirle a Unreal Engine cuál es el Game Instance en el que estamos almacenando las variables. Para ello nos dirigimos a la parte superior, ‘Editar’ -> ‘Ajustes del proyecto’.![proyect settings](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/ajustes-del-proyecto.jpg)
En la ventana emergente, nos dirigimos, en la izquierda, a ‘Mapas y modos’. Dentro de ‘Mapas y modos’ hacemos scroll hasta llegar a ‘Game Instance’ y seleccionamos el Game Instance que hemos creado.
![](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/gi.jpg)
Finalmente cerramos la ventana emergente. Se guarda solo.
Cómo acceder a las variables
Por último vamos a ver cómo acceder desde cualquier BP al Game Instance y rescatar esas variables para trabajar con ellas.Siempre que queramos acceder a una variable, sacamos el bloque ‘Proyectar a [el nombre de vuestro GI]’. En mi caso es ‘Proyectar a Levels_GameInstance’.
![cast ue4](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/cast-to.jpg)
En ‘objeto’, ponemos el bloque ‘Obtener instancia del juego’.
![](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/instancia-de-juego.jpg)
Finalmente, escribimos el nombre de la variable que queremos traer, desde el nodo ‘as [el nombre de vuestro GI]’.
Para rescatar y sobrescribir un valor de la variable, escribimos ‘get’ y ‘set’ delante del nombre de la variable, respectivamente.
![set and get](https://cdn.shortpixel.ai/client/q_lossy,ret_img,w_1920/https://anotherindiestudio.com/wp-content/uploads/2019/01/get-and-set.jpg)
Y con esto, ya podemos acceder y modificar las variables desde cualquier Blueprint.