
Volver a Unity
DryreL Software Unity
Supabase Game Achievements
Logros offline-first para juegos de Unity
Desbloquea logros al instante, incluso sin conexión, y sincronízalos con seguridad cuando el jugador vuelva a estar en línea. Ya disponible en GitHub.
Disponible en GitHub
- 0 msEspera de red al desbloquear
- 3Assemblies, núcleo sin motor
- MITGratis en GitHub
Resumen
Qué hace
Logros offline-first para juegos: desbloqueos locales al instante, guardado a prueba de cierres, sincronización con el servidor por lotes e idempotente, un aviso de desbloqueo opcional y Unity Localization opcional.
- Unity
- C#
- Supabase
- uGUI
- Licencia MIT
Cómo funciona
De cero a funcionando
- Crea el catálogoEjecuta un script SQL corto una vez por juego en el editor SQL de Supabase.
- Añade el paqueteInstálalo desde la URL de Git e inicialízalo una vez en tu primera escena.
- Desbloquea desde el juegoLlama a TryUnlock. Es instantáneo, se guarda localmente y se sincroniza en segundo plano.
Funciones
Hecho para funcionar sin más
- Primero sin conexiónTryUnlock nunca espera a la red; el desbloqueo es instantáneo y se guarda localmente.
- Guardado a prueba de cierresEl progreso sobrevive a un cierre inesperado o a cerrar el juego.
- Sincronización segura con el servidorLos desbloqueos se envían a Supabase por lotes, y repetir una sincronización nunca los duplica.
- Aviso de desbloqueoUn aviso opcional en pantalla cuando se desbloquea un logro.
- LocalizaciónCompatibilidad opcional con Unity Localization para títulos y descripciones.
- Núcleo sin motorEl assembly principal no tiene referencias al motor, así que es fácil de probar.
- Achievement DashboardUna ventana del editor para gestionar logros, cambiar el estilo del aviso con vista previa en vivo y crear reglas sin código.
- Logros condicionalesContadores, misiones y reglas "sin fallar", desde la pestaña Rules del panel o en código.
- Un aviso que no estorbaEntra deslizándose, se pone en cola en vez de solaparse, suena y nunca bloquea los controles.
- Compatibilidad con Dialogue SystemDesbloqueos opcionales desde Dialogue System for Unity, más un ejemplo de integración con Patreon.
Empieza
Instala y usa
- Abre el Package ManagerEn Unity elige Window, Package Manager y luego el botón +.
- Añadir desde una URL de GitPega la URL del repositorio y pulsa Add.
Después, en tu código
- Desbloquear
AchievementManager.TryUnlock("first_blood")Instantáneo y seguro sin conexión. Nunca espera a la red. - Comprobar
AchievementManager.HasUnlocked("first_blood")Averigua qué tiene ya el jugador. - Reaccionar
AchievementManager.AchievementUnlocked += ...Ejecuta tu propio código en cada desbloqueo. - Sincronizar
await AchievementManager.SyncAsync()Opcional: solo cuando necesites saber el resultado.
Requisitos
Antes de empezar
- Unity 2022.3 o posterior (probado en 6000.3)
- Paquete Newtonsoft Json (com.unity.nuget.newtonsoft-json)
- uGUI
