AI 개발도구/Claude

[Unreal 5.8.2] UE 5.6 vs UE 5.8 내장 Blueprint 테스트

길자 2026. 9. 8. 15:10
반응형

UE 5.8 내장 MCP에서 Blueprint를 어디까지 자동으로 제작할 수 있는지, UE 5.6.1 커뮤니티 MCP 사용 당시의 기록과 비교했다.

Blueprint 생성부터 변수·함수·이벤트·그래프 작성, 컴파일·저장까지 확인했다. 다만 UserDefinedEnum·UserDefinedStruct 생성은 확인한 도구 구성에서 해결하지 못했으며, 그래프 작성 성공과 실제 실행 결과는 구분해야 한다.

이 글은 공식 지원 기능 목록이 아니라 실제 도구 호출 결과와 엔진 소스를 바탕으로 정리한 기술 검증 기록이다. UE 5.6.1과 UE 5.8은 사용한 MCP 구현도 다르므로, 차이를 모두 엔진 버전 변경에 따른 개선으로 해석할 수는 없다.

1. 미리 보기 — 어디까지 가능한가?

항목UE 5.6.1 당시 커뮤니티 MCP 기록UE 5.8 내장 MCP 확인 결과
Blueprint 생성 개별 도구를 통한 생성·편집 ✅ Actor Blueprint 생성 확인
그래프 작성 개별 노드·속성 조작 중심 ✅ DSL로 여러 노드와 연결을 일괄 작성
float 변수 추가 크래시 사례 기록 ✅ 추가·컴파일 성공
함수·입출력 파라미터 노드와 참조를 단계적으로 설정 ✅ 함수 그래프·입출력 파라미터 생성
변수 읽기·쓰기 참조·핀 지정에 추가 단계 필요 ✅ DSL로 작성
비교·산술 연산 연산 노드 타입 지정에 어려움 ✅ DSL을 통한 노드 변환 확인
이벤트·디스패처 이번 비교 자료에서 확인 부족 ✅ 생성 및 호출 그래프 작성
DataTable enum 셀 값이 index 0으로 저장되는 문제 기록 ✅ 다른 도구 경로에서 저장 성공
입력 애셋 IA·IMC 당시 사용 경로에서 제약 ✅ 범용 도구를 통한 생성·설정 확인
콜리전 설정 당시 사용 경로에서 제약 ✅ 기존 채널·프로파일 지정. 새 채널 등록은 미검증
UMG 위젯 일부 속성·함수 접근 제약 기록 ✅ 일부 조작 확인. 전체 기능 검증은 아님
UserDefinedEnum 생성 관련 제약 기록 ❌ 확인한 도구 구성에서 생성 경로 미확보
UserDefinedStruct 생성 이번 비교 자료에서 확인 부족 ❌ 확인한 도구 구성에서 생성 경로 미확보
기존 enum 값 추가·삭제 제약 기록 ⚠️ 전용 도구 미확인. 생성과 별도 검증 필요
enum 타입 변수 추가 이번 비교 자료에서 확인 부족 ❌ 사용한 add_variable 경로에서 지원되지 않음
컴파일·저장 크래시 사례 기록 ✅ 성공. 모든 크래시가 해결됐다는 의미는 아님

2. 비교 전제

비교 대상은 다음과 같다.

  • UE 5.6.1: 당시 사용한 커뮤니티 파이썬 브리지 기반 MCP의 작업 기록
  • UE 5.8: 내장 ModelContextProtocol과 노출된 에디터 도구의 실행 결과

MCP는 외부 프로그램의 기능을 호출하기 위한 규약이다. Blueprint 편집 기능 자체는 MCP에 연결된 도구가 제공한다.

따라서 “UE 5.6에서는 불가능하고 UE 5.8에서는 가능하다”보다 **“당시 사용한 도구에서는 제약이 있었고, 이번 도구 경로에서는 성공했다”**고 표현하는 것이 정확하다.

3. Blueprint 생성·편집 가능 범위

