Skip to main content

부록: AI 프롬프트 템플릿 모음

Views 60약 9분생성형 AI 활용

프롬프트는 가장 현실적인 생산성 도구다

AI 시대의 언리얼 학습에서 가장 빨리 실력이 느는 사람은 "AI에게 많이 묻는 사람"이 아니라 "AI가 실수하기 어렵게 묻는 사람"이다. 같은 질문이라도 "대시 만들어줘"라고 묻는 것과 "UE 5.6 Third Person 템플릿에서 Enhanced Input을 사용해 Character Blueprint에 쿨다운이 있는 대시를 추가하고, 노드 연결 순서와 테스트 체크리스트로 설명해줘"라고 묻는 것은 완전히 다른 결과를 만든다.

이 부록은 바로 복사해 쓸 수 있는 프롬프트 모음이다. Claude, ChatGPT 같은 웹 AI에 붙여 넣어도 되고, Cursor나 Claude Code, UnrealClaude, Blueprint Stack처럼 프로젝트나 에디터 컨텍스트를 읽는 도구에 맞게 수정해 써도 된다. UnrealClaude는 UE 5.7 에디터 안에서 Claude Code CLI를 호출하고, MCP 도구를 통해 액터 조작, 블루프린트 편집, 레벨 관리, 머티리얼과 Enhanced Input 작업 같은 에디터 기능을 일부 다룰 수 있도록 설계된 플러그인이다.1 Blueprint Stack 역시 UE 5.4 이상에서 AI 에이전트와 언리얼 에디터를 연결해 블루프린트, 머티리얼, 데이터 테이블, 애니메이션 등을 자연어로 다루는 방향의 도구다.2

다만 어떤 도구를 쓰든 원칙은 같다. AI의 답변은 완성품이 아니라 "빠른 초안"이다. 초안을 사람이 검증하고, 언리얼 에디터에서 컴파일하고, 실제 플레이로 확인해야 한다. 이 부록의 프롬프트는 그 검증까지 포함하도록 설계했다.

부록: AI 프롬프트 템플릿 모음

먼저 정해야 할 것: 질문용 프롬프트와 실행용 프롬프트

AI 프롬프트는 크게 두 종류로 나누면 다루기 쉽다. 첫째는 일반 질문용 프롬프트다. Claude나 ChatGPT 웹에서 "어떻게 만들지 설명해줘"라고 묻는 방식이다. 이 경우 AI는 에디터를 직접 만질 수 없으므로, 답변은 개념 설명, 블루프린트 노드 순서, 체크리스트, 의사 코드 형태가 되어야 한다.

둘째는 에디터 실행 또는 수정용 프롬프트다. UnrealClaude, Blueprint Stack, soft-ue-cli처럼 에디터 조작 도구와 연결된 환경에서 "이 블루프린트를 열고 변수를 추가한 뒤 컴파일해줘"라고 요청하는 방식이다. 이런 도구들은 액터를 스폰하거나, 블루프린트 그래프를 조회하거나, 컴파일 결과를 반환하는 식으로 작업할 수 있다. 예를 들어 soft-ue-cli는 UE 에디터나 런타임에 연결해 액터 조작, 블루프린트 검사 및 편집, PIE 실행, 스크린샷 캡처, 로그 조회 같은 명령을 제공하는 구조를 갖고 있다.3

두 종류를 섞으면 문제가 생긴다. 웹 AI에게 "BP_Player에 노드 추가해줘"라고 해도 실제 에디터를 열 수 없다. 반대로 에디터 조작 도구에 너무 추상적으로 "재미있는 전투 만들어줘"라고 하면 프로젝트를 망가뜨릴 가능성이 커진다. 그래서 이 부록에서는 각 템플릿에 "일반 질문용"인지 "에디터 실행용"인지 표시한다.

만능 기본 구조: UE 블루프린트 프롬프트 골격

아래 구조는 이 부록 전체의 기본형이다. 특히 블루프린트 생성 요청에서는 이 순서를 지키는 것이 좋다.

  1. 역할 지정

  2. 목표

  3. 현재 프로젝트 맥락

  4. 입력과 출력

  5. 사용할 언리얼 시스템

  6. 엔진 버전

  7. 검증 기준

이 순서는 AI에게 "무엇을 만들지"뿐 아니라 "어떤 제약 안에서, 어떤 방식으로, 어디까지 검증해야 하는지"를 알려준다.

너는 Unreal Engine 5.6/5.7 블루프린트 전문가다.

목표:
[만들고 싶은 기능을 한 문장으로 설명]

현재 프로젝트 맥락:
- 템플릿: [Third Person / First Person / Blank / 기존 프로젝트]
- 주요 블루프린트: [BP_PlayerCharacter, BP_Enemy, WBP_HUD 등]
- 현재 구현된 기능: [이동, 점프, 체력 시스템 등]
- 대상 플랫폼: [PC / 모바일 / 콘솔 / VR]

입력:
[키보드, 마우스, 게임패드, UI 버튼, AI 이벤트 등]

출력:
[캐릭터 이동, UI 갱신, 이펙트 재생, 변수 변경 등]

사용할 언리얼 시스템:
[Enhanced Input / UMG / Behavior Tree / Blackboard / Niagara / DataTable / Interface / Event Dispatcher 등]

엔진 버전:
Unreal Engine [5.6 또는 5.7]

답변 형식:
1. 필요한 에셋과 블루프린트 목록
2. 변수와 함수 목록
3. 노드별 연결 순서
4. 컴파일 전 확인할 점
5. PIE에서 테스트할 체크리스트
6. 실패할 수 있는 반례와 해결 방법

