Kembali ke Unity

DryreL Software Unity

Supabase Game Achievements

Achievement offline-first untuk game Unity

Buka achievement secara instan, bahkan offline, dan sinkronkan dengan aman saat pemain kembali online. Kini tersedia di GitHub.

Tersedia di GitHub

  • 0 msMenunggu jaringan saat unlock
  • 3Assembly, inti tanpa engine
  • MITGratis di GitHub

Ringkasan

Apa yang dilakukannya

Achievement offline-first untuk game: unlock lokal instan, penyimpanan tahan crash, sinkronisasi server berbatch dan idempoten, overlay unlock opsional, dan Unity Localization opsional.

  • Unity
  • C#
  • Supabase
  • uGUI
  • Lisensi MIT

Cara kerjanya

Dari nol sampai berfungsi

  1. Buat katalogJalankan skrip SQL singkat sekali per game di editor SQL Supabase.
  2. Tambahkan paketPasang dari URL Git dan bootstrap sekali di scene pertama Anda.
  3. Unlock dari gameplayPanggil TryUnlock. Prosesnya instan, tersimpan lokal, dan disinkronkan di latar belakang.

Fitur

Dibuat untuk langsung berfungsi

  • Offline lebih duluTryUnlock tidak pernah menunggu jaringan; unlock instan dan disimpan lokal.
  • Penyimpanan tahan crashProgres tetap aman meski crash atau game ditutup.
  • Sinkronisasi server yang amanUnlock dikirim ke Supabase secara berbatch, dan mengulang sinkronisasi tidak pernah menggandakannya.
  • Overlay unlockToast opsional di layar saat achievement terbuka.
  • LokalisasiDukungan Unity Localization opsional untuk judul dan deskripsi.
  • Inti tanpa engineAssembly inti tidak punya referensi engine, jadi mudah diuji.
  • Achievement DashboardJendela editor untuk mengelola achievement, mengubah gaya toast dengan pratinjau langsung, dan menyiapkan aturan tanpa kode.
  • Achievement bersyaratPenghitung, quest, dan aturan "tanpa gagal", dari tab Rules dashboard atau lewat kode.
  • Toast yang tidak menggangguMuncul bergeser, antre alih-alih bertumpuk, memutar suara, dan tidak pernah memblokir input.
  • Dukungan Dialogue SystemUnlock opsional dari Dialogue System for Unity, plus contoh integrasi Patreon.

Mulai

Pasang dan gunakan

  1. Buka Package ManagerDi Unity pilih Window, Package Manager, lalu tombol +.
  2. Tambahkan dari URL GitTempel URL repositori dan tekan Add.

Lalu, di kode Anda

  • UnlockAchievementManager.TryUnlock("first_blood")Instan dan aman offline. Tidak pernah menunggu jaringan.
  • PeriksaAchievementManager.HasUnlocked("first_blood")Cari tahu apa yang sudah dimiliki pemain.
  • BereaksiAchievementManager.AchievementUnlocked += ...Jalankan kode Anda sendiri di setiap unlock.
  • Sinkronkanawait AchievementManager.SyncAsync()Opsional: hanya saat Anda perlu tahu hasilnya.

Persyaratan

Sebelum Anda mulai

  • Unity 2022.3 atau lebih baru (diuji di 6000.3)
  • Paket Newtonsoft Json (com.unity.nuget.newtonsoft-json)
  • uGUI