// free 3D assets

Get free 3D assets

69 free 3D models you can use in a commercial game, with no account, no API key and no attribution. 28 are rigged, animated low-poly characters; 41 are static nature props, all glTF 2.0 .glb under CC0 1.0. Spin any of them in the browser below before you download, or take the whole list as JSON from /api/free.

Pack contents measured 19 August 2026 from the shipped files · pick a pack › · how the animation works › · there is more than this page ›

// free models

Hand this page's link to your AI agent — it grabs every file here

Minion
loading…
RiggedAnimatedLow-Poly8 variants
↓ Download this model (.glb)

Downloads the model on screen · want all 8? point your AI agent at /api/free

Nature Kit loading…
CC0Low-PolyGLB41 props
↓ Download this pack (.zip)

Sign in to download · 41 nature props (trees, rocks, cliffs & more) in one zip

Animals
loading…
RiggedAnimatedCC010 animals
↓ Download this model (.glb)

Downloads the model on screen · want all 10? point your AI agent at /api/free

Animals Vol.2
loading…
RiggedAnimatedCC010 animals
↓ Download this model (.glb)

Downloads the model on screen · want all 10? point your AI agent at /api/free

Skeleton Warrior Skeleton Warrior
COMING SOON
RiggedAnimatedLow-Poly
Imp Fiend Imp Fiend
COMING SOON
RiggedAnimatedLow-Poly
Orc Bruiser Orc Bruiser
COMING SOON
RiggedAnimatedLow-Poly
Human Knight Human Knight
COMING SOON
RiggedAnimatedLow-Poly
Sprite Sprite
COMING SOON
RiggedAnimatedLow-Poly

Pick a pack

Four packs, 69 models. Everything below is CC0 and downloads without an account.

PackWhat it isModels Rigged?AnimationEach fileDownload
Minion Packlow-poly enemies8yes · 20 bonesidle · attack · dead148–185 KBzip ↓
Animal Packcreatures & critters10yes · 16 bones+ walk56–75 KBzip ↓
Animal Pack Vol.2ten more creatures10yes · 16 bones+ walk101–116 KBzip ↓
Nature Kittrees, rocks, cliffs41static props14–17 KBzip ↓

Every model has one material and one draw call — that is what lets you put a whole wave on screen at once. Per-model triangle counts run 3–508. Measured 19 August 2026 from the shipped files.

Specs & loading — a prompt for your AI, the licence, animation ranges, and code for each engine

Using an AI coding assistant? Paste one of these

Which one depends on a single thing: whether your assistant can open a URL itself. Ask it to fetch gobkit.com/free-models.txt and tell you how many URLs it lists. If it answers 69, use the first prompt. If it says it cannot access the link, use the second.

If it can open a URL itself — Cursor, Codex, Copilot

One line. gobkit.com/start is the whole contract — free packs, the community library and the generator, with the loading rules for each. The address never changes; what it says does.

Read https://gobkit.com/start and follow it. I want free CC0 3D monsters in my three.js game.

If it cannot — AI game platforms, chat windows

AI game platforms and plain chat windows usually cannot open a link — but the game they generate still can. Tell them the shape and let the game do the fetching:

Add CC0 monsters to my game — real files with verifiable licensing, not generated placeholders. At runtime fetch https://gobkit.com/api/urls?n=3 (a JSON array of .glb URLs) and load them into the scene.

/api/urls answers with a bare array of strings and nothing else, which is why the prompt needs no field names. ?n= up to 20, ?kind=props for the static nature set, ?seed= to repeat a pick. Two things here are load-bearing. The bracketed shape saves the assistant guessing — told it, they write one load path; left to guess, three defensive branches. And “at runtime” keeps the fetching inside the generated game: any wording that asks the assistant itself to open, read or follow a link fails outright on a platform that cannot browse, and it falls back to its own generator instead. Nothing here mentions animation, so the whole timeline plays as one loop. If you want the actions separately, use /api/pick — every entry there carries its own frame ranges and licence URL — with the longer prompt in gobkit.com/start. State the licensing need rather than forbidding substitution: a bare "do NOT" reads as an attempt to override the assistant's defaults and invites scrutiny.

The licence, in one line

CC0 1.0 Universal — public domain. Use them commercially, modify them, redistribute them, sell them. No watermark, no attribution required, no share-alike, nobody to ask.

Full legal text: creativecommons.org/publicdomain/zero/1.0/legalcode. Credit is welcome but optional: Characters by Gobkit — https://gobkit.com

The one thing that trips people up

These characters bake every action onto one 24 fps timeline instead of shipping separate named clips. So gltf.animations[0] is the whole performance, and a naive autoplay loops idle → attack → dead → walk in sequence. Cut the action you want out of it:

ActionFrames (24 fps)Loop?In which packs
idle0 – 29yesall characters
attack30 – 59yesall characters
dead60 – 89no — hold last frameall characters
walk90 – 119yesAnimal Pack & Vol.2 only
import * as THREE from 'three';