검증 기준:
- 존재하지 않는 노드나 구버전 API를 제안하지 말 것
- UE 5.6/5.7 기준으로 설명할 것
- 초보자가 그대로 따라 할 수 있게 노드 이름과 연결 방향을 구체적으로 쓸 것

이 기본 구조를 외워두면 책 전체에서 배운 거의 모든 기능에 적용할 수 있다. 대시, 체력, UI, 적 AI, 머티리얼, 메타휴먼 NPC까지 모두 같은 틀로 묻고 다듬을 수 있다.

블루프린트 생성 프롬프트

템플릿 1. 새 기능의 블루프린트 설계 요청

가장 자주 쓰는 기본 생성 프롬프트다. "만들어줘"가 아니라 "설계하고, 노드 순서로 풀고, 검증 기준까지 제시해줘"라고 요청한다.

너는 Unreal Engine 5.6 블루프린트 전문가다.

목표:
[기능 이름]을 블루프린트로 구현하고 싶다.

프로젝트 맥락:
- Third Person 템플릿 기반
- 플레이어 블루프린트: BP_PlayerCharacter
- 입력은 Enhanced Input을 사용
- 현재 이동과 점프는 기본 템플릿 상태

기능 요구사항:
- [요구사항 1]
- [요구사항 2]
- [요구사항 3]

답변은 다음 형식으로 작성해줘.
1. 필요한 에셋 목록
2. 추가할 변수 목록: 이름, 타입, 기본값, 용도
3. 추가할 함수 또는 커스텀 이벤트 목록
4. Event Graph에서 노드 연결 순서
5. 테스트 체크리스트
6. 초보자가 자주 실수하는 지점

주의:
UE 5.6 기준으로 존재하는 노드만 사용해줘. 구버전 입력 시스템 대신 Enhanced Input 기준으로 설명해줘.

템플릿 2. Enhanced Input 액션 추가

입력이 동작하지 않는 문제는 초보자가 가장 자주 만나는 벽이다. 입력 액션, 매핑 컨텍스트, BeginPlay 등록, 이벤트 바인딩까지 한 번에 확인하게 만든다.

너는 UE 5.6 Enhanced Input 전문가다.

목표:
[IA_Dash / IA_Attack / IA_Interact] 입력 액션을 추가해 [기능]을 실행하고 싶다.

현재 상태:
- 캐릭터 블루프린트: [BP_PlayerCharacter]
- PlayerController: [기본 / 커스텀 이름]
- Input Mapping Context: [IMC_Default]
- 입력 장치: [키보드 / 마우스 / 게임패드]

원하는 입력:
- 키: [예: Left Shift]
- 트리거 방식: [Pressed / Started / Triggered / Completed]
- 실행할 동작: [예: 전방으로 600 거리 대시]

답변 형식:
1. Input Action 에셋 설정
2. Input Mapping Context 설정
3. BeginPlay 또는 적절한 위치에서 Mapping Context를 등록하는 방법
4. 캐릭터 블루프린트에서 이벤트를 받는 방법
5. 입력이 안 될 때 확인할 체크리스트

주의:
기존 InputAxis/InputAction 방식이 아니라 Enhanced Input 기준으로만 설명해줘.

템플릿 3. 체력과 데미지 시스템 생성

체력 시스템은 변수, 함수, UI, 이벤트 디스패처, 사망 처리까지 연결되는 좋은 연습 주제다.

너는 UE 5.6 블루프린트 gameplay 시스템 설계자다.

목표:
플레이어와 적이 함께 사용할 수 있는 체력·데미지 시스템을 블루프린트로 만들고 싶다.

프로젝트 맥락:
- 플레이어: BP_PlayerCharacter
- 적: BP_EnemyCharacter
- HUD: WBP_HUD
- UI에는 체력바가 있다

요구사항:
- MaxHealth와 CurrentHealth를 가진다
- ApplyDamage를 받으면 CurrentHealth가 감소한다
- 체력이 0 이하가 되면 OnDeath 이벤트가 실행된다
- 체력이 변할 때 HUD 체력바가 갱신된다
- 나중에 적과 플레이어가 같은 구조를 재사용할 수 있어야 한다

답변 형식:
1. Actor Component로 만들 때의 구조
2. Blueprint Interface로 데미지를 전달하는 구조
3. Event Dispatcher로 UI를 갱신하는 구조
4. 각 방식의 장단점
5. 이 책의 미니게임에 가장 적합한 추천 방식
6. 노드 연결 순서
7. 테스트 체크리스트

템플릿 4. UMG HUD 생성

UMG는 "화면에 보이기만 하면 성공"처럼 느껴지지만, 실제로는 위젯 생성 위치, 참조 저장, 데이터 바인딩 방식이 중요하다.

너는 UE 5.6 UMG UI 전문가다.

목표:
플레이어 체력, 탄약, 상호작용 안내 문구를 표시하는 HUD를 만들고 싶다.

현재 프로젝트:
- HUD 위젯: WBP_HUD
- 플레이어: BP_PlayerCharacter
- 체력 컴포넌트: BP_HealthComponent
- 입력 시스템: Enhanced Input

원하는 UI 요소:
- 체력바
- 탄약 텍스트
- 상호작용 가능할 때만 나타나는 "E 키로 상호작용" 문구

답변 형식:
1. WBP_HUD 계층 구조
2. 필요한 변수와 바인딩 방식
3. PlayerController 또는 Character에서 위젯을 생성하는 위치
4. Event Dispatcher로 UI를 갱신하는 흐름
5. Tick 바인딩을 피해야 하는 이유
6. 테스트 체크리스트

템플릿 5. Behavior Tree와 Blackboard 설계

적 AI는 Behavior Tree와 Blackboard를 분리해서 물어보면 답이 훨씬 선명해진다.

