Unity SDK

Changelog

Every release of the KalmForge Unity SDK, in reverse chronological order. Versions follow semantic versioning.

v1.0.1

Stable ReleaseMay 2, 2026

Changed

  • Promoted to stable v1.0 versioning.
  • Enhanced initialization performance for Unity 6.
  • Improved reflection-based Firebase Messaging discovery on Android with clearer fallback warnings.

Fixed

  • Resolved a race condition where OnConfigLoaded could fire before A/B test overrides were applied.
  • Fixed offline cache corruption when disk was full during Localization fetch.

v1.0.0

Initial releaseMay 2, 2026

Core

  • KalmForgeClient - async initialization with environment-aware API key resolution.
  • Environment switching - Development, Staging, and Production endpoints isolated by key prefix.
  • Offline queue - automatic retries with exponential backoff; events survive app restarts.
  • Identity - stable install-id via PlayerPrefs plus optional player-id override for custom auth.
  • Capability tokens - plan-gated features resolved from the API key so unused modules stay dormant.
  • KalmForgeRunner - DontDestroyOnLoad MonoBehaviour that forwards application lifecycle events.

Remote Config

  • Typed getters - GetValue<T> for float, int, bool, string, enum, and arrays.
  • Live refresh - Fetch() pulls the latest schema; disk cache guarantees offline fallback.
  • [ConfigurableField] - attribute-driven auto-injection into MonoBehaviour fields and static classes.
  • A/B test integration - overrides are transparently resolved inside GetValue / TryGetValue.

Localization

  • Runtime locale switching - SetLanguage("fr") persists across sessions.
  • 33+ language mappings - automatic Application.systemLanguage to ISO code resolution.
  • Fallback chain - active language → project default → first available → key itself.
  • Parameterized strings - Localization.Format("key", args) with invariant culture.

Analytics

  • Event tracking - Analytics.TrackEvent("level_complete", label, properties).
  • Session lifecycle - automatic start / end with duration reported to the dashboard.
  • Batched delivery - flushes every 30 s or at 50 events; respects bandwidth caps.
  • Offline persistence - buffered events survive network loss and app restarts.

Leaderboards

  • Submit - by stable string key or UUID; optional metadata and custom player name.
  • Top scores - paginated global rank list with configurable limit and offset.
  • Around-player - contextual slice (N above, N below) for "near me" UI.
  • Rotation support - daily, weekly, and custom-schedule instances with automatic rollover.
  • Player statistics - best / worst / average score and rank across every past instance.
  • Closed-instance rewards - GetLastClosedResult and ClaimLastClosedReward for end-of-season prizes.

Push Notifications

  • RemotePush.RegisterAsync - acquires APNs (iOS) or FCM (Android) token and registers with the dashboard.
  • Custom properties - pass segmentation key/value pairs at registration for campaign targeting.
  • Firebase reflection - discovers Firebase.Messaging at runtime; no hard dependency.
  • Local notifications - schedule one-off or repeating alerts via LocalNotifications.
  • Opt-out - UnregisterAsync marks the device skipped during campaign dispatch.

In-Game Messages

  • Three render backends - UI Toolkit, uGUI (legacy + TMP), and IMGUI for maximum compatibility.
  • Four layouts - Modal, Banner, Fullscreen, and Toast with per-message theme overrides.
  • Auto-queue vs triggered - messages without a trigger_key show automatically; others await TryShow("key").
  • Button actions - close, URL, deep-link, reward, and dismiss-forever.
  • Always-on-top - optional high-depth camera promotion so popups render above Overlay Canvases.

Live Events

  • Scheduled events - fetch active events with banners, descriptions, and reward JSON.
  • Server-enforced claim - ClaimAsync guarantees one reward per player per event.

Promo Codes

  • Redemption flow - PromoCodeRedeemer.RedeemAsync("CODE") with server-validated result.

Store Catalog

  • Metadata and pricing - fetch product tiers, descriptions, and localized pricing.

Device Logs

  • Automatic collection - captures Unity logs and exceptions for remote debugging.

Editor Integration

  • Settings window - Window > KalmForge > Settings for API keys, environments, and feature toggles.
  • Setup wizard - guided first-time configuration with dependency checker.
  • In-Game Messages editor - Window > KalmForge > In-Game Messages for PanelSettings, font, and theme preview.
  • Build processor - KalmForgeNotificationsBuildProcessor injects required iOS/Android entitlements automatically.
Looking for the install guide? Head to the Unity SDK overview or the documentation hub.
Back to DocsKalmForge SDK · v1.0.1