
Localization
Manage all your in-game text in 15 languages and update it live without a new release
Fifteen Languages, One Key
Store up to 15 language values per key in one place and edit them side by side, the same way you manage news translations.
Players Download Only Their Language
The SDK requests a single language at runtime, so devices only ever fetch the strings they actually need.
Live Updates, No Rebuild
Fix a typo or reword a button and players see it after the next cache window, with no store submission required.
Quick Integration
// Unity C#: Localization
using PM.horizOn.Cloud.Manager;
using UnityEngine;
var loc = LocalizationManager.Instance;
// Pick the player's language once
loc.SetLanguage("de");
// A single string for the current language
string label = await loc.GetLocalization("menu.play");
Debug.Log($"Play button: {label}");
// Every key of one language at startup (cached in memory)
var all = await loc.GetAllLocalizations("de");# REST API: Localization
# Fetch every key for one language
curl -X GET "https://horizon.pm/api/v1/app/localization/all?lang=de" \
-H "X-API-Key: YOUR_API_KEY"
# Fetch a single key (falls back to en if the language is missing)
curl -X GET "https://horizon.pm/api/v1/app/localization/menu.play?lang=de" \
-H "X-API-Key: YOUR_API_KEY"
# List the languages that actually have content
curl -X GET https://horizon.pm/api/v1/app/localization/languages \
-H "X-API-Key: YOUR_API_KEY"These examples use the Unity SDK (C#) and the REST API. Godot and Unreal have the same calls in their own SDKs: see the quickstart
Frequently Asked Questions
Ready to Integrate?
Start building with horizOn today. Free tier included.