Blueprint와 변수 생성

Actor Blueprint 생성과 byte·bool·string·float 변수 추가를 확인했다.

엔진 소스의 add_variable 구현에는 기본 스칼라 타입과 일부 내장 구조체 타입을 처리하는 경로가 있다. 다만 이것이 임의의 사용자 정의 타입까지 모두 지원한다는 의미는 아니다.

사용한 경로에서는 enum 타입 멤버 변수를 추가하지 못했다.

함수·이벤트·디스패처

다음 작업을 확인했다.

  • 함수 그래프 생성
  • 함수 입력·출력 파라미터 추가
  • 커스텀 이벤트 본문 작성
  • 이벤트 디스패처 추가
  • 함수·디스패처 호출 그래프 작성

이는 그래프 제작 기능의 확인이다. 작성된 이벤트가 실제 실행 중 원하는 시점에 호출되는지는 별도의 실행 검증이 필요하다.

그래프 로직 작성

write_graph_dsl을 통해 다음 로직을 작성할 수 있었다.

  • 조건 분기
  • 값 비교와 산술 연산
  • 변수 읽기·쓰기
  • 함수 호출
  • 반환값 처리
  • 이벤트·디스패처 호출

내장 도구에는 개별 노드·핀 조작 기능도 있으므로, 모든 편집을 DSL로만 수행해야 하는 것은 아니다.

컴파일·저장

작성한 Blueprint의 컴파일과 .uasset 저장을 확인했다.

다만 컴파일 성공은 호출 대상과 동작 의도가 모두 올바르다는 보장이 아니다. 잘못된 함수가 연결돼도 타입 조건이 맞으면 컴파일이 통과할 수 있어, 그래프 확인과 실행 테스트가 함께 필요하다.

4. UE 5.6 당시 작업 방식과 달라진 점

개별 조작에서 DSL 일괄 작성으로

당시 커뮤니티 MCP에서는 노드를 생성한 뒤 참조와 속성을 지정하고 핀을 연결하는 방식으로 작업했다.

이번에는 DSL로 로직을 기술하면 여러 노드와 연결이 생성되는 방식을 주로 사용했다. 이 경로에서는 과거의 일부 수동 참조·핀 지정 단계를 직접 수행하지 않아도 됐다.

단, write_graph_dsl은 기존 그래프에 본문을 작성하는 도구다. 함수 그래프와 입출력 파라미터는 먼저 생성해야 한다.

변수·연산 노드 작성

과거 기록에는 float 변수 추가 시 크래시와 연산 노드 타입 지정 문제가 있었다.

UE 5.8 테스트에서는 float 변수 추가와 컴파일이 성공했고, DSL의 비교·산술 표현이 실제 연산 노드로 변환되는 것을 확인했다.

이는 이번 호출 경로의 성공 결과이며, 이전 문제의 엔진 내부 원인이 수정됐다는 판정은 아니다.

DataTable과 입력 애셋

DataTable enum 셀 저장과 IA·IMC 생성·설정도 이전과 다른 도구 경로에서 성공했다.

특히 전용 도구가 없다는 사실만으로 해당 작업이 불가능한 것은 아니다. IA·IMC는 범용 DataAssetTools와 ObjectTools를 조합하는 경로에서 확인했다.

5. enum·struct 생성의 제약

UserDefinedEnum과 UserDefinedStruct에 대해서는 다음 경로를 확인했다.

시도결과
DataAssetTools.create(UserDefinedEnum) cannot be stored in a DataAsset 오류
DataAssetTools.create(UserDefinedStruct) cannot be stored in a DataAsset 오류
ProgrammaticToolset에서 import unreal import 차단
노출된 툴셋 52종 조사 전용 생성 도구를 찾지 못함

확인한 DataAsset 팩토리는 두 타입을 생성 대상으로 받아들이지 않았다.

ProgrammaticToolset 샌드박스에서도 unreal 모듈 import가 차단돼 엔진 API를 직접 호출할 수 없었다. 등록된 도구를 호출하는 기능은 있었지만, 조사한 목록에 전용 생성 도구는 없었다.