너는 UE 5.6 AI 시스템 전문가다.

목표:
간단한 적 AI를 Behavior Tree와 Blackboard로 구현하고 싶다.

적 캐릭터 요구사항:
- 플레이어를 발견하기 전에는 순찰한다
- 플레이어를 보면 추적한다
- 공격 거리 안에 들어오면 공격한다
- 플레이어를 놓치면 마지막 위치로 이동한 뒤 다시 순찰한다

현재 에셋:
- BP_EnemyCharacter
- BP_EnemyAIController
- NavMeshBoundsVolume은 레벨에 배치됨

답변 형식:
1. Blackboard Key 목록: 이름, 타입, 용도
2. Behavior Tree 전체 구조
3. 필요한 Task, Decorator, Service
4. AI Perception을 쓸 경우 연결 방식
5. 디버깅 방법
6. 흔한 실패 원인

템플릿 6. DataTable 기반 아이템 시스템

데이터 테이블은 "코드가 아니라 데이터로 게임을 조정한다"는 언리얼식 사고를 익히기 좋다.

너는 UE 5.6 데이터 주도형 게임 시스템 전문가다.

목표:
DataTable과 Struct를 사용해 아이템 데이터를 관리하고 싶다.

아이템 요구사항:
- 아이템 ID
- 표시 이름
- 설명
- 아이콘 Texture
- 최대 스택 수
- 아이템 타입 Enum

사용 상황:
- 플레이어가 아이템을 줍는다
- 인벤토리 UI에 표시한다
- 아이템 ID로 DataTable에서 정보를 찾는다

답변 형식:
1. Struct 설계
2. Enum 설계
3. DataTable 생성 순서
4. 아이템 픽업 블루프린트 구조
5. 인벤토리 배열 구조
6. UI 표시 흐름
7. 테스트 체크리스트

템플릿 7. 머티리얼 노드 그래프 생성

머티리얼은 이미지 생성 프롬프트처럼 "시각적 단어"를 많이 넣을수록 결과가 좋아진다.

너는 UE 5.6 머티리얼 에디터 전문가다.

목표:
[원하는 재질] 느낌의 머티리얼을 노드 그래프로 만들고 싶다.

시각적 목표:
- 표면: [금속 / 플라스틱 / 젖은 돌 / 홀로그램 / 용암 등]
- 색상: [주 색상과 보조 색상]
- 질감: [거칠다 / 매끈하다 / 금이 가 있다 / 패턴이 흐른다]
- 애니메이션: [없음 / 시간에 따라 흐름 / 깜박임]

제약:
- 실시간 게임용
- 너무 무거운 노드 구성은 피하고 싶다
- Lumen 환경에서 보기 좋게 만들고 싶다

답변 형식:
1. 사용할 주요 노드 목록
2. 노드 연결 순서
3. Scalar/Vector Parameter 목록
4. Material Instance에서 조절할 값
5. 성능상 주의할 점
6. 결과가 안 예쁠 때 조정할 값

템플릿 8. Niagara 이펙트 기획

Niagara는 AI가 실제 에디터 노드를 완벽히 대신 만들기는 어렵지만, 구조를 잡는 데는 아주 유용하다.

너는 UE 5.6 Niagara VFX 테크니컬 아티스트다.

목표:
[대시 잔상 / 총알 충돌 / 힐링 오라 / 폭발] 이펙트를 만들고 싶다.

게임 맥락:
- 장르: 3D 액션 어드벤처
- 카메라: 3인칭
- 분위기: [SF / 판타지 / 캐주얼 / 다크]
- 성능 목표: PC 기준 60fps

답변 형식:
1. Niagara System과 Emitter 구성
2. 파티클 수명, 속도, 크기, 색상 변화
3. 사용할 머티리얼 아이디어
4. 블루프린트에서 Spawn System을 호출하는 방법
5. 성능 최적화 체크리스트

에디터 실행·수정용 프롬프트

에디터 실행용 프롬프트는 훨씬 조심스럽게 써야 한다. AI가 실제 에셋을 수정할 수 있는 환경이라면, "무엇을 바꿔도 되는지"와 "무엇은 건드리면 안 되는지"를 명확히 해야 한다.

템플릿 9. 읽기 전용 프로젝트 분석

처음에는 항상 읽기 전용으로 시작하자. 바로 수정 요청을 하기보다 현재 프로젝트 구조를 요약하게 하는 편이 안전하다.

현재 언리얼 프로젝트를 읽기 전용으로 분석해줘.

규칙:
- 어떤 에셋도 수정하지 마라
- 파일 생성, 삭제, 저장을 하지 마라
- 먼저 프로젝트 구조와 관련 에셋만 파악해라

분석 대상:
- 플레이어 캐릭터 블루프린트
- 입력 관련 에셋
- HUD 위젯
- 체력 또는 데미지 관련 블루프린트

출력 형식:
1. 발견한 주요 에셋 목록
2. 각 에셋의 역할 추정
3. 현재 입력 흐름
4. 현재 UI 갱신 흐름
5. 수정이 필요해 보이는 지점
6. 다음 단계에서 안전하게 수정하기 위한 제안

템플릿 10. 수정 계획 먼저 만들기

AI에게 바로 수정시키지 말고 "수정 계획"부터 받으면 사고를 줄일 수 있다.

아직 에셋을 수정하지 말고, 다음 기능을 추가하기 위한 수정 계획만 작성해줘.

기능:
[예: 플레이어 대시 기능]

수정 가능 에셋:
- [BP_PlayerCharacter]
- [IA_Dash]
- [IMC_Default]

수정 금지 에셋:
- [BP_GameMode]
- [WBP_HUD]
- [저장 시스템 관련 에셋]

