# Rudder feature samples

Small scenes that show one Rudder API each. Open a scene, assign a
`RudderConfiguration` if the field is empty, press Play.

| Scene | Shows |
| --- | --- |
| `Authentication/Authentication.unity` | `Rudder.Initialize`, `Auth.LoginWithDeviceAsync`, `Player.GetProfileAsync`, `Auth.Logout` |
| `RemoteConfig/RemoteConfig.unity` | `RemoteConfig.LoadAsync`, `Get(key, fallback)` |
| `Storage/Storage.unity` | `Storage.GetAsync`, `SaveAsync`, `DeleteAsync` |
| `StoreInventory/StoreInventory.unity` | `Stores.ListAsync`, `PurchaseAsync`, `Inventory.GetAsync` |
| `Leaderboards/Leaderboards.unity` | `Leaderboards.FindBySlug`, `SubmitAsync`, `ListAsync` |
| `Scenarios/Scenarios.unity` | `Scenario.TriggerAsync` and `Effects.OnNotification` / `Effects.OnStoreOffer` / … |

Each scene has a `Rudder` component using `Assets/LiveOpsLocal.asset`.
Login uses the device id owned by the SDK (PlayerPrefs).

Stage data that makes the later scenes interesting is listed in the project
README (store `cozy-camp-shop`, leaderboard `cozy-collector-score`, scenario
events `player_login` / `demo_round_finished`).
