antics.gg
21 fun games · 234,984 plays with friends234K plays with friends

Build 3D models in code

A model your agent can write from a text prompt or a single photo, read back and change — because it is a recipe rather than a mesh. Free, MIT-licensed, and the thing every model in our catalogue is made with.

INSTALL

Two commands

Runs in Node. No modelling app, no DOM, nothing to log into. What comes out is a plain .glb, so it drops into Godot, Unity, Unreal or a web page the same as any other asset, and nothing from the kit ships with your game.

npm i antics-modelkit three
npx modelkit build models.mjs
WHAT YOUR AGENT WRITES

A file that returns parts

One function per model, using the kit's own verbs. You don't implement these, they come with the package. Every part gets a name, so a page can open the lid, spin the wheel or light the sign without touching geometry.

import { box, sit } from "antics-modelkit";

export function crate(w = 0.6) {
  return { category: "prop", parts: [
    { name: "body", geometry: sit(box(w, w, w)), color: 0x8a6b45 },
  ] };
}
WHAT IT CATCHES

The checks are the point

A surface built inside out does not look wrong — it vanishes, and gets debugged as a lighting bug. The build refuses that, and refuses anything a glTF reader would reject, so what builds opens anywhere. Stray triangles it strips; holes you can see into it warns you about. It will also render the thing at play size and tell you when it is unreadable.

See what it makes →
SEE ONE

A pocket watch, from a photograph

Modelled from a single reference photo. The lid opens onto a movement that turns, and the recipe that generates it ships on the page — change the case size and build your own.

antics.gg/m/pocket-watch-b78b6f →
FOR YOUR AGENT

It already knows how

Point a coding agent at the docs and it can build, check and publish a model on its own. Our MCP server also lets it search the catalogue by part name — ask for something with a shutter and it finds the shophouse.

Read https://antics.gg/modelkit/llms.txt, then build me a 3D model with antics-modelkit and export it as a .glb
NO TERMINAL?

Type a prompt instead

Everything here assumes a coding agent at your side. The text-to-3D page walks that path with a starter prompt — and a hosted generator, where you type on this site and we run the agent, is on its way.

MIT LICENCED

The source ships with it

The package carries its own source, unminified and commented — read it on npm without installing anything. MIT, so you can change it, build on it and use it commercially. The recipes on every model page are MIT too.

Read the source on npm ↗ npmjs.com/package/antics-modelkit ↗

Fresh out of the kit

Questions people actually asked

Does it work with Godot / Unity / Unreal?

Yes — the kit is a Node build step, not an engine plugin. What comes out is a plain .glb, which Godot, Unity, Unreal and the browser all load natively, and nothing from the kit ships with your game.

Do I write the modelling code by hand?

No. Point a coding agent at antics.gg/modelkit/llms.txt and it writes the recipe itself — you describe the model, look at the previews, and ask for changes in plain words.

Can it model from a photo?

Yes — give your agent a reference photo and it models what it sees. A single good reference markedly improves the detail; the pocket watch above was built from one photograph.

Is it free?

Free and MIT-licensed, and the source ships unminified in the npm package. The recipes on every model page are MIT too; the models themselves carry CC licences.

What does the build actually check?

Inside-out surfaces, floating parts, holes you can see into, readability at play size, and glTF validity — so what builds opens anywhere, instead of vanishing and getting debugged as a lighting bug.

Models are half of it. antics hosts the game.

Build the assets in code, vibe code the game, and antics wires in rooms, live sync and a leaderboard, then hosts it at a link your friends can open. Free to start.