When I started working on software licensing, the part that bothered me was not only validating a key. A paid Unity game or asset needs the whole path: a product, a license policy, SDK integration, payment, and finally a way to deliver the right key to the customer.
Most licensing services stop after validation. You still need to connect a separate storefront, handle payment webhooks, generate the license, and send it to the buyer. That can become a second product to maintain before the actual game or tool has made its first sale.
I wrote a practical Unity guide showing the complete flow with PermitCore:
- Create a product and choose device, version, and offline rules.
- Install the Unity SDK through Package Manager.
- Validate the license against the expected product ID.
- Test revoked, expired, wrong-product, and activation-limit responses.
- Publish the same product in a branded Store, connect your Stripe account, and let checkout issue and deliver the license automatically.
The integration itself stays small:
using PermitCore;
using UnityEngine;
var client = new PermitCoreClient("https://api.permitcore.dev");
var result = await client.ValidateAsync(
licenseKey,
Application.version,
productId);
if (!result.IsValid)
ShowLicenseScreen(result.Message);
The important detail is productId. A structurally valid key should not unlock the wrong game, asset, edition, or DLC. I also recommend testing a revoked key in the actual release build rather than stopping after the happy path works in the editor.
PermitCore's Store uses your own Stripe account and takes 0% PermitCore sales commission. The goal is to keep licensing and selling in one workflow: create → implement → sell.
Full walkthrough
How to sell licenses for a Unity game or asset
I am building this as a small developer-first startup, so feedback from Unity developers is very welcome. If something in the guide is unclear, you can reach me through Contact Us on the site. 🙂🚀
Top comments (0)