System · In Orbit and Wordly
Shop and Currency
One shop, every game.
Every game here sells something different in its own voice: Sol skins and Glow, a hint jar. Underneath it is the same shop. You list products in one catalog, the wallet keeps every grant and spend in an audit log, StoreKit 2 handles purchases and restore, and the screens draw from your theme, so the shop looks like your game and not like a template.
Real captures from the iOS Simulator: one GameShop, worn in 2 different Skins.
You download GameShop once, with plain screens. Skins are their own downloads.
What you get
- Shop screen, product sheet, purchase and restore states
- Coins, gems or anything else, with a wallet and an audit log
- Starter packs, one-time offers with end dates and bundles
- StoreKit 2 purchases, restore and a server-check hook
- Every surface reads your game's theme
Screens
- Shop grid
- Product sheet
- Purchase in progress
- Purchase complete
- Restore purchases
- Offer banner with countdown
- Not enough coins
Underneath
- A catalog of products in one file
- Wallets for any number of currencies
- Packs that grant items and currency together
- Offers that end on a trusted clock
- Restore and entitlement checks
- A fairness flag for pay-to-win items
import GameShop
let catalog = Catalog {
ShopItem.coins("coins.small", amount: 500)
ShopItem.pack("starter", once: true, grants: [.coins(1_000), .item("boost", 3)])
ShopItem.unlock("plus")
ShopItem.item("boost", cost: .coins(200), affectsPlay: true)
}
let shop = Shop(catalog: catalog)
ShopScreen(shop) // drawn from your theme
try await shop.buy("starter")
try await shop.restore()- Screens7 screens and sheets
- Swift857 lines in 6 files
- Tests13 tests
- RequiresiOS 17.0, Swift 6
The hard parts, already inside
- StoreKit 2 with restore
- Wallet with an audit log
- Atomic saves
- Offer times on a trusted clock
The screens are written once and read your game's theme: colours, type, panels, buttons and sounds. Set a Skin, or your own theme, and the whole system changes with it.
Changelog
0.1.0 · 2026-10-30
- A catalog of currency packs, starter packs, unlocks and items priced in coins, in one builder.
- A wallet for any number of currencies, items and unlocks, with an audit log and atomic saves.
- StoreKit 2 purchases that grant once per verified transaction, restore, and a server-check hook.
- Offers with end dates on a clock that cannot be wound back, and a flag for items that help in play.
- Shop screen, product sheet, purchase states, restore, offer banner and "not enough" sheet, drawn from the game's skin.
More systems
Results and Rewards
The moment after every run.
Score count-ups, stars, new bests, reward grants and the welcome back payout, timed beat by beat.
In Lumen, Orbit and Wordly
Progression
Maps, charts and logbooks from one model.
Levels, stars, unlocks and stats, with a level map and a record screen that take your game's look.
In Lumen, Orbit and Wordly