
Назад до Unity
DryreL Software Unity
Supabase Game Achievements
Досягнення для ігор на Unity, що працюють офлайн
Видавайте досягнення миттєво, навіть офлайн, і безпечно синхронізуйте їх, коли гравець знову в мережі. Уже на GitHub.
Доступно на GitHub
- 0 мсОчікування мережі під час отримання
- 3Збірки, ядро без рушія
- MITБезкоштовно на GitHub
Огляд
Що він робить
Досягнення для ігор із пріоритетом офлайну: миттєве локальне отримання, збереження, стійкі до вильотів, пакетна ідемпотентна синхронізація із сервером, необов'язкове сповіщення та необов'язковий Unity Localization.
- Unity
- C#
- Supabase
- uGUI
- Ліцензія MIT
Як це працює
Від нуля до робочого
- Створіть каталогОдин раз на гру виконайте короткий SQL-скрипт у SQL-редакторі Supabase.
- Додайте пакетВстановіть за Git URL і один раз ініціалізуйте в першій сцені.
- Видавайте з геймплеюВикличте TryUnlock. Це миттєво, зберігається локально й синхронізується у фоні.
Можливості
Зроблено, щоб просто працювати
- Спершу офлайнTryUnlock ніколи не чекає мережу: досягнення видається миттєво й зберігається локально.
- Збереження, стійкі до вильотівПрогрес переживає виліт або закриття гри.
- Безпечна синхронізація із серверомДосягнення надсилаються в Supabase пакетами, і повторна синхронізація ніколи їх не дублює.
- Сповіщення про отриманняНеобов'язкове спливне сповіщення, коли досягнення отримано.
- ЛокалізаціяНеобов'язкова підтримка Unity Localization для назв і описів.
- Ядро без рушіяВ основній збірці немає посилань на рушій, тож її легко тестувати.
- Achievement DashboardВікно редактора для керування досягненнями, зміни стилю сповіщення з живим переглядом і налаштування правил без коду.
- Умовні досягненняЛічильники, завдання та правила «без провалу» — у вкладці Rules панелі або в коді.
- Сповіщення, яке не заважаєВиїжджає, стає в чергу замість накладання, грає звук і ніколи не блокує введення.
- Підтримка Dialogue SystemНеобов'язкова видача з Dialogue System for Unity та приклад інтеграції з Patreon.
Початок роботи
Встановлення та використання
- Відкрийте Package ManagerВ Unity оберіть Window, Package Manager, потім кнопку +.
- Додайте за 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
