# Changelog ## 0.2.0 Breaking changes, following the Rudder.Core 0.2.0 rework: - `Rudder` moved into the `RudderSdk.Unity` namespace. - `Rudder` is now a thin facade: `Client`, `State` (`RudderState`), `LastError`, `Ready` and `Initialize(RudderConfiguration)`. The service shortcuts (`Rudder.Auth`, `Rudder.Stores`, ...) are gone — use `Rudder.Client.*`. - `Rudder.Initialize(configuration)` creates its own hidden GameObject when no scene component exists; statics reset on Enter Play Mode without domain reload, and realtime disconnects gracefully on quit. - `LiveOpsConfiguration` renamed to `RudderConfiguration` (`Create > Rudder > Configuration`), with tooltips, an empty-ProjectKey warning and a configurable `TimeoutSeconds` (default 10). - Core renames propagate: `client.Scenarios` → `client.Scenario`, `BattlepassService` → `BattlePassService`, `SendAsync` → `TriggerAsync`, `LoginViaDeviceAsync` → `LoginWithDeviceAsync(region, language, nickname?)`, `StoresService.BuyAsync` → `PurchaseAsync(slug, offerId, idempotencyKey?)`. - Scenario events reduced to the canonical set (`OnNotification`, `OnStoreOffer`, `OnLeaderboard`, `OnConfigChanged`, `OnWait`, `OnQuest`, `OnBattlePass`, `OnBattlePassLevel`, `OnScenarioCompleted`, `OnScenarioFailed`); legacy events and `*Session` renames applied. - Transport errors are now `RudderApiException` subclasses (`RudderAuthException`, `RudderNotFoundException`, `RudderRateLimitException`, `RudderNetworkException`); the bare `Exception` in the upload transport and the stringly `"network"` / `"http_error"` codes are gone. - `UnityWebRequestExecutor` / `UnityUploadTransport` wait via `UnityWebRequestAsyncOperation.completed` instead of busy-polling and apply a configurable `UnityWebRequest.timeout`. - `IRudderLogger` now reports a `RudderLogLevel`; `IUnityLoggerSink` mirrors it and `UnityDebugLoggerSink` maps levels to `Debug.Log*`. - Bundled plugins slimmed down: only `Rudder.Core.dll` ships. Newtonsoft.Json comes from `com.unity.nuget.newtonsoft-json`; `Tiny-JSON.dll` and the `System.*` facades were removed. ## 0.1.0 Initial UPM package: Rudder.Core wrapper with UnityWebRequest transport, PlayerPrefs storage, websocket realtime and the Cozy Collector demo.