Skip to main content
Migrate Already selling? Move your customers to Keylight without re-issuing a single key.
Keylight

Licensing for Unity games

Sell your Unity game or tool direct and license it with one package. Install over UPM, build IL2CPP and WebGL safe, read your trial length from the dashboard on launch, and keep offline play working.

Start Free

For the solo builder or two-person studio selling a Unity game or tool direct, tired of storefront cuts.

  • A storefront takes a third of every sale and owns the player relationship.
  • A hand-rolled key check gets shared on ten machines and never revokes after a refund.
  • IL2CPP strips anything clever, and a licensing library with native dependencies breaks the build.

Updated September 2026

Selling a Unity game direct, on your own site, on itch, or through a bundle, is the most commercially honest choice a small studio can make. You keep the price, the email address, and the relationship. What you lose is the storefront’s receipt system. Somebody has to answer “did this player pay?” and that somebody is now you.

Why direct sales need real licensing

The usual first version is a key check written in an afternoon. A list of keys in a script, a string compare, done. It works until the first key lands on a forum and runs on ten machines, and until the first refund goes through with the game still working. Neither problem has a fix inside a string compare.

Real licensing means a signed key the game verifies, an activation limit so one key does not supply a whole Discord, a lease that keeps working offline, and a refund that actually revokes. Keylight handles all four, and the game never talks to a server you run.

Install over UPM from the git repo

The package is dev.keylight.sdk and it targets Unity 2021.3 and newer. In the Package Manager, choose Add package from git URL and paste the repo URL with the package path. Or add the line to your manifest.json. That is the live install path today. The package is not on OpenUPM yet.

The package has zero NuGet references and no native libraries. That is deliberate, and it is what makes the next section true.

IL2CPP and WebGL safe

IL2CPP compiles ahead of time. Anything that leans on reflection, dynamic code, or a platform crypto provider is a gamble that fails at runtime with a stripped method. Pure managed C# is not a gamble. The verification math has no platform-specific branch, it is checked in CI against the same shared conformance vectors as the Swift, Rust, JavaScript, and C++ SDKs, and every release goes through a manual IL2CPP and WebGL build check before it ships.

The trial length comes from the dashboard

Read the trial length and free-tier flag when the game starts, before any device is registered. They live in your Keylight dashboard, not in your build. Ship with a 14-day trial, learn that players need longer to get past the tutorial, change it to 21 from a dropdown. Every install picks it up on next launch. No patch, no store review, no “please update” popup.

The free trials and free tier page has the dashboard side of this.

Offline play keeps working

Activation hands the game a signed lease it checks locally on every launch. A player on a train, at a LAN party, or on a PC with no network keeps playing. The lease is bound to the machine that activated, so a copied game folder dies on a second PC. It refreshes quietly whenever the game is online. The offline licensing page covers the window and what happens on day eight.

Where the C# SDK stands

The C# SDK is published on NuGet and at feature parity with the rest. Activation, validation, offline verification, the dashboard-owned trial length, the free-tier flag, and the keyless beacon that counts unlicensed installs are all shipped and are what this page describes. Read the changelog before relying on anything newer than that list.

Where to start

Two steps.

  1. Read License a Unity Game Without a Backend: UPM, IL2CPP, Launch Config. It walks from install to gated content inside a MonoBehaviour.
  2. Run keylight init in your project. It looks at the project, points you at the SDK path, and prints the setup steps in order.

Keylight plans start at $19/month on the pricing page. The free tier supports up to 25 licenses, enough to run purchase, activation, offline play, and revocation end to end before launch day.

Frequently asked

Can I license a Unity game with Keylight?+

Yes. Add the Keylight package from its git URL in the Package Manager, activate a key from a MonoBehaviour, and gate content on the result. No server of your own.

Does it work with IL2CPP and WebGL builds?+

Yes. The package is pure managed C# with no native libraries, so IL2CPP ahead-of-time compilation has nothing to strip. Every release goes through a manual IL2CPP and WebGL build check before it ships.

Is the package on OpenUPM?+

Not yet. Install it from the git URL in Unity's Package Manager, or add the line to your manifest. That is the live install path today.

Does the game keep working offline?+

Yes. Activation hands the game a signed lease it checks locally, so a player without internet keeps playing. The lease is bound to the machine, so a copied folder dies on a second PC.

Is the C# SDK production-ready?+

Yes. It is published on NuGet and at parity with the other SDKs — activation, validation, offline verification, the dashboard-owned trial, and the keyless beacon are all shipped. Watch the changelog before relying on anything newer.

Start licensing your app today

Drop in the Swift SDK, point it at your dashboard, and sell paid apps in under a minute. Free forever tier included.

Start Free