A Claude Code skill that turns a text prompt or a photo into a game-ready, textured 3D asset by orchestrating local AI services in sequence — then (optionally) imports it straight into an Unreal Engine project.
prompt ──▶ Fooocus (SDXL) ──▶ image.png
image ──▶ Hunyuan3D-2 ──▶ textured .glb
.glb ──▶ Blender ──▶ .fbx
.fbx ──▶ Unreal (MCP) ──▶ StaticMesh / BP racer
It was built and validated end-to-end on a single Windows workstation (RTX 4070 Laptop, 8 GB VRAM / 32 GB RAM), generating engines for an Unreal train‑racer game.
A real run of the pipeline — the prompt below became an SDXL image (Fooocus), then a textured .glb
(Hunyuan3D‑2), shown here as a turntable of the generated mesh:

Prompt: "a vintage green steam locomotive, single centered object, plain white background, studio product render, full side view" — every frame after the title card is an actual output of this skill (image from Fooocus, 3D turntable rendered from the Hunyuan3D‑2
.glb).
| Stage | Tool | Output |
|---|---|---|
| 1. Text → image (optional) | Fooocus SDXL, driven headlessly via the Fooocus-API REST wrapper | .png |
| 2. Image → 3D | Hunyuan3D‑2 (image‑to‑textured‑mesh) | textured .glb |
| 3. Convert | Blender headless (glTF → FBX, embedded textures) | .fbx |
| 4. Import (optional) | Unreal Engine via the unreal-mcp server | StaticMesh + Blueprint |
If you already have a photo, skip Stage 1 and start at Stage 2.
SKILL.md # the skill instructions Claude Code loads
scripts/fooocus_gen.py # text → image via the Fooocus-API REST endpoint
scripts/hunyuan_gen.py # image → textured GLB via the Hunyuan3D-2 gradio API
scripts/glb_to_fbx.py # GLB → FBX (embedded textures) via headless Blender
custom_rasterizer, differentiable_renderer) compiled against a CUDA toolkit matching
its PyTorch build.unreal-mcp server (only for Stage 4 import).Copy this folder into a .claude/skills/ directory so Claude Code discovers it:
# project-scoped (active in one project)
cp -r text-to-3d-asset <your-project>/.claude/skills/text-to-3d-asset
# or user-scoped (active everywhere)
cp -r text-to-3d-asset ~/.claude/skills/text-to-3d-asset
Then just ask, e.g. "make me a 3D asset of a red double‑decker bus" and the skill takes over.
Fooocus (SDXL) and Hunyuan3D each want most of an 8 GB card. Keeping both loaded exhausts VRAM +
RAM and swaps to disk — a generation that takes ~1 min balloons to ~14 min. The skill therefore
stops the other server before generating: stop Hunyuan (:8080) before Stage 1, stop Fooocus‑API
(:8888) before Stage 2. Relaunching is cheap by comparison.
SKILL.md and the scripts contain absolute paths specific to the machine they were built on
(C:\AI\..., C:\projects\...). Adjust them to your own install locations before use.
Built with Claude Code. Wraps the excellent open‑source projects linked above — all credit to their authors.
2 commits
Hacker News (1)
Python
100.0%
A Claude Code skill that turns a text prompt or a photo into a game-ready, textured 3D asset by orchestrating local AI services in sequence — then (optionally) imports it straight into an Unreal Engine project.
prompt ──▶ Fooocus (SDXL) ──▶ image.png
image ──▶ Hunyuan3D-2 ──▶ textured .glb
.glb ──▶ Blender ──▶ .fbx
.fbx ──▶ Unreal (MCP) ──▶ StaticMesh / BP racer
It was built and validated end-to-end on a single Windows workstation (RTX 4070 Laptop, 8 GB VRAM / 32 GB RAM), generating engines for an Unreal train‑racer game.
A real run of the pipeline — the prompt below became an SDXL image (Fooocus), then a textured .glb
(Hunyuan3D‑2), shown here as a turntable of the generated mesh:

Prompt: "a vintage green steam locomotive, single centered object, plain white background, studio product render, full side view" — every frame after the title card is an actual output of this skill (image from Fooocus, 3D turntable rendered from the Hunyuan3D‑2
.glb).
| Stage | Tool | Output |
|---|---|---|
| 1. Text → image (optional) | Fooocus SDXL, driven headlessly via the Fooocus-API REST wrapper | .png |
| 2. Image → 3D | Hunyuan3D‑2 (image‑to‑textured‑mesh) | textured .glb |
| 3. Convert | Blender headless (glTF → FBX, embedded textures) | .fbx |
| 4. Import (optional) | Unreal Engine via the unreal-mcp server | StaticMesh + Blueprint |
If you already have a photo, skip Stage 1 and start at Stage 2.
SKILL.md # the skill instructions Claude Code loads
scripts/fooocus_gen.py # text → image via the Fooocus-API REST endpoint
scripts/hunyuan_gen.py # image → textured GLB via the Hunyuan3D-2 gradio API
scripts/glb_to_fbx.py # GLB → FBX (embedded textures) via headless Blender
custom_rasterizer, differentiable_renderer) compiled against a CUDA toolkit matching
its PyTorch build.unreal-mcp server (only for Stage 4 import).Copy this folder into a .claude/skills/ directory so Claude Code discovers it:
# project-scoped (active in one project)
cp -r text-to-3d-asset <your-project>/.claude/skills/text-to-3d-asset
# or user-scoped (active everywhere)
cp -r text-to-3d-asset ~/.claude/skills/text-to-3d-asset
Then just ask, e.g. "make me a 3D asset of a red double‑decker bus" and the skill takes over.
Fooocus (SDXL) and Hunyuan3D each want most of an 8 GB card. Keeping both loaded exhausts VRAM +
RAM and swaps to disk — a generation that takes ~1 min balloons to ~14 min. The skill therefore
stops the other server before generating: stop Hunyuan (:8080) before Stage 1, stop Fooocus‑API
(:8888) before Stage 2. Relaunching is cheap by comparison.
SKILL.md and the scripts contain absolute paths specific to the machine they were built on
(C:\AI\..., C:\projects\...). Adjust them to your own install locations before use.
Built with Claude Code. Wraps the excellent open‑source projects linked above — all credit to their authors.
Hacker News (1)
2 commits
Python
100.0%