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

  1. Crea el catálogoEjecuta un script SQL corto una vez por juego en el editor SQL de Supabase.
  2. Añade el paqueteInstálalo desde la URL de Git e inicialízalo una vez en tu primera escena.
  3. 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

  1. Abre el Package ManagerEn Unity elige Window, Package Manager y luego el botón +.
  2. Añadir desde una URL de GitPega la URL del repositorio y pulsa Add.

Después, en tu código

  • DesbloquearAchievementManager.TryUnlock("first_blood")Instantáneo y seguro sin conexión. Nunca espera a la red.
  • ComprobarAchievementManager.HasUnlocked("first_blood")Averigua qué tiene ya el jugador.
  • ReaccionarAchievementManager.AchievementUnlocked += ...Ejecuta tu propio código en cada desbloqueo.
  • Sincronizarawait 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