HELIX Docs
Unreal SDK

Languages

Setup and the same HELIX call written in C++, Blueprint, and Lua.

The HELIX Unreal runtime exposes the same Platform API to three environments. Choose by team and task — they're interoperable within a project, and they all hit the identical backend.

One operation, three languages

Granting nothing, just reading: fetch the player's profile and LIX balance.

UHelix* H = UHelix::Get();

H->Profile()->GetMyProfile(FOnProfile::CreateLambda([](const FHelixProfile& P) {
    UE_LOG(LogHelix, Display, TEXT("Hi %s"), *P.DisplayName);
}));

H->Wallet()->GetBalance(FOnBalance::CreateLambda([](const FHelixBalance& B) {
    UE_LOG(LogHelix, Display, TEXT("%lld LIX"), B.Lix);
}));
Event BeginPlay
  → Helix · Profile · Get My Profile   (latent)
       On Success → Break Profile → "Display Name" → Print String
  → Helix · Wallet · Get Balance       (latent)
       On Success → Break Balance → "Lix" → Print String

Every SDK call is a node. Async calls are latent nodes with On Success / On Error exec pins.

local me = Helix.profile.getMyProfile()
local wallet = Helix.wallet.getBalance()
UE.Log(string.format("Hi %s - %d LIX", me.displayName, wallet.lix))

Choosing a language

LanguageReach for it when
C++You want the lowest-level binding, maximum performance, or you're already in C++ gameplay code.
BlueprintDesigners/artists wire logic visually; rapid iteration without compiling.
LuaYou prefer Lua, or you're bringing across Lua-based logic.

Async conventions

  • C++ uses typed delegates (FOnX::CreateLambda).
  • Blueprint uses latent nodes with On Success / On Error.
  • Lua calls are synchronous-looking (the binding yields under the hood).

On this page