Files
edmand46 6d115f158e Server-side scenario execution: new Rudder.Core.dll, realtime/planstore glue removed
- Rudder.Core.dll rebuilt from csharp-sdk effects rewrite (96,768 bytes)
- Realtime/ adapters, UnityRealtimeTransportFactory, UnityPlanStateStore,
  UnityPlanScheduler, WebGL jslib and RealtimeUrl config deleted (with .meta)
- Scenarios sample rewired to client.Effects; samples login path updated
- AGENTS.md/README/CHANGELOG/package docs + agent skill updated; realtime.md skill doc removed
2026-09-04 14:23:38 +03:00

2.8 KiB

Rudder Unity SDK

This project hosts the rudder.sdk UPM package and the scenes that show how to call it. Agents integrating the SDK into a game should read Packages/rudder.sdk/AGENTS.md.

Requirements

  • Unity 6000.5.6f1.
  • A Rudder project key.
  • Network access to https://api.rudder.build.

Quick Start

  1. Open this folder in Unity 6000.5.6f1.
  2. Copy Assets/LiveOpsLocal.asset.example to Assets/LiveOpsLocal.asset (the real asset is git-ignored because it holds your project key).
  3. Set ProjectKey to your project key.
  4. Confirm BaseUrl is https://api.rudder.build.
  5. Open a feature sample under Assets/Samples/Rudder SDK/ and press Play. In this development project the samples are already linked there; do not import them again from Package Manager.

Feature Samples

Each scene is one Rudder API. The scripts live in Packages/rudder.sdk/Samples~ and are the copy-paste examples for the SDK.

Scene SDK calls
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, Effects.OnNotification, Effects.OnStoreOffer, …

The later scenes are more interesting with this staging data:

Feature Expected setup
Remote Config Optional keys: demo_round_seconds, demo_player_speed. Defaults are used when keys are missing.
Stores A store with slug cozy-camp-shop with at least one offer.
Leaderboards A leaderboard with slug cozy-collector-score.
Scenarios Events player_login and/or demo_round_finished.
Storage No setup required; the sample writes type sample_save, id main.

Project Structure

Assets/Samples/Rudder SDK/       (symlink to the package Samples~)
Packages/rudder.sdk/
  Runtime/                       (Rudder.Unity + Rudder.Core.dll)
  Samples~/                      (feature sample scenes)
Assets/LiveOpsLocal.asset        (git-ignored; copy from LiveOpsLocal.asset.example)

Updating Core DLLs

Build the C# SDK from the sibling repository and copy the assembly into the UPM package:

dotnet build ../liveops-csharp-sdk -c Release
cp ../liveops-csharp-sdk/bin/Release/netstandard2.1/Rudder.Core.dll \
  Packages/rudder.sdk/Runtime/Plugins/Rudder.Core.dll

Rudder.Core depends only on Newtonsoft.Json, which Unity provides through the com.unity.nuget.newtonsoft-json package — no other DLLs are bundled.