본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 26. 20:38

MCP를 통해 AI 어시스턴트를 Unreal Editor에 직접 연결하기

요약

Model Context Protocol(MCP)을 활용하여 AI 어시스턴트를 Unreal Editor와 직접 연결하는 Unreal MCP를 소개합니다. 자연어 명령만으로 액터 생성, 블루프린트 구축, 머티리얼 편집 등 엔진 내 다양한 작업을 수행할 수 있습니다.

핵심 포인트

  • 84개의 내장 도구를 통해 Unreal Engine의 Python API에 직접 접근 가능
  • 자연어로 액터 조작, 블루프린트 그래프, UMG 위젯 디자인 수행 가능
  • C++ 재컴파일 없이 머티리얼 및 Behavior Tree 구성 가능
  • Claude Desktop, VS Code, Cursor 등 MCP 클라이언트와 연동 지원

MCP를 통해 AI 어시스턴트를 Unreal Editor에 직접 연결하기

기능 · 설치 · 사용법 · 도구 참조 · 문제 해결

Unreal MCP는 Model Context Protocol (MCP)을 통해 AI 어시스턴트를 Unreal Editor에 연결합니다. 액터(Actor) 생성, Blueprint 그래프 구축, Behavior Tree 구성, UMG 위젯 디자인, 머티리얼(Material) 편집 등 모든 작업을 자연어(Natural Language)로 수행할 수 있습니다.

84개의 내장 도구(Built-in tools)를 제공하며, Unreal Engine의 모든 Python API에 직접 접근할 수 있습니다. 즉, 모든 BlueprintCallable 함수, 모든 에디터 서브시스템(Editor subsystem), 엔진이 Python에 노출하는 모든 것에 접근 가능합니다. C++이나 재컴파일(Recompilation)은 필요하지 않습니다.

클릭하여 YouTube에서 데모 시청

카테고리기능도구 수
액터 조작 (Actor Manipulation)액터 생성, 복제, 변형, 삭제. Surface 레이캐스팅 (Raycasting). View frustum 쿼리. 속성(Property) Get/Set.17
레벨 관리 (Level Management)레벨 생성 및 열기. 선택적 클래스 필터를 사용하여 레벨 액터 목록 표시. 월드 설정(중력, 시간 팽창) 구성.4
에셋 관리 (Asset Management)이름/유형별 에셋 검색 및 필터링. 스태틱 메시(Static mesh) 상세 정보 검색.2
머티리얼 시스템 (Material System)표현식(Expressions) 생성 및 연결. 머티리얼 인스턴스 파라미터 (스칼라, 벡터, 텍스처, 스태틱 스위치). 재컴파일 (Recompilation).11
Blueprint 그래프 (Blueprint Graph)그래프 구조, 노드(Node), 핀(Pin), 변수 읽기. 노드 추가, 연결, 제거. 전체 그래프 구축 및 컴파일. SCS 컴포넌트 관리. 자동 레이아웃 (Auto layout).16
Behavior TreeBehavior Tree 생성 및 읽기. Blackboard 에셋 및 키 관리. 완전한 BT 계층 구조 구축.12
UMG 위젯 블루프린트 (UMG Widget Blueprint)위젯 블루프린트 생성. 위젯 추가/제거 (15개 유형). 속성, 슬롯 레이아웃, 텍스트 스타일 및 위젯 C++ 속성 설정. 컴파일.10
에디터 도구 (Editor Tools)선택 관리 (Selection management). 액터의 머티리얼/메시 교체. Blueprint 기반 교체.6
게임 설정 (Game Settings)게임 모드(Game mode) 구성. 입력 액션(Input action) 및 매핑 설정.3
유틸리티 (Utilities)Unreal Engine의 Python API에 대한 전체 접근 권한을 가진 임의의 Python 실행. 출력 로그(Output log) 검색. LiveCoding 컴파일.3

Unreal Engine 5.6+ Python 3.11+ uv— 빠른 Python 패키지 매니저(package manager)— MCP 클라이언트 (MCP client) (Claude Desktop, VS Code, Cursor 등)

옵션 A: GitHub에서 클론 (권장)

cd YourProject/Plugins
git clone https://github.com/GenOrca/unreal-mcp.git
YourProject/
└── Plugins/
└── unreal-mcp/
...

옵션 B: Fab에서 설치

참고

Fab 버전은 최신 GitHub 릴리스보다 뒤처질 수 있습니다. Fab에서 설치한 후에도 이 저장소의 mcp-server/ 폴더가 여전히 필요합니다.

  • Unreal Engine에서 프로젝트를 엽니다.
  • Edit > PluginsUnreal-MCPythonPython Editor Script Plugin을 활성화합니다.
  • 에디터를 재시작합니다.

