Unity'ye dön

DryreL Software Unity

Supabase Game Achievements

Unity oyunları için çevrim dışı öncelikli başarımlar

Başarımları çevrim dışıyken bile anında açın, oyuncu çevrim içine döndüğünde güvenle senkronize edin. Şimdi GitHub'da.

GitHub'da mevcut

  • 0 msAçılmada ağ bekleme
  • 3Assembly'ler, motordan bağımsız çekirdek
  • MITGitHub'da ücretsiz

Genel bakış

Ne yapar

Oyunlar için çevrim dışı öncelikli başarımlar: anında yerel açılma, çökmeye dayanıklı kayıt, toplu ve idempotent sunucu senkronizasyonu, isteğe bağlı açılma bildirimi ve isteğe bağlı Unity Localization.

  • Unity
  • C#
  • Supabase
  • uGUI
  • MIT lisansı

Nasıl çalışır

Sıfırdan çalışır hale

  1. Kataloğu oluşturunSupabase SQL editöründe her oyun için bir kez kısa bir SQL betiği çalıştırın.
  2. Paketi ekleyinGit URL'sinden kurun ve ilk sahnenizde bir kez başlatın.
  3. Oynanış sırasında açınTryUnlock'ı çağırın. Anında olur, yerel olarak kaydedilir ve arka planda senkronize edilir.

Özellikler

Sorunsuz çalışmak için yapıldı

  • Önce çevrim dışıTryUnlock asla ağı beklemez; açılma anında olur ve yerel olarak saklanır.
  • Çökmeye dayanıklı kayıtİlerleme çökmeye ya da kapatılan oyuna rağmen korunur.
  • Güvenli sunucu senkronizasyonuAçılmalar Supabase'e toplu gönderilir ve bir senkronizasyonu tekrarlamak onları asla çoğaltmaz.
  • Açılma bildirimiBir başarım açıldığında ekranda isteğe bağlı bir bildirim.
  • YerelleştirmeBaşlıklar ve açıklamalar için isteğe bağlı Unity Localization desteği.
  • Motordan bağımsız çekirdekÇekirdek assembly'de motor referansı yoktur, bu yüzden test etmesi kolaydır.
  • Achievement DashboardBaşarımları yönetmek, bildirimi canlı önizlemeyle yeniden tasarlamak ve kod yazmadan kurallar kurmak için bir editör penceresi.
  • Koşullu başarımlarSayaçlar, görevler ve "başarısız olmadan" kuralları; panelin Rules sekmesinden ya da kodla.
  • Yolunuza çıkmayan bildirimKayarak gelir, üst üste binmek yerine sıraya girer, ses çalar ve girdiyi asla engellemez.
  • Dialogue System desteğiDialogue System for Unity'den isteğe bağlı açılmalar ve bir Patreon entegrasyon örneği.

Başlayın

Kurun ve kullanın

  1. Package Manager'ı açınUnity'de Window, Package Manager'ı seçin, sonra + düğmesine basın.
  2. Git URL'sinden ekleyinDepo URL'sini yapıştırın ve Add'e basın.

Ardından kodunuzda

  • AçınAchievementManager.TryUnlock("first_blood")Anında ve çevrim dışında güvenli. Asla ağı beklemez.
  • Kontrol edinAchievementManager.HasUnlocked("first_blood")Oyuncunun zaten nelere sahip olduğunu öğrenin.
  • Tepki verinAchievementManager.AchievementUnlocked += ...Her açılmada kendi kodunuzu çalıştırın.
  • Senkronize edinawait AchievementManager.SyncAsync()İsteğe bağlı: yalnızca sonucu bilmeniz gerektiğinde.

Gereksinimler

Başlamadan önce

  • Unity 2022.3 veya daha yeni (6000.3 üzerinde test edildi)
  • Newtonsoft Json paketi (com.unity.nuget.newtonsoft-json)
  • uGUI