English | 한국어
An opt-in VARCO AI extension for the unreal-mcp ecosystem. Only people who install it use it — leave the folder out and the core project is completely unaffected.
It generates assets through VARCO AI APIs and auto-imports them into the Unreal Content Browser:
- Image-to-3D (
varco_gen.py) — PNG → GLB mesh - Text-to-Sound (
varco_sound.py) — text prompt → SoundWave
Tell Claude (MCP) "make a 3D asset from this image" and the existing unreal-mcp
calls varco_gen.generate(...) inside the engine. The API key never enters
chat, code, or git.
Place this folder under your Unreal project's Python path, e.g.:
<YourProject>/Content/Python/VarcoAssetGen/varco_gen.py
Don't want it? Just don't copy the folder (opt-in). Zero impact on the core project.
The key is stored only on this PC and never leaves via git / chat.
Option A — double-click (easiest)
Run setup_token.bat → paste the key → restart the editor.
(Stored as the VARCO_API_KEY user environment variable.)
Option B — config file
Create Saved/varco_config.json in your project:
{ "openapi_key": "PASTE_YOUR_KEY_HERE" }The Saved/ folder is git-ignored and is not cooked into packaged builds.
Via Claude/MCP: "Make a 3D asset from C:/refs/cat.png into /Game/VarcoGenerated" → MCP calls the functions below.
Image-to-3D (Python console):
import varco_gen
path = varco_gen.generate("C:/refs/cat.png", dest_content_path="/Game/VarcoGenerated")
print(path)Options: target_face_num (1000–300000, default 300000), generate_texture
(default True), seed (-1 = random).
Text-to-Sound (Python console):
import varco_sound
paths = varco_sound.generate("footsteps on gravel", num_sample=3,
dest_content_path="/Game/VarcoSound")
print(paths)Options: num_sample (1–5), version (v1/v2).
Verify the API end-to-end (download only, skips Unreal import):
python varco_gen.py C:/refs/cat.png --out out.glb
python varco_sound.py "rain on a tin roof" --num 2
- Transport is HTTPS (TLS), so the
openapi_keyheader is encrypted on the wire. - The key lives only in an environment variable or the per-user
Saved/file — never exposed to the model context / chat. - Image-to-3D accepts PNG only.
model_urlis valid for 7 days. - Image-to-3D polling is blocking, so the editor UI may freeze briefly during generation (usually a few minutes). Text-to-Sound is synchronous.
English | 한국어
unreal-mcp 에 opt-in으로 끼우는 VARCO AI 확장팩입니다. 설치한 사람만 쓰고, 안 넣으면 코어 프로젝트엔 아무 영향이 없습니다.
VARCO AI API로 에셋을 생성해 언리얼 콘텐츠 브라우저에 자동 임포트합니다:
- Image-to-3D (
varco_gen.py) — PNG → GLB 메시 - Text-to-Sound (
varco_sound.py) — 텍스트 프롬프트 → SoundWave
Claude(MCP)에게 "이 이미지로 3D 에셋 만들어줘" 라고 하면, 기존 unreal-mcp가
엔진 안에서 varco_gen.generate(...)를 호출합니다. API 키는 채팅·코드·git
어디에도 들어가지 않습니다.
이 폴더를 언리얼 프로젝트의 Python 경로에 둡니다. 예:
<YourProject>/Content/Python/VarcoAssetGen/varco_gen.py
안 쓰는 사람은 이 폴더를 안 넣으면 됩니다 (opt-in). 메인 프로젝트엔 영향 없음.
키는 이 PC에만 저장되고 git/채팅으로 절대 안 나갑니다.
방법 A — 더블클릭 (가장 쉬움)
setup_token.bat 실행 → 키 붙여넣기 → 엔진 재시작.
(VARCO_API_KEY 사용자 환경변수로 저장)
방법 B — 설정 파일
프로젝트의 Saved/varco_config.json 파일을 만들고:
{ "openapi_key": "여기에_키_붙여넣기" }Saved/ 폴더는 git에 안 올라가고 패키징 빌드에도 안 들어갑니다.
Claude/MCP에게: "C:/refs/cat.png 로 3D 에셋 만들어서 /Game/VarcoGenerated 에 넣어줘" → MCP가 아래 함수를 호출합니다.
Image-to-3D (Python 콘솔):
import varco_gen
path = varco_gen.generate("C:/refs/cat.png", dest_content_path="/Game/VarcoGenerated")
print(path)옵션: target_face_num (1000~300000, 기본 300000), generate_texture
(기본 True), seed (-1 = 랜덤).
Text-to-Sound (Python 콘솔):
import varco_sound
paths = varco_sound.generate("footsteps on gravel", num_sample=3,
dest_content_path="/Game/VarcoSound")
print(paths)옵션: num_sample (1~5), version (v1/v2).
언리얼 없이 API만 검증 (다운로드까지, 임포트는 건너뜀):
python varco_gen.py C:/refs/cat.png --out out.glb
python varco_sound.py "rain on a tin roof" --num 2
- 전송은 HTTPS(TLS)라
openapi_key헤더는 네트워크상 암호화됩니다. - 키는 환경변수 또는
Saved/의 per-user 파일에만 — 모델 컨텍스트/채팅에 노출 안 됨. - Image-to-3D는 PNG만 입력 가능.
model_url은 7일간 유효. - Image-to-3D 폴링은 블로킹이라 생성 중 에디터 UI가 잠깐 멈출 수 있습니다(보통 수 분). Text-to-Sound는 동기 방식입니다.