00 / ARRIVAL
1교시의 도착점
명령을 많이 외우는 시간이 아닙니다. 자동화가 어느 층에서 무엇을 바꾸는지 설명하고, 실행 전에 허용 범위와 증거를 정할 수 있게 합니다.
- 01
AI Gateway, MCP, Unity CLI, Pipeline을 연결 대상과 책임으로 구분합니다.
- 02
읽기, 제한된 쓰기, 금지 작업을 영향 범위와 되돌릴 수 있는 정도로 분류합니다.
- 03
대상·허용 도구·예상 차이·금지 사항·복구를 담은 권한 계약을 설명합니다.
- 04
자연어 자동화와 결정론적 자동화를 입력, 실행 경로, 출력과 검증으로 비교합니다.
60분의 설명 흐름
11주차의 파일 단위 변경 계약을 Unity Editor 바깥의 연결과 명령까지 확장합니다.
도구 이름에서 통제 구조로
Lecture / professor-led
- 11주차 계약 회수
Agent가 두 Script만 바꾸도록 제한했던 이유를 되짚고, Editor 전체를 다루는 연결에서는 경계가 왜 더 중요해지는지 묻습니다.
- 네 제어면 구분
Gateway, MCP, CLI와 Pipeline이 무엇을 연결하고 어떤 입력을 받으며 어떤 상태를 바꿀 수 있는지 비교합니다.
- 읽기와 쓰기 경계
Console 읽기부터 GameObject 삭제까지 사례를 영향 범위, 승인과 복구 가능성으로 분류합니다.
- 권한 계약
대상, 허용 도구, 예상되는 단 하나의 차이, 금지 작업과 중단·복구 조건을 한 문장으로 묶습니다.
- 결정론과 증거
CLI의 같은 명령·같은 인수와 MCP의 자연어 요청을 비교하고, 어느 쪽도 수동 확인 없이 완료가 되지 않음을 확인합니다.
- 계정과 자격 증명
API key를 Project, Script, Scene, 로그와 화면 녹화에 남기지 않는 원칙과 공용 PC의 revoke·logout을 설명합니다.
- 회수 질문
네 도구의 역할, 쓰기 승인 조건과 실행 뒤 남겨야 할 증거를 화면 없이 복원합니다.
코드 변경 계약을 Editor 제어 계약으로 넓힙니다
11주차에는 허용 파일을 잠갔습니다. 12주차에는 파일뿐 아니라 Scene, Console, Component와 실행 중인 Editor까지 관찰 대상과 변경 대상을 명시합니다.
무슨 파일을 왜 바꾸는가
Ask → Plan → 승인 → 제한된 Agent → diff → Play Mode의 순서로 Script 두 개 안에서 기능 하나를 수정했습니다.
어느 통로로 무엇을 제어하는가
연결 클라이언트, 허용된 도구, 정확한 대상과 예상 상태 차이를 잠그고 실행 뒤 같은 정보를 다시 읽어 증명합니다.
03 / FOUR CONTROL SURFACES
비슷해 보이는 네 이름은 서로 다른 층입니다
도구를 제품 이름으로 외우면 연결 오류와 권한 오류를 섞게 됩니다. 무엇과 무엇 사이에 놓이는지 먼저 봅니다.
모델로 가는 경로
Unity Assistant의 요청을 외부 agent 또는 model provider로 전달합니다. provider 선택과 API key 같은 자격 증명은 이 층에서 다룹니다.
질문 / 누가 응답을 생성하는가?도구로 가는 다리
외부 MCP client가 실행 중인 Unity Editor의 Console, Scene, GameObject, Script와 Component를 구조화된 tool로 읽거나 바꾸게 합니다.
질문 / 어떤 도구 사용을 허용하는가?반복 가능한 명령
Editor 설치·프로젝트·인증·연결 상태와 작업을 터미널 명령, 명시적 인수, 구조화된 출력과 exit code로 다룹니다. 현재 문서상 experimental입니다.
질문 / 같은 입력이 같은 절차를 재현하는가?로컬 Editor 연결
Unity CLI가 실행 중인 Editor를 로컬 HTTP API로 제어하도록 잇는 package입니다. 여러 Editor가 열려 있으면 project path로 대상을 특정해야 합니다.
질문 / 어느 Editor에 명령하는가?작업은 이름이 아니라 영향으로 분류합니다
“작은 명령”이라는 표현은 안전 기준이 아닙니다. 프로젝트 상태를 바꾸는가, 범위를 셀 수 있는가, 즉시 되돌릴 수 있는가를 확인합니다.
| 수준 | 수업 사례 | 실행 전 조건 | 실행 뒤 증거 |
|---|---|---|---|
| READ / 관찰 | Console warning·error 수, active Scene 이름, 특정 GameObject의 Component 목록, CLI 연결 상태 읽기 | 대상과 출력 범위를 명시하고 “수정하지 말 것”을 함께 선언 | 수동으로 연 Console·Inspector·Editor 상태와 결과가 일치 |
| WRITE / 제한 실행 | 미리 만든 AutomationProbe의 Position X를 0에서 1로 한 번 변경 | 정확한 object·property·before·after, 금지 작업, 승인과 rollback 계획 | 관찰 가능한 차이가 X 하나뿐이며 Undo 뒤 baseline과 완전히 일치 |
| BLOCK / 금지 | GameObject 삭제, Package 설치, 대량 Scene 수정, Build target·license·credential 변경 | 12주차 실습에서는 승인하지 않음. 필요하면 별도 checkpoint와 교수자 계획으로 분리 | 실행하지 않았다는 로그와 프로젝트 무변경 상태 |
05 / AUTHORIZATION CONTRACT
쓰기 전에 다섯 문장을 잠급니다
좋은 요청은 긴 설명이 아니라 변경 경계를 검사할 수 있는 계약입니다. 한 칸이라도 비면 실행하지 않습니다.
- 01 / TARGET대상
Week12_AutomationLabScene의AutomationProbe처럼 하나의 대상을 정확히 지목합니다. - 02 / TOOL허용 도구
Console read, GameObject inspect, Transform set처럼 사용할 tool과 read/write 수준을 적습니다.
- 03 / EXPECTED DIFF예상 차이
Position X: 0 → 1처럼 실행 뒤 달라져야 할 상태를 하나로 씁니다. - 04 / PROHIBITED금지 작업
다른 object·axis·component·file·package·settings·credential은 읽거나 바꾸지 않도록 잠급니다.
- 05 / STOP & ROLLBACK중단과 복구
추가 변경·Console Error·대상 불일치가 보이면 중단하고 Undo 또는 checkpoint로 기준 상태를 복원합니다.
자연어와 명령은 서로 다른 불확실성을 가집니다
MCP가 구조화된 tool을 쓰더라도 자연어 요청의 해석과 tool 선택은 달라질 수 있습니다. CLI는 명령과 인수를 고정할 수 있지만 환경·버전·연결 상태가 결과에 영향을 줍니다.
- 강점
- 상황을 읽고 여러 구조화된 tool을 연결해 설명할 수 있음
- 변동
- 요청 해석, tool 선택, 호출 순서와 응답 표현
- 증거
- prompt, 호출한 tool, 대상, 전후 상태와 수동 확인
- 강점
- 명령, 옵션, project path와 출력 형식을 기록·반복하기 쉬움
- 변동
- 설치 버전, 인증, Editor·Pipeline 상태와 service availability
- 증거
- 명령 원문, stdout·stderr, JSON 결과와 exit code
- 이전
- baseline과 예상 결과를 먼저 기록
- 실행
- 가장 작은 단위로 한 번만 실행
- 이후
- 같은 정보를 다시 읽고 Unity 화면에서 수동 검증
- 금지
- 연결됨, 명령 전송됨, 응답이 유창함을 완료로 판단
- 완료
- 예상 차이만 있고 오류·회귀가 없으며 복구 가능
- 기록
- 성공뿐 아니라 중단과 FAIL 원인도 남김
자격 증명은 프로젝트 재료가 아닙니다
AI Gateway와 외부 provider를 사용할 때 API key는 연결을 위한 비밀 정보입니다. 작품과 함께 이동하거나 제출될 데이터가 아닙니다.
- Project
Assets,ProjectSettings, Script, Scene, Prefab- 기록
- prompt 전문, Console log, screenshot, screen recording, test CSV
- 공유
- Git 저장소, 메신저, LMS 제출 파일
- 입력
- Unity의 자격 증명 UI 또는 OS keychain 등 지정된 안전한 위치
- 표시
- 키 값이 아니라 provider 이름과 설정 완료 여부만 기록
- 비용
- 개인 결제·trial·API key를 실습 통과 조건으로 요구하지 않음
- 시작
- 개인 계정의 자동 로그인과 화면 공유 범위를 확인
- 종료
- MCP client access revoke, provider logout, credential 삭제
- 분실
- 노출이 의심되면 즉시 key 폐기·재발급 후 담당자에게 알림
- 연결 가능
- 읽기 중심 MCP·CLI 경로 사용
- 부분 연결
- CLI 또는 수동 Inspector로 같은 증거 생성
- 오프라인
- 제공 fixture와 수동 Unity 관찰로 같은 기준 통과
08 / PROFESSOR PREFLIGHT
수업 전에 환경을 고정하고 대체 경로를 엽니다
연결 설치를 수업 중 함께 시작하면 학습 목표가 계정 복구와 재컴파일 대기로 바뀝니다. 교수자가 준비하고 학생은 통제와 검증을 연습합니다.
- P01 / VERSION버전 기록
Unity Editor, Assistant package와 Unity CLI의 실제 버전을 기록하고 각
--help출력을 보관합니다. - P02 / PROJECTcheckpoint 복제
Week12_AutomationLab복사본과 Position X가 0인 빈AutomationProbe를 준비합니다. - P03 / CONNECTIONBridge·Pipeline 확인
한 개 Editor만 열고 승인 client,
unity status와unity pipeline list가 의도한 project를 가리키는지 확인합니다. - P04 / FIXTURE오프라인 증거
같은 Scene을 기준으로 만든 status, pipeline, Console sample을 starter ZIP에 넣고 실제 출력이 아님을 표시합니다.
- P05 / RESET원상복구 리허설
probe 0 → 1 → 0, Console Error 0과 Scene 무변경을 확인하고 client access revoke와 logout 절차를 시연합니다.
연결 버튼을 누르기 전 네 질문
먼저 답하고 펼쳐 확인합니다. 제품 이름 대신 연결 대상, 권한과 증거를 말할 수 있어야 합니다.
Q1. AI Gateway와 MCP의 가장 큰 차이는 무엇인가?
Gateway는 Assistant 요청을 외부 agent·model provider로 전달하는 경로이고, MCP는 외부 client가 Unity Editor의 구조화된 tool을 사용하게 하는 다리입니다. 모델 선택과 Editor 도구 권한은 서로 다른 층입니다.
Q2. 연결 승인을 받았는데 왜 쓰기 승인이 또 필요한가?
연결 승인은 client가 Bridge에 접근할 수 있다는 뜻입니다. 특정 Scene·GameObject·속성을 바꿔도 된다는 작업별 허가가 아니므로 대상, 예상 차이와 복구 조건을 별도로 승인해야 합니다.
Q3. CLI가 결정론적이면 출력만 믿어도 되는가?
아닙니다. 명령 절차는 기록하기 쉽지만 잘못된 project path, 연결 상태와 버전 차이는 그대로 존재합니다. JSON·exit code와 함께 Unity의 실제 Console·Inspector 상태를 확인합니다.
Q4. API key와 접속 가능 여부는 어떻게 평가하는가?
API key는 제출하거나 화면에 보이지 않습니다. 개인 계정·유료 access도 통과 조건이 아닙니다. 연결 경로, 부분 연결 경로와 fixture 경로가 같은 권한 계약·검증표를 완성하면 같은 기준으로 평가합니다.
연결됨은 작업별 ______을 뜻하지 않습니다.
쓰기 전에는 대상, 도구, 예상 차이, 금지 작업과 ______를 잠급니다.
자동 출력은 Unity의 실제 상태에서 ______해야 완료가 됩니다.
10 / PRIMARY SOURCES
수업 당일 다시 확인할 Unity 공식 자료
MCP, Gateway와 CLI는 변화 중인 기능입니다. 이 페이지의 원칙은 유지하되 명령·접근 조건은 설치 버전의 help와 공식 문서를 우선합니다.
- Unity MCP Server 시작하기 ↗Bridge, relay, client 승인, connected tools와 Console 읽기
- Unity AI Gateway 시작하기 ↗외부 agent·provider, API key와 Gateway 설정
- Unity CLI 개요 ↗experimental 상태, Editor·project 관리와 Pipeline 연결
- Unity CLI command reference ↗현재 명령, JSON 출력, exit code와 설치 버전의 help 우선 원칙
- Unity Pipeline package ↗실행 중인 Editor를 제어하는 local HTTP API와 연결 확인