Logic Driver Pro
요청만 하면 Logic Driver Pro 스테이트 머신을 만듭니다. 스테이트, 트랜지션, 컨듀잇, 조건 그래프, 레이아웃, PIE 확인까지 Logic Driver Assist를 통해 처리합니다.
Logic Driver Pro
Recursoft의 Logic Driver Pro는 많은 Unreal 프로젝트가 AI, 퀘스트, 대화, 게임플레이 흐름에 사용하는 스테이트 머신 플러그인입니다. Logic Driver 확장 기능을 사용하면 Ultimate Engine CoPilot이 그 스테이트 머신을 대신 만들어 줍니다. 에셋을 생성하고, 스테이트, 트랜지션, 컨듀잇을 추가하고, 트랜지션 조건을 작성하고, 그래프를 레이아웃하고, 컴파일한 뒤 PIE에서 확인합니다.
이 기능은 Recursoft가 Logic Driver용으로 직접 만든 저작 레이어인 **Logic Driver Assist**를 통해 동작합니다. 그래서 모든 편집은 Logic Driver 그래프 에디터에서 직접 손으로 하는 편집과 똑같습니다.
필요한 것
프로젝트의 Plugins 폴더에:
- Logic Driver Pro 2.11 이상, Recursoft 제공.
- Logic Driver Assist(
SMAssist플러그인), Recursoft 제공.
그리고 Logic Driver 확장 기능을 켠 Ultimate Engine CoPilot이 필요합니다.
Logic Driver Assist가 없어도 이 확장 기능은 아무런 해를 끼치지 않습니다. 상태 도구 하나만 추가되고 그 외에는 아무것도 바뀌지 않습니다.
설정하기
- 프로젝트에 Logic Driver Pro 2.11+ 를 설치합니다.
- 같은 프로젝트의
Plugins폴더에 Logic Driver Assist를 넣습니다. - CoPilot에서 설정 > 확장 기능을 열고 Logic Driver를 켭니다. 기본값은 꺼짐입니다.
- 에디터를 재시작합니다. 시작할 때 CoPilot이 Logic Driver Assist의 작업을 찾아 각각을 도구로 추가합니다.
- AI에게 Logic Driver 상태를 확인해 달라고 요청하세요. Logic Driver Assist를 찾았는지, 작업이 몇 개 추가되었는지 알려 주고, 빠진 것이 있으면 무엇이 빠졌는지 알려 줍니다.
요청할 수 있는 것
- “Idle, Patrol, Chase, Attack이 있는 적 AI 스테이트 머신을 만들어 줘. 플레이어가 1,500 유닛 안에 들어오면 Chase로 전환해 줘.”
- “어떤 스테이트에서든 들어갈 수 있는 Stunned 스테이트를 추가하고, 2초 후에 Idle로 돌아가게 해 줘.”
- “각 스테이트에 속도와 색상을 주고, 노드에 표시해 줘.”
- “아무것도 교차하지 않도록 이 그래프를 레이아웃하고, 스크린샷을 보여 줘.”
- “액터를 레벨에 배치하고, PIE를 시작한 다음, 어떤 스테이트에 있는지 알려 줘.”
이런 요청 뒤에서 AI는 다음을 할 수 있습니다:
- 스테이트 머신 Blueprint를 만들고 스테이트, 트랜지션, 컨듀잇, 링크 스테이트, Any State, 중첩 스테이트 머신을 추가합니다.
- 트랜지션 조건을 인라인으로 작성하거나 트랜지션 클래스를 지정합니다. 트랜지션이 매 Tick이 아니라 이벤트에서 발동하도록 만들 수도 있습니다.
- 스테이트에 자체 변수를 가진 노드 클래스를 지정하고, 각 스테이트의 값을 설정해 노드에 표시합니다.
- 액터에 스테이트 머신 컴포넌트를 추가하고 시작 시점을 설정합니다.
- 그래프를 레이아웃하고, 겹친 노드를 찾고, 그래프의 스크린샷을 찍습니다.
- 컴파일한 다음, 실행 중인 PIE 인스턴스의 활성 스테이트를 읽어 흐름이 제대로 동작함을 증명합니다.
사람이 읽을 수 있는 그래프
스테이트 머신은 읽히기 위해 존재하므로, AI는 레이아웃을 빌드의 일부로 다룹니다:
- 모든 스테이트가 연결됩니다. 머신을 시작하는 스테이트는 정확히 하나이며, 연결되지 않은 노드는 남기지 않습니다.
- 전용 폴더. 새 스테이트 머신은 깨끗한 폴더에 들어갑니다. 기존 스테이트 머신은 요청하지 않는 한 건드리지 않습니다.
- 레이아웃은 마지막에 한 번. AI는 모든 것을 추가한 뒤에 새 그래프를 레이아웃하므로, 속성에 따라 커지는 노드에도 공간이 남습니다. 스테이트를 가로지르는 엣지는 우회시킵니다.
- 가정하지 않고 확인합니다. 겹침을 찾고 그래프의 스크린샷을 찍으며, 그래프를 가로질러 되돌아가는 긴 엣지 대신 링크 스테이트와 중첩 스테이트 머신을 사용합니다.
- PIE에서 증명합니다. 깔끔하게 컴파일되었다고 해서 흐름이 맞다는 증거는 아니므로, 머신을 실행하고 활성 스테이트를 읽습니다.
권한
읽기는 자유롭습니다. 에셋, 그래프, 실행 중인 스테이트를 살펴보는 작업은 묻지 않고 실행됩니다. 모든 변경은 CoPilot의 다른 부분과 마찬가지로 먼저 확인을 요청합니다. 스테이트 제거나 클래스 교체처럼 되돌릴 수 없는 몇 가지 변경은 파괴적인 작업으로 표시됩니다.
브리지가 동작하는 방식
- 하드코딩이 아니라 탐지. CoPilot은 에디터가 시작될 때 Logic Driver Assist의 작업을 읽고, 설치된 버전에 있는 작업을 모두 추가합니다. Recursoft가 작업을 추가하거나 변경하면, CoPilot 업데이트 없이도 도구가 그에 맞춰 바뀝니다.
- 원래의 설명, 원래의 파라미터. 각 도구는 Logic Driver Assist 자체의 설명과 파라미터 목록을 그대로 가지므로, AI는 실제 인자 이름과 타입을 봅니다. 잘못된 인자로 한 호출은 그대로 전달되지 않고 올바른 인자를 담아 응답합니다.
- 어디서나 동시에. 이 도구들은 CoPilot 채팅, Claude Code나 Cursor 같은 외부 MCP 클라이언트, 그리고 코딩 에이전트에서 동작합니다. MCP 통합을 참고하세요.
- 이름. Logic Driver Assist는
ld.add_state처럼 점을 사용해 작업 이름을 짓습니다. CoPilot에서는ld_add_state,ld_add_transition,ld_compile등이 됩니다. Recursoft의 문서는 점이 들어간 이름을 사용합니다. - 플러그인 간 링크 없음. 브리지는 콘솔 명령을 통해 Logic Driver Assist와 통신하므로, 어느 플러그인도 빌드할 때 다른 플러그인에 의존하지 않으며, CoPilot은 Logic Driver 설치 여부와 관계없이 똑같이 동작합니다.
실험적 기능
Logic Driver Assist는 Recursoft가 실험적 기능으로 지정했으며, 그 작업은 아직 바뀔 수 있습니다. CoPilot은 작업을 하드코딩하지 않고 시작할 때 읽어 오므로, 확장 기능이 알아서 변화를 따라갑니다.
확장 기능이 동작하는 방식은 확장 기능을, Logic Driver 자체에 대해서는 Logic Driver 문서를 참고하세요.