A customer wants 40 seats across three sites. Another runs your tool across three machines, and a trial that expired last week still holds a seat.
A trial expired last week, but the session is still open and blocking a real buyer.
Without a license layer, you track that in a spreadsheet.
Or you lose the revenue.
Universal License System (ULS) lives up to the name. One system for everything you ship in Unity — your standalone builds and applications — run from a backend on your own server.
Used in production, not just published. This package is built on the same licensing platform we run in-house to license-gate our own commercial 3D and industrial software. We depend on it ourselves — so it's maintained accordingly.
🔑 Named licenses — bind a seat to one user, so you always know exactly who runs your software.
🔄 Floating licenses — share a seat pool across a team, so a license frees up the second someone logs off.
⏱️ Check-in / check-out with verification pings — reclaim idle seats automatically, so a forgotten session never blocks a paying user.
🧩 Modules — gate features and add-ons per license, so you sell tiers and upsells from a single build.
👥 User groups — manage hundreds of users by group instead of one by one, so onboarding a whole site takes minutes.
🖥️ One backend for every build — Windows, macOS, Linux, WebGL and Android from a single license system, so your whole catalog runs on one stack.
🛡️ Self-hosted backend, full source via Git — run the license server on your own infrastructure.
Your user data stays on your servers and never touches a third party, so GDPR compliance stays in your hands. No per-seat fees to anyone.
Under the hood
⚠️ One honest note: you host the backend yourself. You get the complete source through Git and run it on your own server. Want a zero-setup cloud service? This isn't that. Want to own your licensing stack end to end? This is built for you.
In the package: the Unity-side asset plus the full backend source via Git. Works with Unity 2022.3 LTS and up, and is render-pipeline-agnostic — it doesn't touch rendering, so URP/HDRP/Built-in all work.
Data & Privacy: The package authenticates users against the OIDC provider you configure and stores the resulting tokens locally on the device (encrypted at rest on desktop). To bind floating seats it sends a device identifier and the user's identity to the license server you host — no data is sent to the package author. You are the data controller; see the bundled Documentation~/Privacy.md.