출력 형식:
1. 수정할 에셋별 변경 사항
2. 새로 만들 에셋이 필요한지 여부
3. 위험한 변경 지점
4. 되돌리기 쉬운 작업 순서
5. 내가 승인하면 실행할 단계별 작업 목록

템플릿 11. 승인 후 실제 수정

실행 도구와 연결되어 있을 때는 "한 번에 작게" 수정해야 한다. 큰 작업을 한 번에 맡기지 말고, 컴파일 가능한 작은 단위로 나눈다.

이제 아래 계획의 1단계만 실행해줘.

실행할 작업:
[예: BP_PlayerCharacter에 DashSpeed, DashDuration, bCanDash 변수를 추가]

규칙:
- 지정한 작업 외에는 수정하지 마라
- 작업 후 블루프린트를 컴파일해라
- 컴파일 결과와 경고를 보고해라
- 저장하기 전에 변경 사항 요약을 보여줘

출력 형식:
1. 실제 변경한 항목
2. 컴파일 결과
3. 발생한 경고 또는 오류
4. 다음에 실행할 수 있는 단계

템플릿 12. 블루프린트 그래프 설명 요청

BP2AI 같은 도구는 블루프린트 실행 흐름과 데이터 흐름을 텍스트로 내보내 AI가 분석하기 쉽게 만드는 방향을 제공한다.4 이런 텍스트를 붙여 넣을 때는 "요약"보다 "흐름 재구성"을 요청하는 편이 좋다.

아래는 블루프린트 그래프를 텍스트로 내보낸 내용이다.

목표:
이 블루프린트가 어떤 실행 흐름과 데이터 흐름을 갖는지 설명해줘.

분석 기준:
1. 이벤트 진입점
2. 주요 분기 조건
3. 변수 읽기와 쓰기
4. 다른 액터나 컴포넌트와의 통신
5. 잠재적인 Accessed None 위험
6. 리팩토링 후보

블루프린트 텍스트:
[여기에 내보낸 텍스트 붙여넣기]

디버깅 프롬프트

디버깅 프롬프트의 핵심은 "증상"이 아니라 "재현 가능한 사건"을 전달하는 것이다. AI에게는 에러 로그 원문, 재현 절차, 관련 노드 흐름, 기대 동작과 실제 동작을 함께 줘야 한다. 언리얼의 블루프린트 디버거에서는 레벨 안의 특정 블루프린트 인스턴스를 Debug Object로 선택해 실행 흐름을 확인할 수 있다.5 이 정보를 같이 전달하면 AI의 진단이 훨씬 정확해진다.

템플릿 13. 공통 디버깅 요청 골격

너는 UE 5.6 블루프린트 디버깅 전문가다.

문제 요약:
[한 문장으로 증상 설명]

엔진 버전:
Unreal Engine [5.6/5.7]

에러 로그 원문:
```log
[Output Log의 오류 메시지 원문]

재현 절차:

  1. [에디터에서 무엇을 클릭]

  2. [PIE 실행]

  3. [플레이어가 어떤 행동]

  4. [언제 오류 발생]

기대 동작: [정상이라면 일어나야 하는 일]

실제 동작: [현재 실제로 일어나는 일]

관련 블루프린트 노드 흐름: [이벤트 → 노드 → 함수 → 변수 접근 순서]

내가 이미 확인한 것: [예: 변수 기본값 확인, 컴파일 성공, Collision Preset 확인]

답변 형식:

  1. 가장 가능성 높은 원인 3개

  2. 각 원인을 확인하는 방법

  3. 수정 순서

  4. 다시 발생하지 않게 하는 예방 패턴

  5. 추가로 필요한 정보


### 템플릿 14. Accessed None 오류

Accessed None은 "참조가 비어 있는데 무언가를 꺼내 쓰려고 했다"는 뜻이다. 코더에게는 null reference, 웹 개발자에게는 undefined 접근과 비슷하다.

```text
UE 5.6 블루프린트에서 Accessed None 오류가 발생했다.

에러 로그:
```log
[Accessed None 로그 원문]

오류가 난 블루프린트: [예: BP_PlayerCharacter]

오류가 난 변수 또는 객체 참조: [예: HUDRef, TargetEnemy, HealthComponent]

노드 흐름: [예: Event BeginPlay → Create Widget → Set HUDRef → UpdateHealth]

기대 동작: [예: 체력이 변하면 HUD 체력바가 갱신되어야 함]

실제 동작: [예: 첫 피격 시 Accessed None 발생]

요청:

  1. 이 참조가 None이 될 수 있는 시점을 찾아줘

  2. Is Valid 노드를 어디에 넣어야 하는지 알려줘

  3. BeginPlay, Possessed, Construct 중 어느 시점 문제인지 판단해줘

  4. 임시 방어 코드와 근본 해결책을 나눠서 제안해줘


### 템플릿 15. Cast 실패

Cast 실패는 대부분 "그 객체가 내가 생각한 타입이 아니다"라는 뜻이다.

```text
UE 5.6 블루프린트에서 Cast To [클래스명]이 실패한다.

상황:
- Cast 대상 클래스: [예: BP_PlayerCharacter]
- Object 핀에 연결한 값: [예: Get Player Pawn, Other Actor, Get Owner]
- Cast가 실행되는 위치: [예: BP_EnemyCharacter의 OnComponentBeginOverlap]

기대 동작:
[예: 플레이어와 겹치면 데미지를 준다]

실제 동작:
[예: Cast Failed 핀으로만 흐른다]

관련 노드 흐름:
[Overlap 이벤트 → Other Actor → Cast To BP_PlayerCharacter → ApplyDamage]

