User Management

User Management

Complete player authentication and identity management for your game backend

Get Started Free

Multi-Auth Support

Email, anonymous guest accounts, Apple Sign-In, and Google OAuth. Players choose how they want to sign in.

Role-Based Access

Assign roles to control what each user can do. Built-in admin and player role system.

Cross-Platform Sessions

Players sign in once and stay authenticated across all their devices seamlessly.

App Store Compliance Out of the Box

horizOn User Management now supports Sign in with Apple. Register your Team ID, Services ID, and Bundle ID once. Your iOS builds are immediately compliant.

Quick Integration

Quick Integration

MyGame Auth

Welcome back, player

player@example.com
••••••••
Unity (C#)
// Unity C#: User Authentication
using PM.horizOn.Cloud.Core;
using PM.horizOn.Cloud.Manager;
using UnityEngine;

// Once at startup: reads the imported horizOn config (API key and hosts)
HorizonApp.Initialize();
await new HorizonServer().Connect();

// Sign up with email (true on success)
bool created = await UserManager.Instance.SignUpEmail(
    "player@example.com", "securePassword", "PlayerOne");

// Sign in on a later start
bool signedIn = await UserManager.Instance.SignInEmail("player@example.com", "securePassword");

// Or start as a guest without an email
bool guest = await UserManager.Instance.SignUpAnonymous("GuestPlayer");
Debug.Log($"Player id: {UserManager.Instance.CurrentUser.UserId}");
REST
# REST API: User Authentication

# Sign up with email
curl -X POST https://horizon.pm/api/v1/app/user-management/signup \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"EMAIL","email":"player@example.com","password":"securePassword","username":"PlayerOne"}'

# Sign in with email (the reply holds userId and accessToken, the player's session token)
curl -X POST https://horizon.pm/api/v1/app/user-management/signin \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"EMAIL","email":"player@example.com","password":"securePassword"}'

# Anonymous sign up (guest account)
curl -X POST https://horizon.pm/api/v1/app/user-management/signup \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"ANONYMOUS","username":"GuestPlayer"}'

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

Frequently Asked Questions

Ready to Integrate?

Start building with horizOn today. Free tier included.