Skip to content
All articles

Business 7 min read 1,513 words

Building a game-ready asset library without a studio budget

Building a usable prop library without a studio budget: what to generate, what to buy, and how to keep the file sizes sane.

A two-person team building a stylized top-down shooter sat down and counted what their vertical slice actually needed: 42 crates and barrels, 60 pieces of set dressing, 28 weapons and attachments, 35 modular wall and floor sections, and roughly 130 small items — signage, pipes, cable runs, debris, vending machines, chairs. Three hundred and change before one level stopped looking like a grey box. At the 32 € to 55 € a decent shop charges for a genuinely game-ready model, that library runs 9 200 € to 16 560 € Their entire art budget for the year was 3 700 €.

That gap is the normal condition for a small team, and the two obvious responses are both bad. Buying one enormous mega-pack gets you 500 assets that all carry somebody else’s art direction, and you will spend more time fighting the mismatch than you saved. Modelling everything yourself gets you perfect consistency and no game — 300 assets at three hours each is 900 hours, which is five months of full-time work for one person who was also supposed to be writing gameplay code.

The way through is to stop treating the library as a shopping list and start treating it as a system with tiers, budgets and enforced rules. The teams that pull this off spend most of their money on about 8% of their assets.

Coverage beats count

A space reads as finished when the eye finds variation at three distances: silhouette from across the room, form at mid-range, surface detail up close. None of those require unique meshes. One crate model with three material variants, two non-uniform scales and a damaged version reads as six props in a scene, and a player walking past at 4 m/s will never catch it.

Budget for base meshes, then multiply. Forty well-made base meshes with disciplined variation will dress a level that nominally needs 200 props. The variation costs almost nothing:

  • Material swaps on a shared UV layout — one mesh, four texture sets, four apparent props.
  • Non-uniform scale within about 15% on each axis. Beyond that, texel density goes visibly wrong and the trick shows.
  • Rotation snapping at 15 degrees instead of 90. Repeated props stop lining up into an obvious grid.
  • Prefab clusters: three crates, a tarp and a pallet saved as one placeable unit. Ten clusters from twelve meshes fills more space than fifty loose props.
  • Vertex colour tinting or a per-instance colour parameter in the shader, driven by a random seed at placement.
  • Decals for grime, posters, spills and damage. A decal library of 20 does more for perceived variety than 20 extra models.

Three tiers, three budgets

Decide which tier every asset belongs to before you source it, and never let a filler asset get hero treatment because it was fun to work on.

Tier Where it appears Triangles Textures Sensible spend per asset Share of library
Hero Held in hand, cutscene, close-up, marketing shots 15k–40k 2048 full PBR set, unique UVs 140–370 € or 8–16 hours 5–8%
Mid Interactable, walked past at 2–5 m 3k–12k 1024, shared or ORM-packed 18 €–60 or 1.5–3 hours 25–30%
Filler Background dressing, never approached 300–3k 512 or a shared atlas Under 4,60 € or 15 minutes 60–70%

Most budget disasters come from treating tier three like tier one. A background pipe run does not need a unique 2048 texture set, and the moment you give it one you have also given yourself the memory cost, the load time and the hour of work.

What each sourcing route is actually good at

Route Cost per usable asset Turnaround Cost of a revision Best used for
Bespoke outsourcing 110–370 € 3–10 days Re-quote, 1–3 days Hero props, main character, anything with functional moving parts
Shop pack 3,68 €–15 amortised Instant None — take it or leave it Modular kits, vehicles, furniture, anything you would hate to model
Text-to-3D generation 0,30–1,85 € including rejects 2–6 minutes Same as the original Filler, blockout stand-ins, silhouette exploration, variations
Image-to-3D from your own concept 0,46 €–3 3–8 minutes Same as the original Assets that must match existing concept art
Kitbash from what you already own 0,00 € 20–60 minutes Free Variants, damaged versions, set pieces

The number that matters in that table is the revision cost, not the unit cost. Outsourcing is expensive mostly because iteration is expensive: you describe the wrong thing, wait four days, and get a competent model of the wrong thing. Generation flips that. When a regeneration costs less than a coffee and takes four minutes, you can afford to be wrong six times, and being wrong six times quickly is how art direction actually converges.

