Free assets and tools for commercial games, with every licence read at its source.
Browse 418 sources · Starter stacks · Choose by job · Licences · Contribute
Each entry records the licence as its source states it and the date someone read it there; active entries quote the source's own words. The catalog indexes sources and never rehosts them: check the source before you ship.
Big lists such as magictools and awesome-gamedev tell you something is free. This one tells you what the licence says, where it says it, and when it was last read, so you don't have to re-check forty tabs before a release. (Thanks to magictools: many tool entries started from its list.)
Note
This is the catalog's reading of each licence, not legal advice. Licences change: read the source's own terms before you ship.
|
Pick by the job → Guides that compare sources which look interchangeable and are not. |
Start from a stack → One pick per need for a kind of game, and what the whole set owes. |
Check before you ship → When each licence was last read at its source, oldest first. |
Recent: 2026-11-07, audit pass 5 fixes #246 to #272, then 15 backlog issues. 2026-10-22, open issues sweep: #77 to #114. 2026-10-13, Unreal Engine sources. Every run is in the changelog.
Start here · Starter stacks · Browse the catalog · Reading an entry · Safe starting points · Licences · Godot · Unreal Engine · How the catalog stays honest · Use the data · Scope · Contributing · Support
The publishers most projects start from.
![]() Kenney CC0 · modular 3D |
![]() Quaternius CC0 · rigged kits |
![]() KayKit CC0 · atlas characters |
![]() Poly Haven CC0 · HDRI and PBR |
Publisher promotional stills (CC0 or SIL OFL), shown here as documentation only. The packs themselves stay on the source sites.
Choose by the job, not by the licence. Most sources in a category share a licence, so the licence column rarely tells you which one to pick. These guides compare sources that look interchangeable and are not. Several are measured from the files themselves, not the store pages.
| You are choosing | Guide |
|---|---|
| A pixel tileset, by grid size and projection | 2D: Choosing a pixel tileset |
| An icon set, and which two carry obligations | 2D: Choosing an icon set |
| Kenney, KayKit or Quaternius | 3D: measured comparison of scale, triangles and rigs |
| A PBR texture library you can redistribute | 3D: Choosing a PBR texture source |
| A rigged character, and whether its animations will transfer | Characters: Choosing a rigged character source |
| A pixel font, including CJK | Fonts: Choosing a pixel font |
| Game music, and whether videos of your game will get claimed | Audio: Choosing game music |
| Sound effects, and what "no credit" still leaves you owing | Audio: Choosing sound effects |
| A Godot 4 add-on that still builds against your engine | Tools: Godot 4 add-ons |
| Between two tools that do the same job | Tools: near-duplicates |
Need something working today? Take the safe starting points: the catalog's highest-confidence sources, with the licence shown so you can see which ones owe a credit.
One pick per need for a kind of game, with a summary of what the whole set owes. Each stack is a page on the site.
| Make a… | What you get |
|---|---|
| 2D pixel platformer | A side-scrolling pixel-art platformer you intend to sell |
| 2D top-down pixel game | An adventure or RPG with menus, controller prompts and a terminal-style font |
| 3D low-poly arena in Godot | Rigged, animated characters and impact sounds, built in Godot 4 |
| 3D third-person in Unreal Engine 5 | Motion-matched animation, dialogue, quests and save games, built in UE5 |
| First-person destruction | Debris materials, industrial props and ambience for a game about breaking things |
| Mobile puzzle | A casual match-3 or board-style game for phones |
The website searches all 418 entries
and filters them by category, licence, format, engine, commercial use, attribution, review
status, 2D camera view and how recently the licence was read, sorted as you choose. Press / to search, and keep the sources you
are weighing on a shortlist. Filtered views and individual entries have their own URLs, so you can send
someone exactly what you are looking at.
| Category | Entries | Focus | Index |
|---|---|---|---|
| 3D | 77 | Models, scans, PBR textures and materials | catalog/3d/ |
| Tools | 121 | Editors, pipeline, TTS, Godot add-ons | catalog/tools/ |
| 2D | 60 | Sprites, tilesets, UI and HUD, icons, palettes | catalog/2d/ |
| Audio | 36 | SFX, music, foley, impulse responses | catalog/audio/ |
| Characters | 30 | Rigged packs, generators, modular humanoids | catalog/characters/ |
| Fonts | 25 | OFL and commercial-ok typefaces, CJK | catalog/fonts/ |
| Environment | 20 | HDRI, terrain DEMs, geodata | catalog/environment/ |
| Shaders & VFX | 18 | Shaders, particle and FX resources | catalog/shaders-vfx/ |
| Animation | 18 | Motion capture and character clips | catalog/animation/ |
| Video | 13 | Stock footage, archival clips | catalog/video/ |
Each source is one Markdown file: frontmatter for the facts, notes on what it is good for and
what the catch is, and a dated Evidence section quoting the licence page. active means
the licence was read and quoted; needs-review means a question is still open, and the entry
says which; deprecated is kept for history. The statuses and every field are explained in
docs/entry-format.md.
Nineteen high-signal sources that cover most early production needs are the
starter table on the website,
set in site/config.json (featured).
Read docs/licenses.md before you mix packs into a commercial build: what
each licence allows and owes, with a short version at the top. The other guides cover
fonts, geodata, video licences in games,
Unreal, provenance, sources to avoid,
shipping on stores, AI-generated assets,
FiveM and the review rubric. Catalog metadata in this
repository is CC0; linked assets keep their own licences.
A shortlist for Godot 4 is in docs/godot-budget-stack.md; check an
add-on's row in the maintenance table before adopting it.
Epic samples, Megascans starter content and UE5 plugins carry the engine range each source states
and a UE only badge where Epic restricts the licence. Read docs/unreal.md
first: the Unreal Engine EULA forbids combining the engine with GPL, LGPL or CC-BY-SA material.
A catalog like this is only useful if you can trust it, and trust has to be checked, not
asserted. So node site/validate.mjs runs on every push and fails the build rather than
publishing a broken catalog. Among other things, it checks that:
- a
verifieddate is never newer than the newest date in the entry's own Evidence, so a date cannot be bumped without a fresh quote to back it - every
licensevalue comes from the documented vocabulary, and its SPDX identifier agrees with it - an attribution licence marked "no attribution" states the publisher's waiver
- category indexes, counts and the badge above match the catalog
- no third-party asset files are committed to the repository; the only publisher images are
resized previews, kept to
site/public/thumbs/anddocs/images/readme/, and a thumbnail must pass the preview licence gate
The checks themselves are tested against known-bad fixtures in
site/checks.test.mjs. Every review pass, and every correction it
made, is recorded in docs/review-ledger.md.
The whole catalog is published as open data (CC0) on every deploy:
data.json,
catalog.csv with the credit
line for each entry, an Atom feed of new sources,
a feed of re-verified licences and
llms.txt. Pin a version from
Releases. docs/data.md
has the field reference, jq and pandas examples, how to cite it (CITATION.cff), a CLI
(npx github:TMHSDigital/Free-Game-Dev-Assets search "pixel font" --license cc0) and an MCP server for assistants.
| In scope | Out of scope |
|---|---|
| Free asset libraries, packs and aggregators with a clear free tier | Rehosting or mirroring third-party archives, models or audio |
| Tools for creating or processing game assets | Paid-only marketplaces with no meaningful free content |
| Sources usable in commercial games when their terms allow | Guessing licences |
When a source does not say plainly, the entry says unknown and needs-review instead.
New sources, licence corrections, dead links and clearer notes are all welcome.
- Start an entry with
npm run new-entry -- <category> <id>. It copies the template, sets the id and date, and starts the entry asneeds-review. - Read the licence at the source and quote it, with the date, in the entry's Evidence section.
- Add a row for it to the category's
README.md, then runnpm run countsto update every count. - Run
npm test && npm run validate(quick), then open a pull request. CI also runs the full build.
CONTRIBUTING.md has the full checklist and how to verify a licence. If you
publish a source listed here, docs/for-publishers.md says what is
recorded about it and how to correct it or remove its preview.
Please follow the Code of Conduct. Local commands and the repository
layout are in CONTRIBUTING.md.
If the catalog saves you time, you can sponsor TMHSDigital on GitHub. Entirely optional.
Catalog metadata and documentation in this repository are dedicated to the public domain under CC0 1.0 Universal. Third-party assets linked from the catalog remain under their original licences. Verify terms on the source site before use. Contributions are dedicated the same way; see Licence of contributions.




