Skip to content

API Reference

Complete API documentation for the IntelliVerseX SDK.


Namespaces

Namespace Description
IntelliVerseX.Core Core utilities, logging, configuration
IntelliVerseX.Identity User identity and session management
IntelliVerseX.Backend Nakama integration and networking
IntelliVerseX.Auth Authentication services
IntelliVerseX.Social Friends, sharing, social features
IntelliVerseX.Monetization IAP, ads, offerwalls
IntelliVerseX.Analytics Event tracking and analytics
IntelliVerseX.Localization Multi-language support
IntelliVerseX.Storage Local and cloud storage
IntelliVerseX.Leaderboard Leaderboards and rankings
IntelliVerseX.Quiz Daily and weekly quizzes
IntelliVerseX.UI UI components and utilities
IntelliVerseX.MoreOfUs Cross-game promotion
IntelliVerseX.Discord Discord Social SDK — presence, voice, lobbies, DMs, moderation
IntelliVerseX.AI AI voice personas, NPC dialog, content generation, moderation
IntelliVerseX.Hiro Hiro live-ops — economy, energy, inventory, spin wheel, streaks
IntelliVerseX.GameModes Game modes, lobby, matchmaking, local multiplayer
IntelliVerseX.Satori Satori analytics — events, flags, experiments, live events
IntelliVerseX.Platform Deep links, foldable devices, edge-to-edge display
IntelliVerseX.Bootstrap One-drop bootstrap for SDK initialization

Quick Reference

Initialization

// Initialize SDK
await IntelliVerseXSDK.InitializeAsync();

// Check initialization
if (IntelliVerseXSDK.IsInitialized) { /* ready */ }

Authentication

// Login
await IVXAuthService.LoginAsync(email, password);
await IVXAuthService.LoginWithDeviceIdAsync();
await IVXAuthService.LoginWithGoogleAsync(token);

// Logout
await IVXAuthService.LogoutAsync();

// Check auth state
if (IVXAuthService.IsAuthenticated) { /* logged in */ }

Backend

// Connect
await IVXNakamaManager.ConnectAsync();

// RPC calls
var result = await IVXNakamaManager.RpcAsync<T>("rpc_name", payload);

// Realtime
await IVXNakamaManager.JoinMatchAsync(matchId);

Storage

// Local storage
IVXSecureStorage.SetObject("key", data);
var data = IVXSecureStorage.GetObject<T>("key");

// Cloud storage
await IVXCloudStorage.SetAsync("collection", "key", data);
var data = await IVXCloudStorage.GetAsync<T>("collection", "key");

Leaderboards

// Submit score
await IVXLeaderboardManager.SubmitScoreAsync("leaderboard_id", score);

// Get scores
var entries = await IVXLeaderboardManager.GetTopScoresAsync("leaderboard_id", limit: 50);

Analytics

// Log event
IVXAnalyticsManager.LogEvent("event_name", parameters);

// Set user property
IVXAnalyticsManager.SetUserProperty("property", "value");

Assembly Reference

Runtime Assemblies

Assembly Contains
IntelliVerseX.Core Core, Logger, Config, Utils
IntelliVerseX.Identity UserIdentity, Session
IntelliVerseX.Backend Nakama, Wallet, Backend services
IntelliVerseX.Auth Auth UI panels
IntelliVerseX.Social Friends, Share, Rate
IntelliVerseX.Monetization IAP, Ads, Offerwall
IntelliVerseX.Analytics Analytics providers
IntelliVerseX.Localization Language, Localized components
IntelliVerseX.Storage SecureStorage, CloudStorage
IntelliVerseX.Leaderboard Leaderboard services
IntelliVerseX.Quiz Quiz logic
IntelliVerseX.QuizUI Quiz UI components
IntelliVerseX.UI UI utilities, Popup, Toast
IntelliVerseX.MoreOfUs Cross-promotion
IntelliVerseX.Networking Network utilities
IntelliVerseX.V2 Version 2 compatibility

Editor Assemblies

Assembly Contains
IntelliVerseX.Editor Setup wizard, inspectors, tools

Core Classes

IntelliVerseXSDK

Main SDK entry point.

public static class IntelliVerseXSDK
{
    // Initialization
    static Task InitializeAsync();
    static Task InitializeAsync(IntelliVerseXConfig config);

    // State
    static bool IsInitialized { get; }
    static IntelliVerseXConfig Config { get; }

    // Modules
    static void EnableModule(IVXModule module);
    static void DisableModule(IVXModule module);
    static bool IsModuleEnabled(IVXModule module);
}

IVXLogger

Logging utility.

public static class IVXLogger
{
    static void Log(string message);
    static void Log(string category, string message);
    static void LogWarning(string message);
    static void LogError(string message);
    static void SetLevel(LogLevel level);
}

IVXSafeSingleton

Thread-safe singleton base class.

public abstract class IVXSafeSingleton<T> : MonoBehaviour 
    where T : IVXSafeSingleton<T>
{
    static T Instance { get; }
    static bool IsInitialized { get; }
}

Events Reference

Authentication Events

IVXAuthService.OnLoggedIn += (userId) => { };
IVXAuthService.OnLoggedOut += () => { };
IVXAuthService.OnAuthFailed += (error) => { };

Connection Events

IVXNakamaManager.OnConnected += () => { };
IVXNakamaManager.OnDisconnected += () => { };
IVXNakamaManager.OnReconnecting += () => { };
IVXNakamaManager.OnReconnected += () => { };

Social Events

IVXFriendsManager.OnFriendRequestReceived += (request) => { };
IVXFriendsManager.OnFriendAdded += (friend) => { };
IVXFriendsManager.OnFriendRemoved += (userId) => { };
IVXFriendsManager.OnPresenceChanged += (userId, status) => { };

Monetization Events

IVXIAPManager.OnPurchaseComplete += (result) => { };
IVXIAPManager.OnPurchaseFailed += (error) => { };
IVXAdsManager.OnRewardedAdCompleted += (reward) => { };

Types Reference

Enums

public enum LogLevel { Verbose, Debug, Info, Warning, Error }
public enum FriendState { Friend, Pending, Blocked }
public enum IVXProductType { Consumable, NonConsumable, Subscription }
public enum ToastType { Default, Success, Warning, Error, Info }

Data Classes

public class IVXFriend { /* See Social module */ }
public class IVXProduct { /* See Monetization module */ }
public class IVXLeaderboardEntry { /* See Leaderboard module */ }
public class IVXQuizQuestion { /* See Quiz module */ }

Module-Specific API

For detailed API documentation per module: