All posts
CreatorsSelling

Game Asset Discounts: How to Run a Sale Without Training Buyers to Wait

August 19, 2026 DevLoot

I killed my own full-price sales and it took me about eight months to notice.

I launched a modular sci-fi corridor kit at 50% off for launch week, because that is what everybody does. It moved units. Felt great. Two months later I ran the same 50% for a summer sale. Then a spooky October thing that had nothing to do with corridors. Then a winter one, because the marketplace had a seasonal event and I did not want to be the only listing without a red badge on it.

By spring, my off-sale weeks were basically dead. Not slow. Dead. The people wishlisting my pack were not undecided buyers, they were patient ones. They had learned the schedule better than I had. I trained them, one red badge at a time, that full price was a suggestion for people who were not paying attention.

That is the trap, and it is the single best practice I want to hammer on here: a discount is a deadline, not a price. The second it stops being a deadline, it becomes your price, and you are now running a store that quietly repriced itself without your permission.

Why sellers over-discount (it is not greed, it is fear)

Nobody sets out to run a permanent sale. It creeps in. The usual causes, in the order I have watched them hit people:

  • Slow week panic. Sales dip, you reach for the one lever that always does something.
  • Seasonal event FOMO. The marketplace emails you about a sitewide event and opting out feels like invisibility.
  • Competitor watching. Somebody drops a similar pack at $19, so you cut yours to $17, and now you both live there.
  • Impostor pricing. Deep down you are not sure the pack is worth $40, so a discount lets you avoid finding out.

All four end in the same place. Your listing gets a permanent strikethrough and the actual number people pay drifts down until your income per hour of work is embarrassing. If your pricing floor is shaky to begin with, fix that before you touch discounts at all. We wrote a whole thing on pricing game assets without racing to the bottom and it pairs with this post directly.

The visual version of a store that never leaves sale mode looks like this, and buyers read it exactly the way you would read it walking past.

Street sign outside a discount shop advertising a clearance and bankruptcy liquidation sale, with everything-must-go banners and price cards in the window

Clearance signage outside a Dutch discount shop. Photo by Donald Trung, Wikimedia Commons, CC BY-SA 4.0.

The rules I use now

1. Pick a real price first, then a discount ceiling

Your real price is the number on the listing 90% of the year. Write it down somewhere outside the dashboard so you stop negotiating with yourself. Then set a ceiling for how deep you will ever go. Mine is 30%. Thirty is enough to make someone who was already interested move today, and it is shallow enough that the full price still reads as the true one. I reserve anything past 40% for two situations only: retiring a pack, or clearing an old version after a big rework.

2. Cap yourself at three or four sale windows a year

Four is my limit and three feels better. Roughly one a quarter is infrequent enough that buyers cannot pattern-match it into a waiting game. If your marketplace runs six seasonal events, you are allowed to sit some out. I skipped two last year and my full-price units in those same weeks went up, because the people who wanted the pack had no reason left to stall.

3. Every sale needs a reason attached to it

"20% off because it is Tuesday" teaches buyers nothing. "20% off this week because v2.0 just shipped with 40 new props and a URP upgrade" teaches them the pack is alive and updates are worth showing up for. The reason does the marketing. Version launches, a sibling pack in the same series, a milestone, or a real retirement notice all work. Random Tuesdays do not.

4. Announce the end, not the start

This one changed my conversion more than the discount depth ever did. Most sellers post "SALE IS LIVE" on day one and then go quiet. Day one gets you the people already watching. The units come from the last 48 hours. Post the reminder with the actual end date and time, say it plainly, and let the deadline do the work. If your store page supports a countdown, use it. Urgency you can verify beats urgency you assert.

A permanent discount is not a discount. It is a price cut you are too nervous to admit you made.

5. Give loyalty discounts privately, not publicly

If you want to reward the people who already bought from you, do it with a code sent to buyers of your other packs, not a sitewide price cut. Private codes pull repeat sales out of your existing list without touching your public price, and they make your regulars feel like regulars. Public discounts reprice you for strangers. Private ones reward the people who actually funded your last month.

6. Measure the 30 days after, not the sale week

Everyone looks at units during the sale. Of course they are up, you made it cheaper. The number that matters is full-price units in the 30 days after it ends versus the 30 days before it started. Flat or down means you did not create demand, you pulled forward buyers who would have paid full price and handed them 30% back. Run that check twice and you will discount a lot less.

What to do instead when a week is slow

Discounting is the fastest lever, which is why it becomes a reflex. It is also the only one that costs you money every time. Cheaper moves that compound: ship an update with a real changelog, redo the two worst thumbnails in your gallery, cut a 20 second turntable, add a demo scene, answer the questions buyers keep emailing you right there in the description. None of those spike as satisfyingly as a discount. All of them still pay you in six months, which a 40% off week does not.

The other half of the math: what you keep per sale

Here is the part sellers skip. How deep you can afford to discount is set by your margin, and your margin is set by the marketplace cut. On a $40 pack, a 12% fee leaves you $35.20. An 8% fee leaves you $36.80. That gap is roughly the same money as a 4% discount you never had to run, on every single unit, forever. Fees are quiet and permanent. Discounts are loud and temporary. Sellers obsess over the loud one.

That is the reason DevLoot is built the way it is. Pro vendors pay 8%, so you keep up to 92% of every sale, and the Free tier is 12%. If you want the full side by side across the major stores, we put the real numbers in asset marketplace fees compared, headline percentages and the fine print underneath them.

Payouts are the other thing that changes how you price. DevLoot runs on Stripe Direct Charges, so money from a sale lands in your own Stripe account directly instead of sitting in a marketplace balance waiting for a monthly cycle and a threshold. When cash arrives fast, you stop reaching for panic discounts to cover a slow month, which is how most of the death spirals I described actually start.

You also get a custom storefront with your own branding instead of a generic seller page, plus a verified badge once onboarding is done, which does real work on a page full of strangers. Setting up takes about as long as writing one good listing description. Start at vendor onboarding, or read get started first if you want the overview before you commit.

Then set your real price, put three sale windows on a calendar, and leave the discount button alone until one of them comes around.