요청:
1. Object 핀에 들어온 실제 타입을 확인하는 방법
2. Cast가 실패하는 가능한 원인
3. Cast 대신 Blueprint Interface를 쓰는 구조
4. 디버깅용 Print String을 어디에 넣을지
5. 최종 추천 구조

템플릿 16. 컴파일 오류

컴파일 오류는 로그 원문을 그대로 주는 것이 가장 중요하다.

UE 5.6 블루프린트 컴파일 오류를 해결하고 싶다.

블루프린트:
[BP 이름]

컴파일 오류 원문:
```log
[컴파일 오류 메시지 원문]

최근 변경한 내용:

  • [변수 이름 변경]

  • [함수 시그니처 변경]

  • [노드 삭제 또는 이동]

관련 노드: [오류가 표시된 노드 이름과 연결 상태]

요청:

  1. 오류 메시지를 쉬운 말로 번역해줘

  2. 가장 가능성 높은 원인을 설명해줘

  3. 에디터에서 어떤 순서로 고쳐야 하는지 알려줘

  4. 고친 뒤 확인할 테스트 절차를 제시해줘


### 템플릿 17. 입력 이벤트가 동작하지 않음

입력 문제는 Enhanced Input 설정, Pawn 소유, Mapping Context 등록, 포커스 문제를 함께 봐야 한다.

```text
UE 5.6 Enhanced Input 이벤트가 동작하지 않는다.

입력 액션:
[IA 이름]

매핑 컨텍스트:
[IMC 이름]

현재 설정:
- IA 타입: [Bool / Axis1D / Axis2D]
- 키 매핑: [예: Space, Left Shift]
- 이벤트를 받는 블루프린트: [BP_PlayerCharacter / PlayerController]
- Mapping Context 등록 위치: [BeginPlay / PlayerController]

증상:
[예: IA_Dash 이벤트가 전혀 호출되지 않음]

내가 확인한 것:
[예: 캐릭터는 움직임, 점프는 됨, Print String도 안 찍힘]

요청:
1. Enhanced Input에서 확인할 항목을 순서대로 알려줘
2. Possess와 Auto Receive Input 관련 가능성을 봐줘
3. UI 포커스 때문에 입력이 막히는 경우도 확인해줘
4. 디버깅용 Print String 배치 위치를 알려줘
5. 최종 수정 예시를 제시해줘

템플릿 18. 패키징 오류

패키징 오류는 에디터 안에서는 괜찮지만 빌드에서 깨지는 문제를 잡아내야 한다.

UE 5.6 프로젝트 패키징 중 오류가 발생했다.

대상 플랫폼:
[Windows / Android / iOS / macOS]

패키징 로그에서 Error가 포함된 부분:
```log
[패키징 오류 원문]

최근 변경 사항:

  • [플러그인 추가]

  • [C++ 클래스 추가]

  • [에셋 이동]

  • [맵 이름 변경]

프로젝트 특이사항:

  • 사용 플러그인: [목록]

  • 시작 맵: [맵 이름]

  • 포함해야 할 에셋: [목록]

요청:

  1. 로그에서 진짜 원인과 부수 오류를 구분해줘

  2. 확인할 Project Settings 항목을 알려줘

  3. 에셋 경로 문제인지, 플러그인 문제인지, 코드 컴파일 문제인지 분류해줘

  4. 가장 안전한 수정 순서를 제시해줘

  5. 다시 패키징하기 전 체크리스트를 만들어줘


### 템플릿 19. AI가 만든 블루프린트가 동작하지 않을 때

AI가 제안한 노드가 "그럴듯하지만 틀린" 경우가 있다. 이때는 답변 자체를 디버깅 대상으로 삼는다.

```text
아래는 AI가 제안한 UE 5.6 블루프린트 구현 절차다. 그대로 따라 했지만 동작하지 않는다.

AI가 제안한 절차:
[AI 답변 붙여넣기]

내가 실제로 만든 노드 흐름:
[실제 구현한 노드 흐름 설명]

증상:
[예: 컴파일은 되지만 실행되지 않음]

요청:
1. AI 답변에 존재하지 않는 노드나 구버전 API가 있는지 찾아줘
2. UE 5.6 기준으로 잘못된 부분을 수정해줘
3. 노드 연결 순서를 더 구체적으로 다시 써줘
4. 테스트 체크리스트를 추가해줘
5. 실패할 수 있는 반례를 찾아줘

리팩토링 프롬프트

리팩토링은 "예쁘게 정리해줘"라고 묻지 말아야 한다. AI는 종종 과한 구조를 제안한다. 작은 블루프린트에는 함수 몇 개면 충분한데, 인터페이스, 컴포넌트, 데이터 에셋, 매니저를 한꺼번에 만들자고 할 수 있다. 리팩토링 프롬프트에는 반드시 "현재 규모"와 "변경하지 말아야 할 동작"을 넣자.

템플릿 20. 거대한 Event Graph 정리

너는 UE 5.6 블루프린트 리팩토링 전문가다.

상황:
BP_PlayerCharacter의 Event Graph가 너무 커져서 읽기 어렵다.

현재 포함된 기능:
- 이동과 점프
- 대시
- 공격
- 상호작용
- 체력 처리
- UI 갱신

리팩토링 목표:
- 동작은 바꾸지 않는다
- 기능별로 함수나 커스텀 이벤트로 분리한다
- 재사용 가능한 것은 Actor Component로 분리할지 검토한다
- 초보자가 유지보수하기 쉬운 구조를 원한다

제약:
- C++로 옮기지 않는다
- 새 플러그인을 쓰지 않는다
- 오늘 안에 끝낼 수 있는 범위로 제한한다