// one master timeline — subclip the action you want
const idle = THREE.AnimationUtils.subclip(gltf.animations[0], 'idle', 0, 29, 24);
mixer.clipAction(idle).play();

Loading it, engine by engine

Plain binary glTF 2.0 — no Draco, no Meshopt, no decoder plugin to install.

three.js — spawning a wave

import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
import { clone } from 'three/addons/utils/SkeletonUtils.js';

new GLTFLoader().load('https://gobkit.com/freebies/minion/minion-a01.glb', (gltf) => {
  for (let i = 0; i < 30; i++) {
    const unit = clone(gltf.scene);   // SkeletonUtils.clone, NOT .clone()
    unit.position.set(i % 6 * 2, 0, Math.floor(i / 6) * 2);
    scene.add(unit);
  }
});

A plain Object3D.clone() copies the mesh but keeps pointing at the original skeleton, so every copy animates as one. This is the failure people report most.

Godot 4

# drop the .glb into res:// — Godot imports it natively
var anim = $AnimationPlayer
anim.play("clip")
anim.seek(30.0 / 24.0, true)   # jump to the first frame of 'attack'

Unity

Unity has no built-in glTF importer — use glTFast or UnityGLTF. Both read these files directly. Split the imported clip into idle / attack / dead / walk sub-clips at 24 fps using the frame ranges above.

Unreal 5 · Blender · <model-viewer>

Unreal 5 and Blender import .glb natively with no plugin. <model-viewer> is fine for a quick preview but can only autoplay the whole timeline — use a real engine if you need one action at a time.

This page is not all of it

The 69 models above are a fixed, curated set. Two more sources sit behind the same no-account, no-key terms.

// CURATED
This page

69 models, hand-checked and stylistically consistent. Fixed set — what you see is what there is. One baked timeline you slice by frame range.

GET /api/free
// COMMUNITY
Other people's creatures

Also CC0, and also downloadable as .glb — not just previews. Keeps growing: anyone can upload, and a human reviews each one. Different animation rule — those ship separate named clips (idle / move / attack) that you play by name, so do not subclip them by frame range.

Browse the community wall → GET /api/community
// GENERATE
Neither has it?

Describe the creature you need and the Forge makes it. Reading the generator's whole vocabulary costs nothing and needs no key; generating models needs a plan.

What the forges do → GET /api/prompt

Other places worth knowing

Gobkit is not the only source of free 3D game assets, and for a lot of projects it should not be the only one you use.

If itch.io is where you browse, the same four packs are mirrored there under gobkit.itch.io — identical files, identical CC0 terms.

Questions people actually ask

Do I need an account or an API key to download these?

No. No account, no key, no email address. Every .glb and every pack zip here is directly downloadable, and a single GET to https://gobkit.com/api/free returns the whole list as JSON with CORS open, so browser JavaScript can fetch it directly.

Can I use these models in a commercial game?

Yes. Every free pack here is CC0 1.0 Universal, a public domain dedication. You can copy, modify, redistribute and sell them, including inside a commercial game, without permission and without crediting anyone. There is no watermark and no attribution clause.

How do I play just the idle or attack animation?

These characters bake every action onto one master timeline per .glb at 24 fps rather than shipping separate named clips. Subclip by frame range: idle 0–29, attack 30–59, dead 60–89, walk 90–119 (walk is in the two Animal packs only). In three.js: THREE.AnimationUtils.subclip(gltf.animations[0], 'idle', 0, 29, 24).

Why does every copy of my model animate at the same time?

You cloned with Object3D.clone(), which copies the mesh but keeps pointing at the original skeleton. Use SkeletonUtils.clone(gltf.scene) from three/addons/utils/SkeletonUtils.js instead. This is the single most common failure people report with these files.

Do these work in Unity, Godot and Unreal, or only in the browser?

All of them. The files are plain binary glTF 2.0 with no Draco and no Meshopt compression, so no decoder plugin is needed. Godot 4, Unreal 5 and Blender import .glb natively; Unity needs a glTF importer such as glTFast or UnityGLTF.

Is there more free stuff beyond these 69 models?

Yes — the community library is user-uploaded creatures, also CC0 1.0 and also free to download, and it keeps growing because anyone can upload. One important difference: community models ship separate named clips (idle / move / attack) that you play by name, not the single baked timeline these packs use. Do not carry one rule across to the other.

What if none of the free models is the creature I need?

Generate one. GET /api/prompt with no key at all returns the full vocabulary the generator understands, and POSTing a plain-language prompt to it returns a ready-to-send batch plan without charging anything. Actually generating models needs a plan.

Can I hotlink these files instead of bundling them?

It works — CORS is open and there is no rate limit — but for anything you ship, download the pack zip and bundle the files into your project. CC0 explicitly permits it, and your build then has no runtime dependency on gobkit.com.

// new drops

Know when new assets land

New CC0 packs and open-source harness releases. Nothing else — no weekly filler.

Double opt-in — one confirmation email, then nothing until there's something new.