Backend API Reference¶
Complete API reference for the Backend (Nakama) module.
IVXNakamaManager¶
Nakama server connection and communication manager.
Properties¶
| Property | Type | Description |
|---|---|---|
Instance | IVXNakamaManager | Singleton instance |
IsConnected | bool | Connection status |
Session | ISession | Current Nakama session |
Socket | ISocket | Realtime socket |
Client | Client | Nakama client |
Connection Methods¶
ConnectAsync¶
Connects to the Nakama server.
ConnectSocketAsync¶
Establishes realtime socket connection.
Example:
await IVXNakamaManager.Instance.ConnectAsync();
await IVXNakamaManager.Instance.ConnectSocketAsync();
DisconnectSocketAsync¶
Closes the socket connection.
Authentication Methods¶
AuthenticateCustomAsync¶
public async Task<ISession> AuthenticateCustomAsync(
string customId,
string username = null,
bool create = true)
Authenticates with a custom identifier.
Parameters: - customId - Unique identifier - username - Optional username - create - Create if doesn't exist
Returns: Nakama session
RefreshSessionAsync¶
Refreshes the current session token.
RPC Methods¶
RpcAsync¶
Calls a server-side RPC function.
Parameters: - id - RPC function name - payload - JSON payload
Returns: RPC response
Example:
var response = await IVXNakamaManager.Instance.RpcAsync(
"get_daily_rewards",
JsonUtility.ToJson(new { userId = "123" })
);
var rewards = JsonUtility.FromJson<RewardsResponse>(response.Payload);
Storage Methods¶
WriteStorageObjectAsync¶
public async Task WriteStorageObjectAsync(
string collection,
string key,
string value,
int readPermission = 1,
int writePermission = 1)
Writes data to server storage.
Parameters: - collection - Storage collection name - key - Object key - value - JSON value - readPermission - Read permission (0-3) - writePermission - Write permission (0-1)
Example:
await IVXNakamaManager.Instance.WriteStorageObjectAsync(
"player_data",
"inventory",
JsonUtility.ToJson(inventory),
readPermission: 1, // Owner only
writePermission: 1 // Owner only
);
WriteStorageObjectsAsync¶
Writes multiple objects in a batch.
ReadStorageObjectAsync¶
public async Task<IApiStorageObject> ReadStorageObjectAsync(
string collection,
string key,
string userId = null)
Reads data from server storage.
Parameters: - collection - Storage collection - key - Object key - userId - Optional user ID (defaults to current user)
Returns: Storage object or null
ReadStorageObjectsAsync¶
public async Task<IApiStorageObjects> ReadStorageObjectsAsync(
IEnumerable<ReadStorageObjectId> objectIds)
Reads multiple objects in a batch.
DeleteStorageObjectsAsync¶
Deletes storage objects.
Leaderboard Methods¶
WriteLeaderboardRecordAsync¶
public async Task<IApiLeaderboardRecord> WriteLeaderboardRecordAsync(
string leaderboardId,
long score,
long subscore = 0,
string metadata = null)
Submits a score to a leaderboard.
Parameters: - leaderboardId - Leaderboard identifier - score - Score value - subscore - Secondary score - metadata - Optional JSON metadata
Example:
await IVXNakamaManager.Instance.WriteLeaderboardRecordAsync(
"high_scores",
score: 1500,
metadata: JsonUtility.ToJson(new { level = 10 })
);
ListLeaderboardRecordsAsync¶
public async Task<IApiLeaderboardRecordList> ListLeaderboardRecordsAsync(
string leaderboardId,
int limit = 10,
string cursor = null)
Gets leaderboard entries.
ListLeaderboardRecordsAroundOwnerAsync¶
public async Task<IApiLeaderboardRecordList> ListLeaderboardRecordsAroundOwnerAsync(
string leaderboardId,
string ownerId,
int limit = 10)
Gets entries around a specific player.
Notification Methods¶
ListNotificationsAsync¶
public async Task<IApiNotificationList> ListNotificationsAsync(
int limit = 50,
string cacheableCursor = null)
Lists user notifications.
DeleteNotificationsAsync¶
Deletes notifications.
Events¶
| Event | Signature | Description |
|---|---|---|
OnConnected | Action | Server connected |
OnDisconnected | Action | Server disconnected |
OnConnectionStateChanged | Action<ConnectionState> | State changed |
OnError | Action<Exception> | Error occurred |
ConnectionState Enum¶
Permission Levels¶
Read Permissions¶
| Value | Level | Description |
|---|---|---|
| 0 | None | No one can read |
| 1 | Owner | Only owner |
| 2 | Friends | Owner and friends |
| 3 | Public | Anyone |
Write Permissions¶
| Value | Level | Description |
|---|---|---|
| 0 | None | No one can write |
| 1 | Owner | Only owner |