답변 형식:
1. 현재 그래프에서 분리할 후보
2. 함수로 뺄 것과 컴포넌트로 뺄 것의 기준
3. 단계별 리팩토링 순서
4. 각 단계 후 테스트할 항목
5. 과한 설계를 피하기 위한 기준

템플릿 21. Actor Component로 분리하기

UE 5.6 블루프린트에서 [기능]을 Actor Component로 분리하고 싶다.

현재 구조:
- 기능이 들어 있는 블루프린트: [BP 이름]
- 관련 변수: [목록]
- 관련 함수/이벤트: [목록]
- 외부에서 이 기능을 호출하는 곳: [목록]

분리 목표:
- 여러 액터가 재사용할 수 있게 한다
- 원래 동작은 유지한다
- 참조 꼬임과 Accessed None을 줄인다

답변 형식:
1. 새 Component 이름 제안
2. Component로 옮길 변수 목록
3. Component로 옮길 함수 목록
4. 원래 Actor에 남겨야 할 책임
5. Event Dispatcher 또는 Interface가 필요한 지점
6. 안전한 이전 순서
7. 테스트 체크리스트

템플릿 22. Blueprint Interface로 Cast 줄이기

UE 5.6 블루프린트에서 Cast To 노드가 너무 많아졌다. Blueprint Interface로 줄이고 싶다.

현재 상황:
- Cast가 많은 블루프린트: [BP 이름]
- Cast 대상 클래스들: [BP_Player, BP_Enemy, BP_Door 등]
- 공통으로 호출하려는 동작: [Interact, TakeDamage, Highlight 등]

목표:
- 구체 클래스 의존성을 줄인다
- 새 액터가 추가되어도 기존 로직을 덜 수정하게 한다
- 초보자가 이해할 수 있는 단순한 구조를 유지한다

답변 형식:
1. Interface 이름 제안
2. Interface 함수 목록과 입력/출력
3. 각 블루프린트에서 구현할 내용
4. 호출하는 쪽의 노드 흐름
5. Cast를 유지해도 되는 예외 상황
6. 테스트 체크리스트

템플릿 23. Tick 제거 또는 감소

UE 5.6 블루프린트에서 Event Tick 사용을 줄이고 싶다.

현재 Tick에서 하는 일:
- [예: 매 프레임 거리 체크]
- [예: UI 텍스트 갱신]
- [예: 타깃 방향 회전]

문제:
[성능 저하 / 구조 복잡 / 불필요한 업데이트]

요청:
1. Tick이 꼭 필요한 작업과 아닌 작업을 구분해줘
2. Timer, Event Dispatcher, Overlap, 입력 이벤트로 바꿀 수 있는 부분을 제안해줘
3. 변경 후 동작이 달라질 수 있는 위험을 알려줘
4. 단계별 수정 순서를 제시해줘
5. 성능 확인 방법을 알려줘

검증·교차확인 프롬프트

AI 답변은 반드시 다시 AI에게 검토시켜야 한다. 같은 AI에게 물어도 좋고, Claude가 만든 답을 ChatGPT에 검토시키거나 그 반대로 해도 좋다. 중요한 것은 "더 좋은 답을 줘"가 아니라 "틀릴 수 있는 지점을 찾아줘"라고 묻는 것이다.

템플릿 24. 존재하지 않는 노드 검증

아래 UE 5.6 블루프린트 구현 안내를 검토해줘.

검토 목표:
- 존재하지 않는 노드가 있는지
- UE 5.6에서 이름이 바뀌었거나 구버전 방식인 부분이 있는지
- Enhanced Input 기준과 맞지 않는 설명이 있는지
- 블루프린트에서 실제로 연결 불가능한 핀 조합이 있는지

검토할 답변:
[AI 답변 붙여넣기]

출력 형식:
1. 문제 있는 문장 또는 단계
2. 왜 문제가 되는지
3. UE 5.6 기준 수정안
4. 확인을 위해 에디터에서 검색할 키워드

템플릿 25. 공식 문서 기준 재검토

아래 답변을 Unreal Engine 5.6 공식 문서 기준으로 다시 검토해줘.

검토할 답변:
[AI 답변 붙여넣기]

요청:
1. 공식 문서 기준으로 맞는 내용과 의심스러운 내용을 나눠줘
2. 의심스러운 내용은 어떤 문서 섹션을 확인해야 하는지 알려줘
3. 초보자가 그대로 따라 했을 때 막힐 지점을 찾아줘
4. 더 안전한 대안이 있으면 제시해줘
5. 최종적으로 수정된 절차를 다시 작성해줘

템플릿 26. 노드 연결 순서로 변환

아래 설명을 UE 5.6 블루프린트 노드 연결 순서로 바꿔줘.

원본 설명:
[설명 붙여넣기]

출력 형식:
1. 그래프 이름
2. 시작 이벤트
3. 실행 핀 연결 순서
4. 데이터 핀 연결 순서
5. 필요한 변수와 기본값
6. 필요한 함수 또는 커스텀 이벤트
7. 컴파일 후 테스트 순서

주의:
추상적인 설명을 줄이고, 에디터에서 검색 가능한 노드 이름을 사용해줘.

템플릿 27. 반례 찾기

아래 UE 5.6 블루프린트 설계가 실패할 수 있는 반례를 찾아줘.

설계:
[설계 설명 붙여넣기]

확인할 관점:
- 참조가 None이 되는 경우
- 플레이어가 죽거나 레벨이 전환되는 경우
- UI가 아직 생성되지 않은 경우
- 입력이 중복으로 들어오는 경우
- 네트워크 멀티플레이에서 문제가 되는 경우
- 패키징 후 에셋 참조가 깨지는 경우

