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 StringEvery 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
| Language | Reach for it when |
|---|---|
| C++ | You want the lowest-level binding, maximum performance, or you're already in C++ gameplay code. |
| Blueprint | Designers/artists wire logic visually; rapid iteration without compiling. |
| Lua | You 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).