Skip to content

Cross-Platform SDK

Skill ID: ivx-cross-platform


name: ivx-cross-platform description: >- Port IntelliVerseX SDK features between game engines and platforms. Use when the user says "port to Unreal", "port to Godot", "add JavaScript SDK", "cross-platform", "multi-engine", "feature parity", "platform support", "which features work on", "stub vs real", or needs help understanding cross-platform coverage. version: "1.0.0" author: "IntelliVerse-X team@intelli-verse-x.ai" allowed-tools: - Read - Write - Edit - Glob - Grep - Shell


Overview

The IntelliVerseX SDK supports 10 platforms. Unity is the reference implementation with full coverage. Other platforms implement a subset of features, with the rest available as API-surface stubs so code compiles and can be incrementally implemented.


When to Use

Ask your AI agent any of these:

  • "Port my game from Unity to Godot"
  • "Which features work on Unreal Engine?"
  • "Convert the Hiro economy stub to a real implementation on Flutter"
  • "What's the JavaScript equivalent of IVXLobbyManager?"
  • "Add leaderboard support to the C++ SDK"
  • "What's the coverage for the Defold SDK?"

What the Agent Does

flowchart TD
    A[You: "Port to Godot"] --> B[Agent loads ivx-cross-platform skill]
    B --> C[Shows Godot feature coverage]
    C --> D[Maps Unity classes to Godot equivalents]
    D --> E[Identifies RPC contract from Unity reference]
    E --> F[Creates typed RPC wrapper in GDScript]
    F --> G[Builds manager with caching + signals]
    G --> H[Replaces stub with real implementation]
    H --> I[Updates coverage matrix]

1. Supported Platforms

# Platform Language Package Format Min Version
1 Unity C# UPM (git) 2021.3 LTS
2 JavaScript / TypeScript TS npm Node 18+
3 Web3 TS npm (ethers.js) Node 18+
4 Java / Android Java Gradle / Maven Java 11+
5 Flutter / Dart Dart pub.dev Dart 3.0+
6 Unreal Engine 5 C++ / BP .uplugin UE 5.3+
7 Godot 4 GDScript / C# Addon Godot 4.2+
8 Defold Lua Library module Defold 1.6+
9 C++ C++ CMake C++17
10 Cocos2d-x C++ CMake v4.0+

2. Feature Coverage Matrix

Legend

Symbol Meaning
Y Real implementation — fully functional
S Stub — API surface exists, calls compile, returns defaults or calls same RPCs via HTTP
- Not applicable to this platform

Matrix

Feature Unity JS/TS Web3 Java Flutter Unreal Godot Defold C++ Cocos
Core Bootstrap Y Y Y Y Y Y Y Y Y Y
Auth (Email/Pass) Y Y Y Y Y S S S S S
Auth (Social) Y Y S Y Y S S S S S
Auth (Guest) Y Y S Y S S S S S S
Hiro Economy Y Y S Y S S S S S S
Hiro Achievements Y Y S Y S S S S S S
Hiro Energy Y Y S Y S S S S S S
Hiro Inventory Y Y S Y S S S S S S
Hiro Progression Y Y S Y S S S S S S
Hiro Streaks Y Y S Y S S S S S S
Hiro Store Y Y S Y S S S S S S
Hiro Leaderboards Y Y S Y S S S S S S
Satori Analytics Y S S S S S S S S S
Satori Flags Y S S S S S S S S S
Satori Experiments Y S S S S S S S S S
Multiplayer Lobby Y Y - Y S S S S S S
Matchmaking Y Y - Y S S S S S S
Real-Time Socket Y Y - Y S S S S S S
Local Multiplayer Y - - - - - - - - -
Ads (LevelPlay) Y - - Y S - - - - -
Ads (Appodeal) Y - - S S - - - - -
Ads (AdMob) Y - - Y S - - - - -
IAP Y - - Y S S S - - -
Offerwall Y - - S S - - - - -
AI LLM Stack Y S S S S S S S S S
AI Voice Y S - S S - - - - -
Discord Social Y S - - - S S - - -
Quiz Provider Y Y S Y S S S S S S
Web3 Wallet S S Y S S - - - S -
NFT Integration S S Y S S - - - S -
Push Notifications Y - - Y Y - - - - -
KYC Y S Y S S S S S S S

