Model Check: Game-Ready GLB/glTF 3D Model Validator
Pricing
from $30.00 / 1,000 model checkeds
Model Check: Game-Ready GLB/glTF 3D Model Validator
Feed it a GLB model URL, get a game-readiness report: real-world scale sanity, pivot placement, triangle and texture budgets, materials, rig and animation summary. Built for sorting AI-generated models (Meshy, Tripo, etc.) into keepers and junk.
Pricing
from $30.00 / 1,000 model checkeds
Rating
0.0
(0)
Developer
Justin Schroeder
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Model Check: is this 3D model actually usable in a game?
Feed it a .glb file (or a zip of up to 100), get back a
game-readiness report plus rendered turnaround images, in about a
minute, without opening a 3D tool.
AI generators like Meshy, Tripo, and Hunyuan3D made creating 3D models nearly free. Sorting the output didn't get cheaper: the files are valid, but half of them are secretly unusable: a "wooden barrel" that imports 38 meters tall, a prop whose pivot floats 3 meters above the mesh, a phone-melting 2 million triangles on a background object. Spec validators can't catch any of that, because none of it violates the glTF spec. The only way to know was to import each model into an engine and eyeball it.
Model Check does the eyeballing for you.
What you get per model
A verdict, one of game_ready, needs_fixes, or not_usable,
backed by named checks:
| Check | Question it answers |
|---|---|
spec_valid | Will engines even import it? (embedded Khronos glTF validator) |
scale_sanity | Is it a plausible real-world size for what it's supposed to be? |
pivot | Is the origin at the base/center, or floating in space? |
tri_budget | Triangle count vs. your target platform's budget |
texture_budget | Texture sizes, count, and estimated VRAM cost |
rig | For characters: is there a skeleton, how many joints, which clips? |
Full stats: dimensions in meters, triangle/vertex/mesh counts, materials, texture inventory, animation clip list.
Renders: a 4-angle turnaround contact sheet and a hero shot, so you can see every model in a batch without importing anything.
Judged against a target you pick: mobile prop, PC prop, character, hero asset, or report-only (stats without verdicts).
Example: batch summary
{"total": 24,"game_ready": 14,"needs_fixes": 6,"not_usable": 4,"models": [{ "name": "barrel_03.glb", "verdict": "not_usable","failed": ["scale_sanity", "tri_budget"] },...]}
And per model:
{"verdict": "needs_fixes","checks": [{ "id": "pivot", "level": "warn","detail": "Pivot floating: mesh floats 2.70 m above the origin. Placing this in a scene needs manual offset." }],"stats": {"triangles": 6204,"dimensionsMeters": { "x": 0.92, "y": 1.14, "z": 0.88 },"textures": [{ "name": "albedo", "size": "1024x1024" }]},"renders": { "turnaround": "https://...png", "hero": "https://...png" }}
Who this is for
- Anyone generating models with AI: check a whole export folder
in one run, keep the
game_readylist, regenerate the rest. - Developers buying marketplace assets: verify scale, budgets, and pivots before dropping files into your project.
- Pipelines and agents: call it as an API step or an MCP tool and gate imports on the verdict (see below).
Engine-agnostic on purpose: glTF is the interchange format used by Unity, Unreal, Godot, Blender, and the web. A "38 meters tall, 2M triangles" verdict is true everywhere.
Use it from code
const run = await client.actor("ocean3d/modelcheck").call({modelUrl: "https://example.com/my_models.zip",targetPreset: "pc_prop"});const { items } = await client.dataset(run.defaultDatasetId).listItems();const keepers = items.filter(m => m.verdict === "game_ready");
Use it from an AI agent (MCP)
Model Check is callable as an MCP tool through Apify's MCP server. Point your assistant (Claude, Cursor, or any MCP client) at it and ask things like "generate 20 barrel variations and keep only the game-ready ones". The agent calls Model Check on each candidate and filters by verdict.
Presets
| Preset | Max tris | Max texture | Expected height |
|---|---|---|---|
mobile_prop | 5,000 | 1024px | 0.05–8 m |
pc_prop | 20,000 | 2048px | 0.05–15 m |
character | 60,000 | 4096px | 1.2–2.6 m |
hero_asset | 150,000 | 4096px | 0.05–30 m |
report_only | n/a | n/a | n/a |
Budgets are deliberately opinionated defaults, tuned from shipping
game props, not spec maximums. report_only gives you raw stats if
you'd rather judge yourself.
Limits
.glb(binary glTF) only. Every AI generator and every DCC tool exports it; single-file.gltfwith external buffers is not accepted.- Batch zips: up to 100 models per run.
- Renders show static meshes (no animation playback yet).
Built by a game developer who got tired of importing mystery models one at a time to find out which ones were 40 meters tall.