
💡 3줄 요약
Unreal Engine 개발 생산성을 높이기 위해, 로컬 LLM을 기반으로 에디터를 직접 제어하는 'AI 에이전트' 프로젝트를 시작했습니다.
Ollama로 LLM을 구동하고, ChromaDB로 RAG의 지식 베이스를 구축하며, FastAPI를 언리얼에 내장시켜 이 모든 것을 연결하는 아키텍처를 설계했습니다.
이 시스템을 통해 자연어 명령만으로 언리얼 에디터의 오브젝트를 생성하거나 코드를 실행하는 '미래의 개발 환경'을 구축하고자 합니다.
Unreal Engine의 방대한 기능 앞에서, 우리는 종종 "그 기능 어디 있더라?" 하며 문서와 웹을 헤매는 데 많은 시간을 소비합니다. 저는 이 과정을 단축하고 개발에만 집중하고 싶었습니다.
단순히 질문에 답하는 챗봇을 넘어, 내 컴퓨터의 문서와 노트를 기반으로 답을 찾고(RAG), 그 답을 바탕으로 언리얼 에디터에 직접 명령을 내리는(Agent) 시스템을 구상하게 되었습니다.
"파란색 머티리얼을 가진 큐브 하나 만들어줘."
이런 자연어 한마디가 실제 에디터에 반영되는 것, 이것이 이 프로젝트의 최종 목표입니다.
UI(인터페이스)는 아직 미정이지만, 그를 제외한 핵심 백엔드와 에이전트 시스템의 전체 흐름은 다음과 같이 설계했습니다.
1. Client: 사용자가 명령을 입력하는 인터페이스입니다. (현재는 테스트용 스크립트로 대체)
2. FastAPI Server in Unreal: UnrealGenAISupport 플러그인에서 영감을 얻어, 언리얼 파이썬 플러그인 환경에서 FastAPI 웹 서버를 실행합니다. 외부의 HTTP 요청을 받는 관문 역할을 합니다.
3. ChromaDB: 로컬 벡터 데이터베이스입니다. 언리얼 문서, 개인 노트 등을 벡터로 변환하여 저장합니다. (RAG의 'Retrieval' 담당)
4. Ollama: 로컬 LLM 서버입니다. ChromaDB에서 검색된 관련 정보를 바탕으로 사용자의 명령을 해석하고, 실행 가능한 Python 코드를 생성합니다. (RAG의 'Generation' 담당)
5. Unreal Python API: Ollama가 생성한 코드를 실제로 언리얼 에디터에서 실행하여 액터를 생성하거나 프로퍼티를 변경합니다. (Agent의 'Execution' 담당)

Ollama, ChromaDB, EEVE (Korean LLM Model)FastAPIPython Editor Script Plugin이 아키텍처를 구현하기 위해 다음과 같은 기술적 과제들을 해결해야 합니다.
/ask, /execute 등)를 어떻게 설계할지, 그리고 외부에서 아무나 내 언리얼 에디터를 조종할 수 없도록 간단한 인증(API Key 등)을 어떻게 추가할지 고민해야 합니다.이번 설계를 통해, 단순히 아이디어를 구상하는 것을 넘어 실제 구현 가능한 청사진을 그리는 경험을 했습니다. 특히 UnrealGenAISupport와 같은 오픈소스 레퍼런스를 분석하고, ChromaDB와 같은 구체적인 기술을 선택하며 프로젝트의 실현 가능성을 크게 높일 수 있었습니다.
이제 탄탄한 설계도를 바탕으로, 실제 구현에 착수합니다.
ChromaDB에 저장하고, FastAPI 엔드포인트를 통해 해당 내용을 검색해오는 기능을 구현합니다.참고한 오픈소스 프로젝트: prajwalshettydev/UnrealGenAISupport
"AI로 내 개발 환경을 직접 조작하는 상상, 이제 코드로 현실로 만들어볼 시간입니다. 앞으로의 개발 과정도 꾸준히 기록하며 공유하겠습니다."