출력 형식:
1. 반례
2. 왜 발생하는지
3. 재현 방법
4. 방어 로직
5. 테스트 체크리스트

학습 질문 변환 프롬프트

같은 언리얼 개념도 독자의 배경에 따라 다르게 설명해야 한다. Unity 개발자는 MonoBehaviour와 GameObject에 비유하면 빠르게 이해한다. 웹 개발자는 이벤트 핸들러, 컴포넌트, 상태 업데이트에 비유하면 좋다. Blender나 Maya 사용자에게는 씬, 오브젝트, 머티리얼, 애니메이션 관점에서 설명해야 한다.

템플릿 28. Unity 개발자 관점으로 설명

너는 Unity 개발자에게 Unreal Engine 5.6을 가르치는 멘토다.

설명할 언리얼 개념:
[예: GameMode, PlayerController, Pawn, Character, Actor Component, Blueprint Interface]

내 배경:
- Unity 3년 이상 사용
- C#과 MonoBehaviour에 익숙함
- Prefab, GameObject, Component, ScriptableObject 개념을 알고 있음

요청:
1. Unity의 비슷한 개념과 먼저 연결해줘
2. 완전히 같은 개념이 아닌 차이를 강조해줘
3. 언리얼에서 왜 이런 구조를 강제하는지 설명해줘
4. 작은 예시를 들어줘
5. Unity식으로 생각하면 실수할 지점을 알려줘

템플릿 29. 웹 개발자 관점으로 설명

너는 웹 개발자에게 Unreal Engine 5.6을 설명하는 튜터다.

설명할 개념:
[예: BeginPlay, Tick, Event Dispatcher, UMG, PlayerController]

내 배경:
- JavaScript와 React에 익숙함
- 이벤트 핸들러, 컴포넌트, 상태 관리 개념을 알고 있음
- 게임 엔진은 처음임

요청:
1. 웹 개발의 이벤트 핸들러와 컴포넌트 관점에서 비유해줘
2. BeginPlay와 Tick을 브라우저 라이프사이클에 비유해줘
3. 상태 업데이트와 UI 갱신 흐름을 비교해줘
4. 3D 게임 엔진이라서 달라지는 점을 설명해줘
5. 내가 처음에 헷갈릴 만한 용어를 쉬운 말로 풀어줘

템플릿 30. 아티스트와 디자이너 관점으로 설명

너는 Blender 사용자가 Unreal Engine 5.6을 배우도록 돕는 설명자다.

설명할 개념:
[예: Actor, Level, Material Instance, Blueprint, Sequencer]

내 배경:
- Blender에서 모델링과 머티리얼 작업 경험이 있음
- 프로그래밍은 익숙하지 않음
- 인터랙티브한 장면을 만들고 싶음

요청:
1. Blender의 Object, Collection, Material, Modifier와 비교해줘
2. 언리얼에서 Actor와 Component가 무엇인지 시각적으로 설명해줘
3. 블루프린트를 "프로그래밍"보다 "동작을 연결하는 그래프" 관점으로 설명해줘
4. 내가 바로 해볼 수 있는 작은 실습을 제안해줘
5. 프로그래밍 용어가 나오면 쉬운 말로 풀어줘

게임 안에 AI 기능을 넣는 프롬프트

여기서부터는 "AI로 개발을 돕는 것"이 아니라 "게임 안에 AI를 넣는 것"이다. 예를 들어 NPC가 플레이어와 대화하게 만들거나, 퀘스트 설명을 동적으로 생성하게 할 수 있다. Epic 커뮤니티의 Claude 연동 튜토리얼은 언리얼에서 Claude 모델을 이용해 일반 응답과 스트리밍 응답 기반 대화 시스템을 구성하는 방향을 다룬다.6

실제 게임에 AI API를 넣을 때는 기능보다 운영 문제가 먼저다. API 키를 클라이언트에 노출하지 않아야 하고, 응답 지연을 UI로 처리해야 하며, 실패 응답을 대비해야 한다. 플레이어의 대화 기록을 어디까지 저장할지도 정해야 한다.

템플릿 31. NPC 대화 시스템 설계

너는 UE 5.6 게임플레이 프로그래머이자 AI API 연동 설계자다.

목표:
NPC와 플레이어가 대화할 수 있는 AI 대화 시스템을 만들고 싶다.

게임 맥락:
- 장르: 3D 액션 어드벤처
- NPC 역할: [상점 주인 / 퀘스트 제공자 / 동료 / 적]
- 대화 UI: WBP_Dialogue
- 플레이어 입력: 텍스트 입력 또는 선택지

AI 모델:
[Claude API / ChatGPT API / 자체 서버]

요구사항:
- NPC 성격을 유지한다
- 플레이어의 최근 대화 맥락을 반영한다
- 응답이 오는 동안 로딩 표시를 보여준다
- 실패하면 기본 대사를 출력한다
- API 키는 클라이언트에 직접 넣지 않는다

답변 형식:
1. 전체 아키텍처
2. 블루프린트에서 담당할 부분
3. 서버 또는 백엔드가 담당할 부분
4. 대화 상태 저장 방식
5. 실패 응답 처리
6. 보안 체크리스트
7. 최소 프로토타입 구현 순서

템플릿 32. 표준 응답 방식과 스트리밍 방식 비교

UE 5.6에서 AI NPC 대화를 구현하려고 한다.

질문:
일반 응답 방식과 스트리밍 응답 방식 중 무엇을 선택해야 할까?

조건:
- NPC 대화 UI가 있다
- 플레이어가 입력하면 AI가 답한다
- 응답 시간이 길면 몰입감이 깨진다
- 블루프린트 중심으로 구현하고 싶다

