Назад до Unity

DryreL Software Unity

Supabase Game Achievements

Досягнення для ігор на Unity, що працюють офлайн

Видавайте досягнення миттєво, навіть офлайн, і безпечно синхронізуйте їх, коли гравець знову в мережі. Уже на GitHub.

Доступно на GitHub

  • 0 мсОчікування мережі під час отримання
  • 3Збірки, ядро без рушія
  • MITБезкоштовно на GitHub

Огляд

Що він робить

Досягнення для ігор із пріоритетом офлайну: миттєве локальне отримання, збереження, стійкі до вильотів, пакетна ідемпотентна синхронізація із сервером, необов'язкове сповіщення та необов'язковий Unity Localization.

  • Unity
  • C#
  • Supabase
  • uGUI
  • Ліцензія MIT

Як це працює

Від нуля до робочого

  1. Створіть каталогОдин раз на гру виконайте короткий SQL-скрипт у SQL-редакторі Supabase.
  2. Додайте пакетВстановіть за Git URL і один раз ініціалізуйте в першій сцені.
  3. Видавайте з геймплеюВикличте TryUnlock. Це миттєво, зберігається локально й синхронізується у фоні.

Можливості

Зроблено, щоб просто працювати

  • Спершу офлайнTryUnlock ніколи не чекає мережу: досягнення видається миттєво й зберігається локально.
  • Збереження, стійкі до вильотівПрогрес переживає виліт або закриття гри.
  • Безпечна синхронізація із серверомДосягнення надсилаються в Supabase пакетами, і повторна синхронізація ніколи їх не дублює.
  • Сповіщення про отриманняНеобов'язкове спливне сповіщення, коли досягнення отримано.
  • ЛокалізаціяНеобов'язкова підтримка Unity Localization для назв і описів.
  • Ядро без рушіяВ основній збірці немає посилань на рушій, тож її легко тестувати.
  • Achievement DashboardВікно редактора для керування досягненнями, зміни стилю сповіщення з живим переглядом і налаштування правил без коду.
  • Умовні досягненняЛічильники, завдання та правила «без провалу» — у вкладці Rules панелі або в коді.
  • Сповіщення, яке не заважаєВиїжджає, стає в чергу замість накладання, грає звук і ніколи не блокує введення.
  • Підтримка Dialogue SystemНеобов'язкова видача з Dialogue System for Unity та приклад інтеграції з Patreon.

Початок роботи

Встановлення та використання

  1. Відкрийте Package ManagerВ Unity оберіть Window, Package Manager, потім кнопку +.
  2. Додайте за Git URLВставте URL репозиторію й натисніть Add.

Потім у вашому коді

  • ВидатиAchievementManager.TryUnlock("first_blood")Миттєво й безпечно офлайн. Ніколи не чекає мережу.
  • ПеревіритиAchievementManager.HasUnlocked("first_blood")Дізнайтеся, що гравець уже має.
  • РеагуватиAchievementManager.AchievementUnlocked += ...Запускайте свій код за кожного отримання.
  • Синхронізуватиawait AchievementManager.SyncAsync()Необов'язково: лише коли потрібно знати результат.

Вимоги

Перед початком

  • Unity 2022.3 або новіша (перевірено на 6000.3)
  • Пакет Newtonsoft Json (com.unity.nuget.newtonsoft-json)
  • uGUI