따라서 확인한 UE 5.8 내장 MCP 도구 구성에서는 두 애셋의 생성 경로를 확보하지 못했다.

이 결과는 모든 MCP 확장이나 에디터의 모든 Python 실행 경로가 불가능하다는 뜻은 아니다. 또한 다음 작업은 각각 별도로 판단해야 한다.

  • 새 enum·struct 애셋 생성
  • 기존 애셋 참조
  • enum 멤버 추가·삭제
  • 해당 타입의 Blueprint 변수 추가
  • 해당 구조체를 사용하는 DataTable 편집

6. 부분적으로 확인한 기능

기능확인한 범위확대 해석하면 안 되는 범위
DataTable enum 셀 저장 모든 행 타입과 편집 작업
IA·IMC 범용 도구를 통한 생성·설정 실제 입력 이벤트 전달과 모든 트리거·모디파이어
콜리전 컴포넌트에 기존 채널·프로파일 지정 프로젝트의 새 콜리전 채널 등록
UMG 일부 위젯 조작 모든 속성·애니메이션·런타임 동작
컴파일·저장 테스트 대상 Blueprint에서 성공 모든 그래프 조합의 안정성

7. Blueprint 자동화 시 주의점

함수 호출 대상 확인

동일한 함수 이름이 다른 Blueprint에 있을 때, 의도하지 않은 Blueprint의 함수가 연결된 사례가 있었다.

이 경우 컴파일이 통과했으므로, read_graph_dsl로 실제 호출 대상을 확인해야 했다. 함수 이름 변경으로 해당 사례를 해결했지만, 이름 변경이 모든 경우의 필수 조건은 아니다.

함수 인자는 파라미터 이름으로 지정

위치 순서로 전달한 인자가 대상인 self 핀에 연결되는 사례가 있었다.

해당 호출은 :파라미터이름 값 형태의 키워드 인자로 변경해 해결했다. 작성 후 대상 핀과 입력 파라미터 연결을 함께 확인하는 것이 필요하다.

DSL 분기는 여러 문장 사용 가능

DSL은 분기 안에 여러 문장을 허용한다. 한 줄로 작성해야 한다는 문법적 제약은 없다.

에디터 언어에 대한 단정 금지

이번 검증은 영어 에디터 환경에서 진행했다. 한국어 환경과 비교하지 않았으므로, 한국어 에디터가 오류 원인이라고 결론 내릴 수 없다.

노드 호출에는 find_node_types가 반환한 실제 Type ID를 사용하고 작성 결과를 확인한다.

크래시 해결 여부는 별도 검증

Blueprint를 열지 않은 상태에서 작성한 뒤 컴파일·저장하는 절차로 이번 테스트는 완료했다. 이것이 모든 편집 조건에서 크래시를 방지한다는 보장은 아니다.

과거에 기록한 컴파일 크래시, ChildActor·Timeline 관련 크래시, 외부 프로그램의 파일 잠금 문제도 이번 성공 결과만으로 해결됐다고 판단하지 않았다.

8. 결론

UE 5.8 내장 MCP는 Blueprint 골격 생성뿐 아니라 함수·이벤트와 그래프 로직 작성, 컴파일·저장까지 자동화할 수 있는 범위를 제공했다. 일부 DataTable·입력 애셋·UMG 작업도 확인했다.

반면 UserDefinedEnum·UserDefinedStruct 생성과 일부 사용자 정의 타입 처리는 확인한 도구 구성에서 제약이 있었다. 작성된 그래프의 실제 동작과 전체 기능의 안정성은 별도 검증이 필요하다.

UE 5.6.1 당시 기록과의 차이는 엔진 버전뿐 아니라 도구 구현과 호출 경로의 변화까지 포함한다. 따라서 자동화 가능 범위는 사용 중인 도구 구성과 실제 성공한 작업 단위를 기준으로 판단해야 한다.

반응형