비교 기준:
1. 구현 난이도
2. 체감 응답 속도
3. UI 처리 방식
4. 오류 처리
5. 대화 로그 저장
6. 모바일 또는 콘솔 빌드 시 주의점

마지막에는 이 책의 미니게임 프로토타입에 추천하는 방식을 하나 골라줘.

템플릿 33. AI API 보안 검토

아래는 UE 5.6 게임에서 AI API를 호출하려는 설계다. 보안 관점에서 검토해줘.

설계:
[현재 설계 붙여넣기]

특히 확인할 것:
- API 키가 클라이언트 빌드에 포함되는지
- 플레이어 입력을 그대로 모델에 보내도 되는지
- 욕설, 개인정보, 프롬프트 인젝션을 어떻게 처리할지
- 서버 비용 폭주를 막을 방법
- 네트워크 실패 시 게임이 멈추지 않는지

출력 형식:
1. 위험한 지점
2. 왜 위험한지
3. 안전한 대안
4. 프로토타입 단계에서 허용 가능한 임시 방식
5. 출시 전 반드시 바꿔야 할 방식

템플릿 34. AI NPC 대화 실패 처리

UE 5.6 AI NPC 대화 시스템에서 API 호출 실패를 처리하고 싶다.

실패 상황:
- 네트워크 연결 없음
- API 응답 지연
- 토큰 제한 초과
- 서버 오류
- 부적절한 응답 필터링

요청:
1. 각 실패 상황에서 플레이어에게 보여줄 UI 메시지
2. 블루프린트에서 처리할 상태값
3. 재시도 로직
4. 기본 대사 fallback 구조
5. 대화 로그를 망가뜨리지 않는 저장 방식
6. 테스트 시나리오

프롬프트를 프로젝트 자산으로 관리하기

프롬프트도 코드처럼 관리해야 한다. 잘 만든 프롬프트는 한 번 쓰고 버리는 문장이 아니라, 프로젝트의 생산성을 높이는 자산이다. 특히 팀 작업에서는 "누가 AI에게 물어보느냐"에 따라 결과가 달라지면 안 된다.

프로젝트 루트에 AI_PROMPTS.md 또는 CLAUDE.md 같은 파일을 두고 다음 내용을 적어두자. Claude Code 계열 도구는 프로젝트 루트의 컨텍스트 파일을 활용해 코딩 스타일, 아키텍처, 현재 작업 범위를 일관되게 반영하는 방식으로 사용할 수 있다.7

# Project AI Context

## Engine
- Unreal Engine 5.6
- Blueprint-first project
- C++ is used only when performance or engine extension is required

## Project Type
- 3D action adventure mini game
- Third Person template base

## Main Assets
- BP_PlayerCharacter
- BP_EnemyCharacter
- BP_HealthComponent
- WBP_HUD
- IMC_Default

## Conventions
- Use Enhanced Input, not legacy input
- Prefer Actor Component for reusable gameplay logic
- Prefer Blueprint Interface over excessive Cast nodes
- Avoid Event Tick unless necessary
- Every AI answer must include a test checklist

## Do Not
- Do not suggest deprecated UE4 workflows
- Do not invent nodes
- Do not modify unrelated assets
- Do not store API keys in client Blueprints

이 파일의 목적은 AI를 "매번 처음 만나는 외부인"이 아니라 "우리 프로젝트의 룰을 아는 동료"로 만드는 것이다. 물론 동료라고 해서 무조건 믿어서는 안 된다. 좋은 동료도 실수한다. 그래서 마지막에는 항상 검증 프롬프트가 필요하다.

마지막 점검: 좋은 프롬프트의 체크리스트

프롬프트를 보내기 전에 아래 질문에 답할 수 있으면 결과가 좋아진다.

  • AI에게 역할을 분명히 지정했는가?

  • Unreal Engine 버전을 명시했는가?

  • 현재 프로젝트 맥락을 설명했는가?

  • 어떤 시스템을 사용할지 지정했는가?

  • 원하는 답변 형식을 정했는가?

  • 검증 기준을 포함했는가?

  • 실패 사례와 테스트 체크리스트를 요청했는가?

  • 웹 질문용인지 에디터 실행용인지 구분했는가?

  • AI가 수정해도 되는 에셋과 수정하면 안 되는 에셋을 구분했는가?

  • 답변을 다시 검토할 교차확인 프롬프트를 준비했는가?

언리얼은 크고 복잡한 엔진이다. AI는 그 복잡함을 줄여주지만, 없애주지는 않는다. 결국 당신이 해야 할 일은 AI에게 일을 "던지는 것"이 아니라, AI가 안전하게 일할 수 있는 레일을 깔아주는 것이다. 좋은 프롬프트는 그 레일이다. 레일이 정확하면 AI는 빠르게 달리고, 레일이 흐릿하면 그럴듯한 방향으로 탈선한다.

이제 남은 일은 간단하다. 위 템플릿 중 하나를 복사하고, 대괄호 안을 당신의 프로젝트 상황으로 바꾸고, 답변을 받은 뒤 에디터에서 검증하라. 그렇게 한 기능씩 완성하다 보면 어느 순간 언리얼은 더 이상 낯선 거대한 엔진이 아니라, AI와 함께 조립해 나갈 수 있는 친숙한 작업장이 되어 있을 것이다.

참고

1UnrealClaude GitHub 저장소

2Blueprint Stack Documentation

3soft-ue-cli GitHub 저장소

4BP2AI Plugin 소개

5Blueprint Debugging Example in Unreal Engine

6Claude Anthropic AI Integration in Unreal Engine

7Why Claude for Game Development Is Superior

책 목록

클로드와 함께 배우는 언리얼 엔진 5: Unity 개발자를 위한 AI 페어 프로그래밍 입문

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기