
One-Call Score Submission
Submit a player score with a single SDK method and horizOn handles ranking, deduplication, and persistence.
Contextual Rankings
Fetch global top entries or the entries surrounding a specific player to show them their standing.
Zero Infrastructure
horizOn manages all storage, indexing, and query performance so you never touch a database.
Quick Integration
Song Complete!
YOUR SCORE
12,450
// Unity C#: Leaderboard (board "weekly" created in the dashboard)
using PM.horizOn.Cloud.Manager;
using UnityEngine;
var board = LeaderboardManager.Instance;
// Submit a score for the signed in player (only kept if it beats their best)
await board.SubmitScore(15000, boardKey: "weekly");
// Top 10 (null on failure)
var top = await board.GetTop(10, boardKey: "weekly");
if (top != null)
{
foreach (var entry in top)
Debug.Log($"#{entry.position} {entry.username}: {entry.score}");
}
// Five entries above and below the player
var around = await board.GetAround(5, boardKey: "weekly");# REST API: Leaderboard
# Submit a score to the board "weekly" (needs the player's session token)
curl -X POST https://horizon.pm/api/v1/app/leaderboards/weekly/submit \
-H "X-API-Key: YOUR_API_KEY" \
-H "Authorization: Bearer SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userId":"USER_ID","score":15000}'
# Get top 10 entries
curl -X GET "https://horizon.pm/api/v1/app/leaderboards/weekly/top?userId=USER_ID&limit=10" \
-H "X-API-Key: YOUR_API_KEY"
# Get entries around a player
curl -X GET "https://horizon.pm/api/v1/app/leaderboards/weekly/around?userId=USER_ID&range=5" \
-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.




