OathWall

Oathwall vs Unity Gaming Services (UGS) Authentication

The Oathwall Team4 min read

If you're already inside Unity's dashboard, Unity Gaming Services Authentication is the login that's right there — one click from Relay, Lobby, Cloud Save, and Economy. Oathwall is an independent alternative that trades that tight integration for more providers and no backend to adopt. Which one's right depends mostly on one question: are you building on the rest of UGS?

What each one is

UGS Authentication is Unity's identity service, part of the Unity Gaming Services suite. It's designed around anonymous sign-in first — a player gets an identity immediately — and then linking real provider accounts (Google, Apple, Facebook, Steam, Google Play Games) to it. Its real strength is that the player ID it issues is the same ID the rest of UGS uses, so Cloud Save, Economy, Lobby, Relay, and Netcode all share one identity with zero glue.

Oathwall is a standalone hosted OAuth service. It signs a player in through a social provider and returns the identity to your game — no anonymous-first model, no UGS account graph, and no backend of yours. It's not tied to Unity's cloud, so the same login works on the web and other engines.

Side by side

Oathwall UGS Authentication
Integration with Unity backend Independent Tight — shared player ID across UGS
Anonymous-first sign-in No (social login only) Yes (a core pattern)
Discord / Twitch / GitHub / Epic / X / Microsoft Yes, all native No
Google / Apple / Facebook / Steam Yes Yes
Cloud Save / Economy / Relay / Lobby Not included Shares identity with them
Cross-engine / web Yes — standard OAuth over HTTPS Unity-focused
Backend of your own None required None required (you're on UGS)
Maturity Public Beta, young Backed by Unity

Straight up: UGS is backed by Unity and integrates with a whole first-party backend that Oathwall doesn't try to replace. If you want that ecosystem, that's a strong reason to stay with UGS.

When UGS Authentication is the right call

Use UGS Authentication when you're building on UGS. If your game uses Relay for networking, Lobby for matchmaking, Cloud Save for progress, or Economy for a store, its Authentication is the piece that ties them to a player — and using anything else means bridging two identity systems for no real gain. The anonymous-first flow is also genuinely nice for games that want players in immediately and prompt them to link an account later.

If your whole backend is Unity's, don't fight it. Use its login.

When Oathwall is the right call

Use Oathwall when you're not committed to the UGS backend, or when you need providers it doesn't have. A game that wants Discord sign-in for its community, Twitch login for a streamer audience, or GitHub for a dev-tool crowd won't find those in UGS Authentication — and adding them is one string in Oathwall:

using PixitGames.SSOLoginKit;

public class LoginManager : SsoClientBase
{
    public void OnDiscordButton() => StartLogin("discord");
    public void OnTwitchButton()  => StartLogin("twitch");

    protected override void OnLoginSuccess(LoginResult user)
        => Debug.Log($"Signed in via {user.provider}");
}

The other reason is portability. Because Oathwall is a plain hosted OAuth exchange, the same player identity works on a WebGL build, a companion website, or another engine — the return trip is handled per platform without tying you to Unity's cloud. If you ship anywhere beyond the Unity runtime, that independence is worth something. See the Discord and Twitch guides for those specific setups.

Migrating between them

Both give you a stable player identifier, so a migration maps UGS player IDs to Oathwall's user.id. The wrinkle is the anonymous-first model: UGS players who never linked a real provider have no social identity to carry over, so a move to social-only Oathwall means prompting those players to sign in with a provider going forward. Plan that transition before you switch, and key new accounts off user.id.

FAQ

The differences, whether to stay on UGS with Relay/Cloud Save, provider coverage, and Unity lock-in are covered in the section below.

The honest bottom line

If your game lives on Unity Gaming Services, its Authentication is the right, integrated choice — don't add a second identity system. If you're not tied to the UGS backend, or you need Discord, Twitch, GitHub, Epic, X, or Microsoft, or you ship beyond Unity, Oathwall gives you more providers and a portable identity with no backend to adopt.

Oathwall is available on the Unity Asset Store with a free development plan. The Unity authentication guide walks the whole flow end to end.

Frequently asked questions

How is Oathwall different from Unity Gaming Services Authentication?
UGS Authentication is part of Unity's backend suite — it starts from anonymous sign-in and links provider accounts, and its player IDs flow into other UGS services like Cloud Save, Economy, Lobby, and Relay. Oathwall is independent of Unity's backend: it signs the player in with a social provider and hands your game the identity, with no UGS account model to adopt. Oathwall also covers providers UGS doesn't, like Discord, Twitch, GitHub, Epic, X, and Microsoft.
Should I use UGS Authentication if I already use Relay or Cloud Save?
Usually yes. UGS services share one player identity, so if you're building on Relay, Lobby, Netcode, or Cloud Save, UGS Authentication is the natural fit and saves you from bridging two identity systems. Oathwall makes more sense when you're not tied to the UGS backend or you need providers it doesn't support.
Does UGS Authentication support Discord or Twitch login?
No. UGS Authentication centers on anonymous sign-in plus platform logins like Google, Apple, Facebook, Steam, and Google Play Games. Discord, Twitch, GitHub, Epic, X, and Microsoft aren't part of it. For community- or streamer-facing games that want those, Oathwall covers all of them.
Is Oathwall locked to Unity like UGS is?
No. UGS Authentication is a Unity service. Oathwall's flow is a standard hosted OAuth exchange over HTTPS, so the same identity works on the web and other engines too — the Unity SDK is just one client. If you ship the same login beyond Unity, that portability matters.