Quick Shop Pro
An item leaves the bag only once the payment has gone through ... THE SHOP PANEL Buy list, sell list, item details, a quantity stepper and a trade button, built into your ... REQUIREMENTS
by Krykftn | Advanced Editor Tools & Systems
Price History +
Features:
• ShopAudit.Run(catalog) returns every finding with its severity, code, message and the asset responsible, plus a per-currency price table and the most profitable round trip
• Economy window: Tools > Quick Shop Pro > Economy, or double-click a Shop Catalog asset
• ShopModel: CanBuy / Buy / CanSell / Sell / MaxBuyable / Tick / Save / Load, with nine refusal reasons and a UI string for each
• ShopKeeper component: binds a shop to any IShopInventory and IWallet, ticks restocks, SaveToJson / LoadFromJson
• Data assets: ShopItem, ShopDefinition, Currency, ShopCatalog, ShopTheme
• uGUI shop panel with five theme presets, built by one click from the Economy window
• Demo: Tools > Quick Shop Pro > Build Demo Scene (the scene also ships ready to open)
• Only dependency: uGUI (com.unity.ugui); a setup window installs it when missing
Supported OS: all platforms Unity supports
Documentation: README.md and CHANGELOG.md inside the package
Every game with more than one shop has the same hidden bug waiting in it. The blacksmith sells a sword for 48 and buys it back for 20, which is fine. The travelling merchant charges 60% over the base price and pays 25% over it for weapons, which is also fine. Put the two together and the player buys the sword at 48, walks next door, sells it for 50, and repeats until the economy is gone.
No single shop is wrong, so nobody sees it while looking at one shop at a time. That is exactly how it ships.
Quick Shop Pro is a complete shop system, and it reads all of your shops at once.
THE ECONOMY AUDIT
• Money loops across shops. Buy here, sell there, for a profit. An unlimited shelf makes it an error, because the player can repeat it forever. A limited shelf makes it a warning that says how much the run is worth per restock
• Shops that pay at least as much as they charge
• A price override set below the shop's own buy-back price, which is a loop at a single counter
• Free items, stock lines that can never appear, items no shop sells or buys, and sellable items that no shop accepts
• Duplicate ids, which would make one save load as another
• Currencies no shop trades in
• Prices are compared per currency. Buying in gold and selling in gems is not reported as a loop
THE ECONOMY WINDOW
• Tools > Quick Shop Pro > Economy, or double-click a Shop Catalog
• Summary tiles, and the most profitable loop in a banner at the top
• Every finding with a Select button that pings the asset responsible
• A price table: for each item, the cheapest place to buy it, the best place to sell it, and the round trip
• It re-runs while you edit. Lower one multiplier and watch the loops disappear
• Copy Report puts the whole audit on the clipboard as plain text
THE SHOP
• Items with a base price, category, stack size and icon. Shops with a buy and a sell multiplier, per-line price overrides, and the categories they accept
• Unlimited stock, fixed stock, or stock that refills by a set amount every so many seconds
• A refused trade changes nothing, and every refusal has a reason ready for your UI: out of stock, you cannot afford that, no room in your bag, this shop does not deal in that, and five more
• If your inventory accepts fewer items than were paid for, the difference is refunded. An item leaves the bag only once the payment has gone through
• Save and load the shelf, the restock timers, the wallet and the trade counters as JSON. Items are matched by id, so renaming an asset does not break old saves
• Bought, Sold, TradeRefused and StockChanged events for your sounds, quests and analytics
FITS THE GAME YOU ALREADY HAVE
The shop does not own your inventory or your money. Implement IShopInventory and IWallet on your own components (four methods and three) and assign them to the Shop Keeper. SimpleShopInventory and SimpleWallet are included for prototypes and as a reference.
THE SHOP PANEL
• Buy list, sell list, item details, a quantity stepper and a trade button, built into your scene with one click
• Plain uGUI you can restyle, with five palettes: Market, Midnight, Emerald, Royal and Parchment
• Rounded sprites are generated for you, so there are no textures to import
• The demo scene has a Blacksmith, an Alchemist and a Travelling Merchant, eight items with icons, and a deliberate money loop for the audit to find
CLEAN AND SAFE
• Namespaced code (Krykftn.QuickShopPro), full source
• Only uGUI, which ships with Unity. If a project does not have it, the package switches itself off instead of throwing compile errors, and a setup window installs it in one click
• The folder can be moved anywhere under Assets
• Tested on Unity 2022.3 and Unity 6 with zero warnings
REQUIREMENTS
• Unity 2022.3 LTS or newer
• uGUI (in every standard Unity template)
HONEST LIMITS
The audit compares prices one unit at a time. It does not know what a player can carry or how far apart two shops are, so a tiny loop on a heavy item may not matter in your game; it tells you it exists and lets you decide. It checks shops against each other; money from quests, loot or crafting is outside it. Restock timers run while the scene runs and resume after a load, and time spent outside the game is not counted. The panel uses uGUI's built-in Text, so there is no TextMeshPro setup; swap in TextMeshPro yourself if you prefer it.