MCP 클라이언트 설정에 서버를 추가합니다:

{
"mcpServers": {
"unreal-mcpython": {
...

중요

경로를 mcp-server 폴더의 실제 절대 경로(absolute path)로 교체하십시오.

클라이언트별 설정 파일 위치

클라이언트경로
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
VS Code / Cursor워크스페이스 내의 .vscode/mcp.json
  • MCP 클라이언트를 재시작합니다.
  • MCP 서버가 자동으로 시작됩니다.
  • 확인 — 클라이언트에 Unreal-MCPython 도구들이 나열되어 있어야 합니다.

원하는 내용을 자연어로 설명하기만 하면 됩니다:

"지형 표면에 나무 10개를 무작위로 배치해줘"
"이름에 'rock'이 포함된 모든 스태틱 메시(static meshes)를 찾아줘"
"MI_Ground의 베이스 컬러(base color)를 진한 갈색으로 설정해줘"
...

액터 조작 (Actor Manipulation) (17개 도구)

도구 (Tool)설명 (Description)
spawn_from_object기존 에셋 (Asset)으로부터 액터 (Actor) 스폰
spawn_from_class클래스 (Class)로부터 액터 (Actor) 스폰
spawn_on_surface_raycast레이캐스트 (Raycast)를 통해 표면 위에 액터 (Actor) 스폰
duplicate_selected선택된 액터 (Actors) 복제
delete_by_label라벨 (Label)에 따라 액터 (Actors) 삭제
select_all모든 액터 (Actors) 선택
invert_selection현재 선택 영역 반전
list_all_with_locations위치 정보를 포함한 모든 액터 (Actors) 목록 나열
get_all_details액터 (Actors)에 대한 상세 정보 가져오기
set_transform전체 트랜스폼 (Transform: 위치, 회전, 스케일) 설정
set_location액터 (Actor) 위치 설정
set_rotation액터 (Actor) 회전 설정
set_scale액터 (Actor) 스케일 설정
get_property액터 (Actor) 속성 (Property) 값 가져오기
set_property액터 (Actor) 속성 (Property) 값 설정
line_trace라인 트레이스 (Line Trace) 레이캐스트 (Raycast) 수행
get_in_view_frustum카메라 시야 절두체 (View Frustum) 내의 액터 (Actors) 가져오기

레벨 관리 (Level Management) (4개 도구)

도구 (Tool)설명 (Description)
create_level새로운 빈 레벨 (Level)을 생성하고 열기
load_level콘텐츠 브라우저 (Content-browser) 경로를 통해 기존 레벨 (Level) 열기
list_level_actors현재 레벨 (Level)의 모든 액터 (Actors) 목록 나열 (선택적 클래스 필터 적용 가능)
set_world_settings현재 레벨 (Level)의 중력 (Gravity) 및 시간 팽창 (Time Dilation) 설정

에셋 관리 (Asset Management) (2개 도구)

도구 (Tool)설명 (Description)
find_by_query이름/유형별 에셋 (Assets) 검색 및 필터링
get_static_mesh_details스태틱 메시 (Static Mesh) 상세 정보 가져오기

머티리얼 시스템 (Material System) (11개 도구)

도구 (Tool)설명 (Description)
create_expression머티리얼 익스프레션 (Material Expression) 노드 생성
connect_expressions두 개의 머티리얼 익스프레션 (Material Expression) 연결
recompile머티리얼 (Material) 재컴파일
get_mi_scalar_param머티리얼 인스턴스 (Material Instance)에서 스칼라 파라미터 (Scalar Parameter) 가져오기
set_mi_scalar_param머티리얼 인스턴스 (Material Instance)에 스칼라 파라미터 (Scalar Parameter) 설정
get_mi_vector_param머티리얼 인스턴스 (Material Instance)에서 벡터 파라미터 (Vector Parameter) 가져오기
set_mi_vector_param머티리얼 인스턴스 (Material Instance)에 벡터 파라미터 (Vector Parameter) 설정
get_mi_texture_param머티리얼 인스턴스 (Material Instance)에서 텍스처 파라미터 (Texture Parameter) 가져오기
set_mi_texture_param머티리얼 인스턴스 (Material Instance)에 텍스처 파라미터 (Texture Parameter) 설정
get_mi_static_switch머티리얼 인스턴스 (Material Instance)에서 스태틱 스위치 (Static Switch) 가져오기
set_mi_static_switch머티리얼 인스턴스 (Material Instance)에 스태틱 스위치 (Static Switch) 설정

Blueprint Graph (16개 도구)

도구 (Tool)설명 (Description)
get_selected_bp_nodes선택된 블루프린트 (Blueprint) 노드 가져오기
get_selected_bp_node_infos선택된 노드의 상세 정보 가져오기
get_blueprint_graph_info전체 그래프 구조 읽기
list_callable_functions블루프린트 (Blueprint) 컨텍스트 내에서 호출 가능한 함수 목록 나열
list_blueprint_variables블루프린트 (Blueprint) 변수 목록 나열
add_blueprint_node그래프에 노드 추가
connect_blueprint_pins두 개의 핀 (Pin) 연결
remove_blueprint_node노드 제거
build_blueprint_graphJSON으로부터 전체 그래프 구축
compile_blueprint블루프린트 (Blueprint) 컴파일
list_blueprint_components블루프린트 (Blueprint)의 모든 SCS 컴포넌트 목록 나열
add_component_to_blueprint블루프린트 (Blueprint)의 SCS에 컴포넌트 추가
remove_component_from_blueprint블루프린트 (Blueprint)의 SCS에서 컴포넌트 제거
set_component_property블루프린트 (Blueprint) 컴포넌트 템플릿의 속성 설정
set_blueprint_node_position블루프린트 (Blueprint) 그래프 노드를 지정된 좌표로 이동
auto_layout_graph블루프린트 (Blueprint) 그래프의 모든 노드 자동 레이아웃

Behavior Tree (12개 도구)

도구 (Tool)설명 (Description)
list_behavior_trees모든 Behavior Tree (BT) 에셋 목록 나열
get_behavior_tree_structureBT 구조 읽기
get_blackboard_dataBlackboard 데이터 가져오기
get_bt_node_detailsBT 노드 상세 정보 가져오기
get_selected_bt_nodes선택된 BT 노드 가져오기
create_behavior_tree새로운 Behavior Tree 생성
create_blackboard새로운 Blackboard 생성
add_blackboard_keyBlackboard에 키 추가
remove_blackboard_keyBlackboard에서 키 제거
set_blackboard_to_behavior_treeBT에 Blackboard 할당
build_behavior_tree완전한 BT 계층 구조 구축
list_bt_node_classes사용 가능한 BT 노드 클래스 목록 나열

UMG Widget Blueprint (10개 도구)

도구 (Tool)설명 (Description)
create_widget_blueprint새로운 Widget Blueprint 에셋 생성
get_widget_blueprint_info위젯 트리 계층 구조 및 위젯 목록 가져오기
add_widget트리에 위젯 추가 (15개 유형 지원)
set_widget_properties텍스트, 글꼴 크기, 색상, 가시성, Canvas Slot 레이아웃 설정
remove_widget트리에서 위젯 제거
compile_widget_blueprintWidget Blueprint 컴파일 및 유효성 검사
set_slot_layoutCanvasPanelSlot 레이아웃 설정 (앵커, 위치, 크기, 정렬)
set_text_styleTextBlock의 글꼴 크기, 텍스트 색상 및 외곽선 설정
get_widget_property지정된 위젯의 C++ UPROPERTY 값 가져오기
set_widget_property지정된 위젯의 C++ UPROPERTY 값 설정

지원되는 위젯 유형: CanvasPanel, TextBlock, Button, Image, HorizontalBox, VerticalBox, Border, Overlay, ScrollBox, SizeBox, CheckBox, EditableText, EditableTextBox, ProgressBar, Slider

Editor Tools (6개 도구)

도구 (Tool)설명 (Description)
get_selected_assets현재 선택된 에셋 (assets) 가져오기
replace_mtl_on_selected선택된 액터 (actors)의 머티리얼 (material) 교체
replace_mtl_on_specified지정된 액터 (actors)의 머티리얼 (material) 교체
replace_mesh_on_selected선택된 액터 (actors)의 메시 (mesh) 교체
replace_mesh_on_specified지정된 액터 (actors)의 메시 (mesh) 교체
replace_selected_with_bp선택된 액터 (actors)를 블루프린트 (Blueprint)로 교체

Game Settings (3개 도구) & Utilities (3개 도구)

도구 (Tool)설명 (Description)
set_game_mode게임 모드 (game mode) 설정
add_input_action입력 액션 (input action) 추가
add_input_mapping입력 매핑 (input mapping) 추가
get_output_logUnreal 출력 로그 (output log) 검색
execute_pythonUnreal Engine의 Python API에 대한 전체 권한을 가진 임의의 Python 코드 실행
livecoding_compile에디터를 재시작하지 않고 LiveCoding C++ 핫 리로드 (hot-reload) 컴파일 트리거
문제 (Problem)해결책 (Solution)
MCP 서버가 시작되지 않음Python 3.11+ 및 uv가 설치되어 있는지 확인
...

GitHub에서 이슈 (Issues), 기능 요청 (feature requests), 그리고 풀 리퀘스트 (pull requests)를 환영합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0