The corollary is that generation is worst exactly where iteration is not the bottleneck. If you know precisely what you need — a specific real-world chair, a gun where the magazine has to detach and slot back at a fixed offset, a modular wall that must tile at exactly 4 metres — go buy it or model it. Do not spend an hour prompting your way toward a dimension you could have typed into a box.

Consistency is the whole game

Mixed-source libraries look mixed for reasons that are mostly measurable, not mystical. Assets clash because their edge treatment differs, their texel density differs, their material response differs, or their proportions were authored against different assumptions about camera distance. Fix those and a crate from a 8,28 € pack, a crate you modelled and a crate you generated will sit next to each other without anyone noticing.

Lock these seven things before asset number one

  1. Unit scale. One Blender unit equals one metre, Y-up or Z-up decided and written down, and a human reference figure in every scene file.
  2. Texel density. Pick a number — 512 px/m for stylized work, 1024 px/m for realism — and check every incoming asset against it. This single rule fixes more visual mismatch than anything else on this list.
  3. Triangle bands. The three tiers above, as hard ceilings. An asset over budget gets decimated on import, not argued about.
  4. Edge treatment. A fixed bevel width, in millimetres, applied consistently. Stylized libraries usually want 8–15 mm, which is exaggerated but reads at distance. Nothing gives away a mixed library faster than some assets having razor edges and others having soft ones.
  5. Palette. Twelve to twenty base colours, sampled and saved. Every incoming albedo gets pulled toward it with a hue/saturation adjustment layer.
  6. Naming. sm_prop_crate_wood_a, t_crate_wood_a_orm. Boring, searchable, sortable. Decide before you have 200 files, because renaming after that means fixing references.
  7. Pivot rules. Floor props: origin at the base centre. Wall props: origin at the mounting face. Modular kit: origin at the grid corner. Getting this wrong makes level building miserable in a way that compounds.

Write these into a one-page document and actually check assets against it. Ten minutes of normalisation per incoming asset is what turns a pile into a library. Whether the source is a pack you bought, a mesh a generator produced in a studio like MeshyFlix, or something you sculpted yourself, the intake step is identical.

The licensing part nobody reads

Check three things on every shop asset before it enters the repo, and record the answers in a spreadsheet next to the file name.

First, does the licence allow use in a commercial product that is itself sold? Most do. Some “personal use” and educational licences do not, and the terms are often two clicks deep. Second, does it allow redistribution of the model file in any form? This matters if you ship modding tools, or if your game exports levels. Third, is there a provenance claim — did the seller actually make it, or is it a rip? Suspiciously cheap, suspiciously good, suspiciously branded assets are usually stolen, and shipping one is a takedown waiting to happen.

For generated assets, read the terms of the service you used. Reputable ones grant you commercial rights to your outputs. Keep the prompt or source image alongside the file anyway — it is your record of how the asset came to exist, and it lets you regenerate a matching variant two years from now.

Do and don’t

  • Do build the whole level with grey blockouts first, then replace by camera importance. You will discover a third of your list is never seen.
  • Do keep source files. The .blend, the layered texture, the prompt, the reference photos. A library you cannot re-derive is a liability.
  • Do set a per-asset time limit and honour it. Two hours on a background barrel is a decision to not make three other things.
  • Don’t buy a pack because it is on sale. Unused assets have a real cost: search noise, repo size, and the temptation to use the wrong thing.
  • Don’t let generated meshes into the engine unprocessed. Scale, orientation, origin, and a decimation pass, minimum.
  • Don’t chase photoreal materials in a stylized game. A consistent stylized library at 512 px/m beats an inconsistent realistic one at every budget.
  • Don’t version-control 200 MB of 4K PNGs. Store source textures separately, ship compressed derivatives.

Start here this week

Take your asset list and sort every line into hero, mid or filler. Be brutal — if fewer than 10% land in hero, you sorted it correctly. Then write the seven-item consistency document, pick one filler asset, and run it end to end: source it, normalise it, get it into the engine, and time yourself. That number, multiplied by your filler count, is your real schedule. Fix the intake step until the number is under twenty minutes, and only then start producing at volume.