Monetization your game learns, without hiring a liveops team.

One SDK file for Unity, Godot, or Unreal. Forge watches how people play, learns which offer works for which kind of player, and knows when an ad would cost you more in retention than it pays. Big studios have teams for this. Now you don't need one.

// session start — one call, decisions come back pre-fetched
StartCoroutine(ForgeSDK.FetchDecisions(d => store.Show(d.offer)));

// before an interstitial — the engine says yes or no
StartCoroutine(ForgeSDK.ShouldShowAd("interstitial", ok => { if (ok) ads.Show(); }));

// network down? your default store shows, no ad plays. nothing breaks.

How it works

Your game sends events. Forge buckets players into segments by spend and engagement, then runs a bandit per segment over your offer catalog — offers that convert get shown more, ones that don't fade out. Ad frequency learns the same way, except its reward is the player coming back tomorrow, not the impression.

Offers that fit the player

A new free player sees your starter pack, not the $25 chest. Forge picks which of your offers to surface and when. It never invents a per-player price — your catalog, your prices.

Ads that don't burn players

No interstitials in the first 90 seconds, none right after a failed level, fewer for people who spend. Guardrails outrank the optimizer, always.

Run it from your AI

Ships with an MCP server: check reports, edit the catalog, and approve store copy from Claude or any MCP client. Anything an LLM writes waits in a queue until you approve it.

Unity · C# Godot 4 · GDScript Unreal 5 · C++ REST API · bring your own engine

Why you can trust the numbers

10% of your players are permanently held out and always get your default store. Every lift number is measured against them, comes with a confidence interval, and stays hidden until there's enough data for it to mean anything. There's also a shadow mode: Forge logs what it would have done while your players keep seeing your store unchanged — so you can check its judgment before you hand over the keys.

Status

Open development, early and honest about it: purchase validation and SDK hardening are still in progress, and the wire protocol may change. If you run a live indie game and want to kick the tires as a design partner, open an issue on GitHub.