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’.Acto seguido, escribimos en la casilla que pone ‘Buscar’ lo siguiente: “Game Instance”.
Clicamos en ‘GameInstance’ y le damos al botón verde ‘Seleccionar’.
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’.
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.
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’.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.
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’.
En ‘objeto’, ponemos el bloque ‘Obtener instancia del juego’.
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.
Y con esto, ya podemos acceder y modificar las variables desde cualquier Blueprint.