SDK Setup & Configuration¶
Skill ID: ivx-sdk-setup
name: ivx-sdk-setup description: >- Set up and configure the IntelliVerseX Game SDK for Unity or cross-platform engines. Use when the user says "set up IntelliVerseX", "integrate SDK", "bootstrap SDK", "add IntelliVerseX to my project", "configure game ID", "UPM package setup", or needs help with initial SDK integration for Unity, Unreal, Godot, JavaScript, Java, Flutter, C++, Cocos2d-x, Defold, or Web3. version: "1.0.0" author: "IntelliVerse-X team@intelli-verse-x.ai" allowed-tools: - Read - Write - Edit - Glob - Grep - Shell
Overview¶
This skill walks through the complete setup of the IntelliVerseX Game SDK, from package installation to verified initialization. The SDK supports 10 platforms; Unity is the reference implementation.
When to Use¶
Ask your AI agent any of these:
- "Set up IntelliVerseX in my Unity project"
- "Add IntelliVerseX to my Node.js game server"
- "Bootstrap the SDK for Godot 4"
- "Configure my game ID and Nakama connection"
- "Add IntelliVerseX to my Flutter app"
- "Integrate the SDK into my Unreal project"
What the Agent Does¶
flowchart LR
A[You: "Set up IntelliVerseX"] --> B[Agent loads ivx-sdk-setup skill]
B --> C[Detects your platform]
C --> D[Installs the package]
D --> E[Creates bootstrap config]
E --> F[Fills in server credentials]
F --> G[Enables feature modules]
G --> H[Verifies initialization] Step-by-step:¶
- Package installation -- UPM for Unity, npm for JS, Gradle for Java, pub.dev for Flutter, CMake for C++, addon for Godot, etc.
- Bootstrap config creation -- ScriptableObject in Unity, config object in other platforms.
- Credential setup -- GameId, ServerHost, ServerPort, ServerKey from the developer dashboard.
- Feature toggles -- Enable only the modules you need (Hiro, Satori, Discord, AI, Multiplayer, Platform).
- Initialization verification -- Ensures
OnBootstrapCompletefires without warnings. - Troubleshooting -- Handles missing assembly references, empty GameId, connection timeouts, and Nakama not found.
Unity Installation (UPM)¶
Step 1 — Add the UPM Package¶
Open Window > Package Manager > + > Add package from git URL and paste:
Alternatively, add directly to Packages/manifest.json:
{
"dependencies": {
"com.intelliversex.sdk": "https://github.com/intelli-verse-x/Intelli-verse-X-SDK.git?path=Assets/_IntelliVerseXSDK"
}
}
Step 2 — Create the Bootstrap Config¶
- In the Project window, right-click and select Create > IntelliVerseX > Bootstrap Config.
- Name it
IVXBootstrapConfigand place it in aResources/or_Config/folder.
Step 3 — Fill in Required Fields¶
| Field | Where to Get It | Example |
|---|---|---|
| GameId | intelli-verse-x.ai/developers — create a project and copy the Game ID | a1b2c3d4-... |
| ServerHost | Nakama server host provided in the developer dashboard | nakama.intelli-verse-x.ai |
| ServerPort | Server port (typically 7350 for gRPC, 7351 for HTTP) | 7350 |
| ServerKey | Nakama server key from the dashboard | defaultkey |
Step 4 — Toggle Feature Modules¶
The config exposes toggles for each subsystem. Enable only what you need:
| Toggle | Purpose | Default |
|---|---|---|
EnableHiro | Live-ops, economy, achievements, streaks | true |
EnableSatori | Analytics, feature flags, A/B experiments | true |
EnableDiscord | Discord rich presence and social overlay | false |
EnableAI | AI voice host, NPC dialog, content generation | false |
EnableMultiplayer | Lobby, matchmaking, real-time networking | false |
EnablePlatform | Platform-specific services (leaderboards, auth) | true |
Disabled modules are fully stripped — no initialization cost, no network calls.
Step 5 — Add the Bootstrap Component¶
- Create an empty GameObject in your first scene (e.g.
[IVX Bootstrap]). - Add the IVXBootstrap component.
- Assign the
IVXBootstrapConfigasset to the Config field. - Check Auto Initialize to bootstrap on
Awake().
The component uses DontDestroyOnLoad and is a singleton accessible via IVXBootstrap.Instance.
Step 6 — Verify Initialization¶
using IntelliVerseX.Core;
using UnityEngine;
public class GameEntryPoint : MonoBehaviour
{
private void Start()
{
IVXBootstrap.Instance.OnBootstrapComplete += OnReady;
}
private void OnReady()
{
Debug.Log("[GameEntryPoint] IntelliVerseX SDK initialized");
}
}
Check the console for: - [IVXBootstrap] Bootstrap complete — all enabled modules ready
If you see warnings, see the troubleshooting section below.
Cross-Platform Quick Starts¶
JavaScript / TypeScript¶
import { IVXClient } from "@intelliversex/sdk";
const client = new IVXClient({
gameId: "YOUR_GAME_ID",
serverHost: "nakama.intelli-verse-x.ai",
serverPort: 7350,
serverKey: "defaultkey",
});
await client.initialize();
Java / Android (Gradle)¶
IVXClient client = new IVXClient.Builder()
.setGameId("YOUR_GAME_ID")
.setServerHost("nakama.intelli-verse-x.ai")
.build();
client.initialize();
Flutter / Dart (pub.dev)¶
final client = IVXClient(
gameId: 'YOUR_GAME_ID',
serverHost: 'nakama.intelli-verse-x.ai',
);
await client.initialize();
Godot 4 (Addon)¶
- Copy
addons/intelliversex/into your project'saddons/directory. - Enable the plugin in Project > Project Settings > Plugins.
- Configure via the IVXAutoload singleton:
IVXAutoload.game_id = "YOUR_GAME_ID"
IVXAutoload.server_host = "nakama.intelli-verse-x.ai"
await IVXAutoload.initialize()
Defold (Library Module)¶
Add to game.project under [dependencies]:
C++ (CMake)¶
FetchContent_Declare(
intelliversex
GIT_REPOSITORY https://github.com/intelli-verse-x/cpp-sdk.git
GIT_TAG v5.8.0
)
FetchContent_MakeAvailable(intelliversex)
target_link_libraries(${PROJECT_NAME} PRIVATE intelliversex::sdk)
Cocos2d-x (CMake)¶
Same CMake pattern as the C++ SDK. Link against intelliversex::sdk in your CMakeLists.txt.
Unreal Engine 5 (Plugin)¶
- Clone or download the plugin into
Plugins/IntelliVerseX/. - Enable in Edit > Plugins > IntelliVerseX.
- Add to your
.Build.cs:
- Configure in Project Settings > Plugins > IntelliVerseX: set GameId, ServerHost, ServerKey.
Troubleshooting¶
Missing Assembly Definition References¶
Symptom: Compiler error about missing types from IntelliVerseX.*.
Fix: Add the required .asmdef reference to your assembly definition file. The SDK's runtime assemblies follow the pattern IntelliVerseX.{Module}.
"Nakama not installed" Warning¶
Symptom: Console warning at startup about Nakama client not found.
Fix: The UPM package bundles Nakama. If you see this, check that the package imported correctly — reimport via Package Manager or delete Library/ and reimport.
Empty GameId Warning¶
Symptom: [IVXBootstrap] GameId is empty — cannot initialize.
Fix: Open your IVXBootstrapConfig ScriptableObject and enter the Game ID from intelli-verse-x.ai/developers.
Initialization Hangs¶
Symptom: OnBootstrapComplete never fires.
Fix: 1. Verify ServerHost and ServerPort are reachable (ping or browser check). 2. Ensure ServerKey matches the Nakama server configuration. 3. Check Unity console for socket timeout errors.
XR / VR / AR Setup¶
Meta Quest (VR)¶
- Install the Meta XR SDK via Unity Package Manager.
- In Project Settings > XR Plug-in Management, enable the Oculus loader for Android.
- Add the scripting define
INTELLIVERSEX_HAS_META_XRin Player Settings > Scripting Define Symbols. - The SDK auto-detects Quest via
IVXXRPlatformHelperand provides hand/eye tracking and passthrough flags.
Apple Vision Pro (visionOS)¶
- Install the Unity PolySpatial and Apple visionOS packages.
- Enable the Apple XR loader in XR Plug-in Management.
- The SDK matches the loader name containing "Apple", "Vision", or "PolySpatial".
IVXXRPlatformHelper.GetRecommendedSettings()returns visionOS-optimized values (90 fps, world-space UI, hand tracking preferred).
SteamVR / OpenXR (PC VR)¶
- Install the OpenXR Plugin via UPM.
- Add
INTELLIVERSEX_HAS_OPENXRto scripting defines for full subsystem queries. - On Windows standalone builds, the SDK auto-classifies OpenXR as
SteamVR.
PSVR2¶
- Obtain the PlayStation VR2 Unity plugin from Sony's partner portal (NDA required).
- The SDK detects loaders containing "PlayStation" or "PSVR" and sets
XRPlatformType.PSVR2. - Recommended settings: 90 fps, world-space UI, eye tracking available, no hand tracking.
AR Foundation (ARKit / ARCore)¶
- Install AR Foundation and the platform-specific provider (ARKit XR Plugin or ARCore XR Plugin).
- Add
INTELLIVERSEX_HAS_ARFOUNDATIONto scripting defines. IVXARHelperwraps plane detection, image tracking, light estimation, and world mesh availability.
Godot 4 XR¶
The addon includes IVXXRHelper which auto-detects OpenXR interfaces. Call detect_xr_platform() after the XR interface is initialized.
C++ XR (OpenXR)¶
Enable in CMake:
This links the OpenXR loader and defines IVX_HAS_OPENXR for real platform detection.
Console Setup (PS5 / Xbox / Switch)¶
Console integration uses an adapter pattern — you implement IIVXConsoleAdapter with your console's proprietary SDK (NDA-protected), and register it with IVXConsoleManager:
// In your platform-specific bootstrap
IVXConsoleManager.Instance.RegisterAdapter(new PS5ConsoleAdapter());
The adapter interface covers: GetPlatformUserIdAsync(), SignInWithPlatformAsync(), UnlockAchievementAsync(), SetPresenceAsync(), SupportsFeature().
Unreal Engine¶
Use UIVXConsoleSubsystem which wraps Unreal's IOnlineSubsystem for cross-console identity, achievements, and presence — works automatically with Epic Online Services, Steam, PlayStation Network, or Xbox Live depending on your project's online subsystem config.
Configuration¶
Create an IVXConsoleConfig ScriptableObject via Create > IntelliVerseX > Console Configuration to toggle auto-sign-in and set default presence.
WebGL Build Notes¶
- WebGL builds use
.jslibplugins for ads (AdSense/Applixir) and payment APIs. - Audio recording (
IVXAIAudioRecorder) is disabled on WebGL — use text-only AI. - WebSocket connections require the server to support HTTPS with valid CORS headers.
- The JS SDK exports
IVXWebXRHelperfor browser-based WebXR (Quest Browser, Chrome).
Checklist¶
- UPM package added and compiled without errors
-
IVXBootstrapConfigcreated with validGameId -
IVXBootstrapcomponent on a scene GameObject with config assigned -
OnBootstrapCompletefires without warnings - Feature toggles set for your project's needs
- XR compile defines added if targeting VR/AR
- Console adapter registered if targeting PS5/Xbox/Switch
- WebGL-specific limitations reviewed if targeting browser