Coverage Summary

Platform Real (Y) Stub (S) N/A (-) Y+S Coverage Real Coverage
Unity 91% 6% 3% 97% 91%
JS/TS 51% 37% 12% 88% 51%
Java 45% 37% 18% 82% 45%
Flutter 42% 42% 16% 84% 42%
Unreal 43% 37% 20% 80% 43%
Godot 43% 37% 20% 80% 43%
Web3 38% 38% 24% 76% 38%
Defold 43% 33% 24% 76% 43%
C++ 32% 42% 26% 74% 32%
Cocos 36% 36% 28% 72% 36%

3. Unity-Only Features

These features currently have real implementations only in Unity:

Feature Why Unity-Only
AI LLM Stack (full) Requires AudioSource + WebSocket + native TTS
Discord Social (full) Uses Discord Game SDK native plugin
Satori Analytics (full) Deep integration with Unity lifecycle
Local Multiplayer Requires same-device input splitting
Full Ad Mediation Requires native ad SDK plugins

Other platforms have stubs that return defaults or call HTTP equivalents.


4. Cross-Platform Architecture Pattern

Every SDK follows the same architectural pattern adapted to language idioms:

┌──────────────────────┐
│  Game Code           │  Your game logic
├──────────────────────┤
│  IVX{Feature}Manager │  Singleton manager (C# / TS class / Java class / etc.)
├──────────────────────┤
│  IVX{Feature}RpcClient│  Typed RPC wrappers calling Nakama
├──────────────────────┤
│  IVXNakamaClient     │  Platform HTTP/WebSocket client
└──────────────────────┘

Language Adaptations

Unity (C#) JS/TS Java Godot (GDScript) C++
IVXEconomyManager.Instance IVXEconomy.getInstance() IVXEconomy.getInstance() IVXEconomy.get_instance() IVXEconomy::instance()
async Task<T> async/await Promise<T> CompletableFuture<T> await signal std::future<T>
[SerializeField] Constructor config Builder pattern @export Config struct
.asmdef modules npm workspace Gradle modules Plugin folder CMake targets

5. Class Mapping Table

Unity C# Class JS/TS Java Godot C++
IVXBootstrap IVXClient IVXClient IVXAutoload IVXClient
IVXAuthManager IVXAuth IVXAuth IVXAuth IVXAuth
IVXEconomyManager IVXEconomy IVXEconomy IVXEconomy IVXEconomy
IVXLobbyManager IVXLobby IVXLobby IVXLobby IVXLobby
IVXMatchmakingManager IVXMatchmaking IVXMatchmaking IVXMatchmaking IVXMatchmaking
IVXAdsManager N/A IVXAds N/A N/A
IVXQuizManager IVXQuiz IVXQuiz IVXQuiz IVXQuiz
IVXAISessionManager IVXAISession IVXAISession IVXAISession IVXAISession
IVXHiroCoordinator IVXHiro IVXHiro IVXHiro IVXHiro
IVXSatoriClient IVXSatori IVXSatori IVXSatori IVXSatori

6. Adding a Feature to a Non-Unity SDK

Follow this process to port a feature from the Unity reference to another platform:

Step 1 — Identify the RPC Contract

Look at the Unity IVX{Feature}RpcClient.cs to find: - RPC endpoint IDs (e.g. hiro_economy_grant) - Request payload shape - Response payload shape

Step 2 — Create the RPC Wrapper

In the target SDK, create a typed wrapper that calls the same RPC:

// JS/TS example
export class IVXEconomy {
  async grant(currency: string, amount: number): Promise<EconomyResponse> {
    return this.client.rpc("hiro_economy_grant", { currency, amount });
  }
}

Step 3 — Create the Manager

Wrap the RPC client with convenience methods, caching, and events:

export class IVXEconomy {
  private _balances: Map<string, number> = new Map();

  async grant(currency: string, amount: number): Promise<void> {
    const resp = await this.rpc.grant(currency, amount);
    this._balances.set(currency, resp.newBalance);
    this.emit("balanceChanged", currency, resp.newBalance);
  }

  getBalance(currency: string): number {
    return this._balances.get(currency) ?? 0;
  }
}

Step 4 — Replace the Stub

Update the stub implementation to use the real manager. Mark the feature as Y in the coverage matrix.

Step 5 — Test

Verify against the same Nakama server that the Unity client uses. The RPC contracts are identical.


7. SDK Directory Structure

SDKs/
├── javascript/       # npm / TypeScript
│   ├── src/
│   ├── package.json
│   └── tsconfig.json
├── java/             # Gradle / Android
│   ├── lib/src/main/java/com/intelliversex/
│   └── build.gradle
├── flutter/          # Dart / pub.dev
│   ├── lib/
│   └── pubspec.yaml
├── unreal/           # UE5 Plugin
│   ├── Source/
│   └── IntelliVerseX.uplugin
├── godot/            # Godot 4 Addon
│   ├── addons/intelliversex/
│   └── plugin.cfg
├── defold/           # Defold Library
│   ├── intelliversex/
│   └── game.project
├── cpp/              # CMake
│   ├── include/
│   ├── src/
│   └── CMakeLists.txt
├── cocos2dx/         # CMake
│   ├── include/
│   ├── src/
│   └── CMakeLists.txt
└── web3/             # TypeScript + ethers.js
    ├── src/
    ├── package.json
    └── tsconfig.json

8. Device / Runtime Platform Matrix

Beyond engines, the SDK also varies by deployment target. This matrix shows what works on each device class.

Legend

Symbol Meaning
Y Supported — real implementation or documented integration path
P Partial — some features work, others have limitations
A Adapter — works via platform adapter pattern (you implement the NDA-protected bridge)
- Not applicable

Matrix

Feature Meta Quest SteamVR Vision Pro PSVR2 PS5 Xbox Series Switch WebGL AR (Mobile)
XR Detection Y Y Y Y - - - P (WebXR) Y
Hand Tracking Y P (OpenXR) Y - - - - - -
Eye Tracking Y - Y Y - - - - -
Passthrough/AR Y - Y Y - - - - Y
XR Input Adapter Y Y Y Y - - - - -
Platform Auth - - - - A (PSN) A (Xbox Live) A (Nintendo) - -
Platform Achievements - - - - A (Trophies) A (Xbox Achievements) - - -
Platform Presence - - - - A A - - -
Ads - - - - - - - P (AdSense) Y (Mobile)
IAP Quest Store Steam App Store - A (PSN Store) A (MS Store) A (eShop) - Y (Mobile)
Push Notifications - - - - P P - P (Web Push) Y
Multiplayer Y Y Y Y Y Y Y Y Y
AI Voice Y Y Y P Y Y P P (text only) Y
Hiro Live-Ops Y Y Y Y Y Y Y Y Y
Satori Analytics Y Y Y Y Y Y Y Y Y

Key Takeaways

  • Multiplayer, Hiro, and Satori work everywhere — they're server-side via Nakama RPCs.
  • XR features require engine-level support (Unity XR Management, Unreal XR System, Godot OpenXR).
  • Console platform services (auth, achievements, presence, store) use the adapter pattern — the SDK provides the interface, you implement the NDA-protected bridge.
  • WebGL has limitations on ads, audio recording, and push notifications but supports multiplayer and core game systems.
  • Monetization varies significantly by device class — VR and console have no traditional ads.

Relevant Documentation

Platform Documentation
XR/VR/AR docs/platforms/xr-vr-ar.md
Console (PS5/Xbox/Switch) docs/platforms/console.md
WebGL docs/platforms/webgl.md
Feature Coverage Matrix docs/FEATURE_COVERAGE_MATRIX.md

Checklist

  • Identified target platform and its current coverage
  • Reviewed Unity reference implementation for the feature
  • Extracted RPC contract (endpoint, request, response)
  • Created typed RPC wrapper in target SDK
  • Created manager with caching and events
  • Replaced stub with real implementation
  • Tested against shared Nakama server
  • Updated coverage matrix in this document
  • Device/runtime matrix reviewed for target deployment (VR/Console/WebGL)
  • XR compile defines set if targeting VR/AR
  • Console adapter implemented for platform services