Cheat sheet

The first useful line of every call. Click a cell to open the article, or copy the whole snippet.

Arrow keys move, Enter opens, C copies.

FeaturesUnityGodotUnrealREST
Setup
Install the SDKUnitygithub.com/ProjectMakersDE/horizOn-SDK-UnityGodotgithub.com/ProjectMakersDE/horizOn-SDK-GodotUnrealgithub.com/ProjectMakersDE/horizOn-SDK-UnrealRESThttps://horizon.pm/api/v1/app
Import the configUnityhorizOn_config.jsonGodothorizOn_config.jsonUnrealhorizOn_config.jsonRESTX-API-Key: horizon_YOUR_API_KEY_HERE
First callUnityUserManager.Instance.SignUpAnonymous("PlayerName");GodotHorizon.auth.signUpAnonymous("PlayerName")UnrealSDK->Auth->SignUpAnonymous(TEXT("PlayerName"), FOnAuthComplete::CreateLambda([](bool bSuccess) {}));RESTPOST/user-management/signup
Features
AuthenticationUnityUserManager.Instance.SignUpAnonymous("PlayerName");GodotHorizon.auth.signUpAnonymous("PlayerName")UnrealSDK->Auth->SignUpAnonymous(TEXT("PlayerName"), FOnAuthComplete::CreateLambda([](bool bSuccess) {}));RESTPOST/user-management/signup
UsersUnityUserManager.Instance.CheckAuth();GodotHorizon.auth.checkAuth()UnrealSDK->Auth->CheckAuth(FOnAuthComplete::CreateLambda([](bool bSuccess)RESTPOST/user-management/check-auth
Player ProfileUnityPlayerProfileManager.Instance.GetProfile();GodotHorizon.playerProfile.getProfile()UnrealSDK->PlayerProfile->GetProfile(FOnPlayerProfileComplete::CreateLambda(…)RESTGET/player-profile
LeaderboardUnityLeaderboardManager.Instance.SubmitScore(12500);GodotHorizon.leaderboard.submitScore(15000)UnrealSDK->Leaderboard->SubmitScore(12500, …)RESTPOST/leaderboard/submit
Validated ActionsUnityva.StartRun("weekly");GodotHorizon.validatedActions.startRun("weekly")UnrealVA->StartRun(TEXT("weekly"), FOnValidatedRunStarted::CreateLambda(…)RESTPOST/validated-actions/runs
Cloud SaveUnityCloudSaveManager.Instance.SaveObject(data);GodotHorizon.cloudSave.saveObject(data)UnrealSDK->CloudSave->Save(SaveData, …)RESTPOST/cloud-save/save
Remote ConfigUnityRemoteConfigManager.Instance.GetInt("max_lives", 3);GodotHorizon.remoteConfig.getInt("max_lives", 3)UnrealSDK->RemoteConfig->GetConfig(TEXT("max_lives"), true, …)RESTGET/remote-config/{configKey}
LocalizationUnityHorizonSDK.Localization.SetLanguage("de");GodotHorizon.localization.setLanguage("de")UnrealSDK->Localization->SetLanguage(TEXT("de"));RESTGET/localization/{key}
NewsUnityNewsManager.Instance.LoadNews(limit: 10);GodotHorizon.news.loadNews(10, "en")UnrealSDK->News->LoadNews(10, TEXT("en"), true, …)RESTGET/news
Gift CodesUnityGiftCodeManager.Instance.Validate("PROMO2024");GodotHorizon.giftCodes.validate("SUMMER2026")UnrealSDK->GiftCodes->Validate(TEXT("PROMO2024"), …)RESTPOST/gift-codes/validate
Email SendingUnityEmailSendingManager.Instance.SendEmail(…)GodotHorizon.email_sending.send_email(…)UnrealSDK->EmailSending->SendEmail(…)RESTPOST/email-sending/send
Crash ReportingUnityCrashManager.Instance.StartCapture();GodotHorizon.crashes.register_session()UnrealSDK->Crashes->StartCapture();RESTPOST/crash-reports/session
User FeedbackUnityFeedbackManager.Instance.ReportBug(…)GodotHorizon.feedback.submitBugReport(…)UnrealSDK->Feedback->ReportBug(…)RESTPOST/user-feedback/submit
User LogsUnityUserLogManager.Instance.Info("Tutorial completed");GodotHorizon.userLogs.info("Tutorial completed")UnrealSDK->UserLogs->Info(TEXT("Tutorial completed"), …)RESTPOST/user-logs/create