GameModes Presets
Cuando se crea un nuevo nivel lo primero que se tiene que hacer es crear el GameMode seteando clases generales como Gamemode, PlayerController o HUD hemos creado presets de estas clases para que al crear un nuevo nivel se pueda usar estas clases y funcione directamente con todo lo que se necesita.

Estos preset ayudan a no tener que repetir este paso cada nivel nuevo sino el poder tener ya listo todo los sistemas para solo especificar en contexto se quiere aplicar como Exteriores, Interiores o Logeo.
Tipos de presets
La parte mas importante de estas implementaciones es la gestión de los paneles y que le HUD gestiona la creación de estos automáticamente para que al correr la app aparezca y se conecten los sistemas.
Niveles exteriores 🏫

Cuando el nivel va a ser un exterior usando los UnitVolume, UnitVolumesManager, Filtros y esas clases usando esta configuracion está integrado con todos los paneles e integraciones.
Integraciones con sistemas:
UnitVolumeManager: Busca en el nivel si esta clase está presente para gestionar la selección de UnitGroup para hacer el display de la informacion.
Exterior_Main_Panel: Panel principal de exteriores donde se utilizan implementaciones como los filtros, listado de units o detalles de estos.
Niveles interiores 🏠

Cuando el nivel es para usar el Configurator/VariantManager o visitas virtuales de interior.
Integraciones con sistemas:
Configuration con Variants
Minimapa: Gestión de un minimapa para ser usado en el panel para
Cambio de vista de orbital o en primera persona:
Niveles de registro del usuario

En la aplicación base se ha creado una versión sencilla para poder hacer un logeo del cliente o usar el usuario guest.
Customizar los presets
La implementación propuesta es general para tener todas las características en uso. Sin embargo estas clases o flujo de la aplicación puede ser heredado y customizado pudiendo cambiar o agregar nuevas integraciones.
Si se quiere hacer cambios en las clases de los presets se recomienda nunca cambiar las clases bases sino hacer herencia de clases para mantener las implementaciones intactas.
En el caso de que se quiera modificar algo de las implementaciones se recomienda hacer directamente una copia de las clases bases y luego modificar las copias.