Roles
Los roles se otorgan a los usuarios para concederles acceso a ciertas características de tu mapa. Puedes crear tantos roles como quieras duplicando uno de los existentes. Asegúrate de que todos tus roles estén dentro del gameobject Roles en tu keypad.
¡No debería haber más de 1 rol con el mismo nombre o contraseña!
Settings
- RoleName : string - Nombre interno del rol, usado para un par de funciones como búsqueda y ordenamiento y mostrado en muchos lugares como en la pantalla del keypad cuando inicias sesión.
- Password : string - Contraseña que iniciará sesión al usuario, sensible a mayúsculas, puede ser null.
- PersistentRole : bool - Si es true, el usuario conservará este rol después de salir del mundo si vuelve a entrar a la misma instancia.
- TwoFactor : bool - Si es true, el usuario deberá estar en la userlist y ingresar la contraseña para iniciar sesión.
- ChildrenRol : KeyPadRol - Si está configurado, se te iniciará sesión en el rol hijo cuando inicies sesión en este.
- AttachedProduct : UdonProduct - Si está configurado, se te iniciará sesión en este rol cuando el producto vinculado sea comprado usando CreatorEconomy.
- Crown : Crown : Si está configurado, los usuarios en este rol recibirán una corona específica usando FloatingTags
- LoginSound : AudioClip - Sonido que se reproducirá para todos cuando alguien con este rol se una a la instancia.
- Color : Color - Color asociado, no hace nada por sí mismo pero es usado por sistemas externos.
- SpawnPoint : Transform - Cambia el punto de spawn del usuario al iniciar sesión.

Los campos de contraseña son strings para permitir que keypads personalizados usen contraseñas alfanuméricas, pero el keypad predeterminado solo soporta números 0-9.
Users
Además de usar la contraseña puedes iniciar sesión en el rol automáticamente usando una whitelist.
- UserList : string[] - Lista de nombres de usuario que serán automáticamente conectados a este rol cuando se unan.
- Url : VRCUrl - Url para obtener lista de nombres de usuario.

Los VRCUrls pueden ser interceptados y por lo tanto cambiados por actores maliciosos, no se recomienda tener roles importantes como admin/staff conectados desde una lista remota.
Access Events
La utilidad principal del keypad es controlar el estado activo de diferentes gameobjects en tu escena.
- ShowObjects : GameObject[] - Lista de objetos a activar (ON) cuando inicias sesión.
- HideObjects : GameObject[] - Lista de objetos a desactivar (OFF) cuando inicias sesión.
También puedes hacer esto para componentes de UI como botones y toggles, cambiando su interactuabilidad en lugar de su estado activo.
- InteractableObjectsOn : Interactable[] - Lista de objetos interactuables para habilitar cuando inicias sesión.
- InteractableObjectsOff : Interactable[] - Lista de objetos interactuables para deshabilitar cuando inicias sesión.
Si deseas crear un área restringida fácil, pon un collider y agrega ese collider a la lista HideObjects del rol que quieres que tenga acceso a esa área.
Listeners
Los listeners se usan para enviar eventos a otros UdonBehaviours en login/logout.
- LoginListeners : [UdonSharpBehaviour|String] - Lista de Behaviour y su respectivo evento a enviar en login.
- LogoutListeners : [UdonSharpBehaviour|String] - Lista de Behaviour y su respectivo evento a enviar en logout.