00 / ARRIVAL
3교시의 도착점
목표는 고정하고 구현 경로는 선택합니다. 연결 성공 자체가 아니라 관찰과 실행의 정확성, 원상복구와 증거의 완결성을 평가합니다.
- 01
수동 baseline을 먼저 만들고 작업 경로와 실제 tool version을 선언합니다.
- 02
Console과 Player Component를 읽어 Unity 화면의 사실과 대조합니다.
- 03
AutomationProbe.Position.x하나만 0 → 1 → 0으로 실행·복구합니다. - 04
자동화 계약, log, redacted evidence와 8 / 8 PASS를 남깁니다.
01 / MISSION CONTRACT
한 값을 바꾸고, 아무것도 바뀌지 않은 상태로 끝냅니다
이번 미션의 결과물은 새로운 기능이나 Scene이 아니라 검증 가능한 자동화 보고서입니다. 최종 Unity project는 시작 baseline과 같아야 합니다.
수동 baseline 1개 + read-only evidence 2개 + 권한 계약 1개 + Probe X 0 → 1 → 0 + 새 Console Error 0 + redacted log·영상·CSV + 8 / 8 PASS.
- 대상
- Unity Console
- 기록
- Error·Warning count와 한 줄 요약
- 검증
- 수동 Console과 항목별 일치, project diff 0
- 대상
- active Scene의 정확히 하나인
Player - 기록
- GameObject path와 Component 이름 목록
- 검증
- Inspector와 순서·이름 대조, project diff 0
- 대상
AutomationProbe.Transform- 허용
- Position X만 0 → 1로 한 번
- 금지
- Y·Z, Rotation, Scale, 다른 object·file·setting
- 복구
- Position X 1 → 0, 전체 Transform baseline
- Console
- 새 Error·Warning 없음
- project
- 예상하지 않은 Scene·file diff 없음
복제본과 수동 기록이 없으면 시작하지 않습니다
자동화 도구를 열기 전에 사람이 Unity 화면을 확인합니다. 시작 상태가 모호하면 실행 뒤 차이를 증명할 수 없습니다.
- S01 / COPY복제본 열기
수업에서 제공한
Week12_AutomationLab복제본을 열고 원본 project는 닫습니다. - S02 / EDITOR한 Editor만
다른 Unity Editor와 agent session을 종료하고 Play Mode가 아닌지 확인합니다.
- S03 / SCENEScene 저장
active Scene 이름, root GameObject count와 미저장 표시가 없음을 기록합니다.
- S04 / TARGET두 대상 확인
Player와AutomationProbe가 각각 정확히 하나인지 확인합니다. - S05 / CONSOLEcount 기록
Console의 Error, Warning, Log count를 수동으로 기록하고 새 message 기준점을 잡습니다.
12주차 자동화 보고서 starter
README, 권한 계약·자동화 로그 template, 검증 CSV와 교육용 status·pipeline·MCP fixture가 들어 있습니다. fixture는 실제 환경 출력이 아니라 판독 연습용 sample입니다.
가능한 가장 단순한 경로를 하나 선택합니다
중간에 연결을 고치느라 5분 이상 멈추지 않습니다. 막히면 다음 경로로 내려가되, log에 전환 시점과 이유를 한 줄 남깁니다.
MCP + Unity CLI
MCP로 Console·Player를 읽고 Probe X를 한 번 바꿉니다. CLI로 version, status와 pipeline list evidence를 남깁니다. Undo와 수동 확인은 반드시 직접 수행합니다.
CLI + 수동 Unity
CLI status·pipeline evidence를 남기고 Console·Component는 직접 읽습니다. Probe는 Inspector에서 수동 변경·Undo하여 같은 권한 계약과 diff 표를 완성합니다.
fixture + 수동 Unity
starter의 sample JSON·MCP report를 판독하고 실제 Unity에서는 baseline, Console, Inspector, Probe 0 → 1 → 0을 직접 확인합니다. 같은 8개 테스트를 사용합니다.
04 / 60-MINUTE WORKFLOW
클릭 순서 대신 중간 도착점을 확인합니다
각 단계의 끝에서 파일과 Unity 상태를 확인합니다. 앞 단계의 증거가 없으면 다음 단계로 넘어가지 않습니다.
Automation Readiness Report
Individual / goal-directed
- M1 · checkpoint와 경로
복제본, 한 Editor, active Scene, 두 target, Console count를 기록하고 Route A·B·C 중 하나를 선언합니다.
- M2 · 연결 evidence
현재 version·help와 status·pipeline 결과 또는 fixture를 읽고 의도한 project와 성공·오류 필드를 표시합니다.
- M3 · 읽기 두 가지
Console report와 Player Component inventory를 만들고 수동 Unity 화면과 대조합니다. project diff는 0이어야 합니다.
- M4 · 쓰기 계약
대상, 허용 도구·property, 0 → 1 예상 diff, 금지 범위와 중단·rollback을 작성하고 영상에 보일 창에서 비밀 정보를 닫습니다.
- M5 · 한 번 실행
저장된 baseline과 read evidence를 화면에 둔 뒤 첫 쓰기 전에 녹화를 시작합니다. Probe X만 1로 바꾸고 Inspector·Console·Hierarchy에서 실제 차이를 확인합니다.
- M6 · rollback
Undo 또는 X=0 복원 뒤 시작과 같은 항목을 다시 읽습니다. baseline과 Console의 rollback 확인 뒤 녹화를 종료합니다.
- M7 · 8개 테스트
FAIL을 숨기지 않고 관찰·수정 기록을 남긴 뒤 가장 가까운 단계만 수정해 재검사합니다.
- M8 · 증거 묶기
이미 만든 Markdown, CSV와 45–60초 evidence video를 다시 열어 비밀 정보와 파일명을 검사하고 제출 묶음으로 저장합니다.
실행 가능한 문장은 동시에 중단 가능한 문장입니다
아래 여섯 칸을 자신의 관찰값으로 채웁니다. Route B·C도 같은 계약을 쓰고 수동 Inspector 실행을 tool로 기록합니다.
- Project
Week12_AutomationLababsolute path- Scene
- 현재 active Scene 이름
- Object
- 정확히 하나인
AutomationProbe
- property
Transform.Position.x- before
- 0이며 Inspector와 read 결과 일치
- after
- 1, Y·Z와 나머지 상태는 동일
- Route A
- Transform read와 X set tool만
- Route B·C
- Inspector Position X field와 Undo만
- 횟수
- 변경 한 번, rollback 한 번
- Scene
- 다른 GameObject·Component 생성·삭제·수정
- Project
- Script·Prefab·Package·Settings·build
- secret
- key·token·계정·개인 식별 경로 기록
- target
- 없음·중복·다른 Scene·before 불일치
- diff
- X 외 다른 상태가 바뀜
- error
- 새 Console Error·Warning 또는 tool 실패
- 방법
- Unity Undo 또는 명시적 X=0
- 재검사
- Transform, Console, Scene·file 상태
- 완료
- baseline 표와 항목별 일치
화면 캡처보다 비교 가능한 관찰을 남깁니다
증거는 많을수록 좋은 것이 아니라 동일한 항목의 before, after와 rollback이 이어질 때 유효합니다.
week12_학번_이름_report.md
경로, 환경 version, baseline, Console·Player read 대조, 권한 계약, before·after·rollback 표와 최종 판정을 기록합니다.
week12_학번_이름_automation-log.md
시간순 MCP prompt·tool 또는 CLI command·exit code·fixture 판독·수동 행동과 경로 전환 이유를 기록합니다.
week12_학번_이름_test.csv
이 페이지의 T01–T08 판정과 FAIL 뒤 수정·재검사 기록을 저장합니다.
week12_학번_이름_evidence.mp4
45–60초 안에 baseline, 두 read 대조, X=1, rollback X=0, Console 최종 상태를 한 흐름으로 보여 줍니다.
evidence/
version·status, Console, Player Inspector, Probe before·after·rollback의 필요한 화면만 넣고 key·token·계정과 불필요한 개인 경로는 가립니다.
Week12_학번_이름
시작 baseline과 같은 Scene·Transform·Console 상태입니다. Probe X=1이나 미저장 Scene을 제출하지 않습니다.
07 / REQUIRED TESTS
필수 테스트 8개가 완료 조건입니다
FAIL은 정상적인 관찰 결과입니다. 이유와 수정 위치를 적고 가장 가까운 단계로 돌아가 같은 조건에서 다시 실행합니다.
| ID | 조작·조건 | 기대 결과 | 판정 | 관찰·수정 기록 |
|---|---|---|---|---|
| T01 | 자동화 도구를 열기 전 project 복제본과 수동 baseline을 확인 | 선택 Route, Editor·package·CLI version 또는 fixture version, active Scene, root count, Player·Probe 각 1개, Probe Transform과 Console count가 report에 있음 | ||
| T02 | unity --help, status·pipeline 또는 제공 fixture의 JSON·exit 정보를 판독 | 명령·version·success, target project path, errors·warnings와 exit code를 구분하며 실제 project 또는 fixture임을 명시하고 key·token이 없음 | ||
| T03 | Console을 MCP read 또는 수동·fixture 조합으로 읽고 실제 Console과 비교 | Error·Warning count와 요약이 수동 화면과 일치하고 Scene·file·Hierarchy 변경 0이며 불일치가 있으면 FAIL로 기록됨 | ||
| T04 | active Scene의 정확한 Player path와 Component 목록을 읽고 Inspector와 비교 | 대상 수 1, path와 Component 이름이 수동 Inspector와 일치하고 project 변경 0이며 모호하면 쓰기 전에 중단함 | ||
| T05 | AutomationProbe 쓰기 전에 권한 계약 여섯 항목을 확인 | project·Scene·target, X 0 → 1, 허용 tool·횟수, 금지 범위, 중단 조건과 X 1 → 0 rollback·재검사가 구체적으로 적힘 | ||
| T06 | 선택 Route로 Probe Position X를 0에서 1로 정확히 한 번 변경 | after에서 X만 1이고 Y·Z, Rotation, Scale, 다른 object·Component·file·setting은 baseline과 같으며 새 Console Error·Warning 0 | ||
| T07 | Undo 또는 승인된 방법으로 X를 1에서 0으로 복구하고 baseline 항목을 재검사 | Probe 전체 Transform, Scene·root count, Console count와 project diff가 T01 baseline과 일치하고 미저장·잔여 변경이 없음 | ||
| T08 | report, automation log, 45–60초 video, evidence와 test CSV를 다시 열고 보안 검사 | 정확한 파일명, Route·시간순 명령·판정·FAIL 수정, before·after·rollback이 이어지며 API key·token·계정·불필요한 개인 정보가 없음 |
판정과 관찰 기록만 이 브라우저에 자동 저장됩니다. 학번과 이름은 저장하지 않습니다.
자동화 실패는 연결부터 쓰기까지 역순으로 찾지 않습니다
처음 어긋난 관찰 단계로 돌아갑니다. 이미 맞는 Package·계정·Project 전체를 다시 설정하지 않습니다.
MCP client가 Pending Connection에 나타나지 않습니다
Bridge Running, client 설정과 relay absolute path를 한 번 확인합니다. 5분 안에 해결되지 않으면 Route B 또는 C로 전환하고 시각과 이유를 log에 남깁니다. 수업 중 package를 다시 설치하지 않습니다.
unity status가 Editor를 찾지 못합니다
Unity Editor가 실행 중인지, 현재 CLI version의 help와 Pipeline 설치 상태를 확인합니다. account login이 필요하거나 연결이 불안정하면 fixture를 읽고 수동 Unity 관찰을 계속합니다.
여러 Editor가 보여 어느 것이 대상인지 모릅니다
명령하지 않습니다. 다른 Editor를 닫고 projectPath를 다시 읽습니다. 필요할 때는 복제본의 absolute --project-path를 사용하고 report에는 식별 정보를 줄인 경로를 기록합니다.
Console report가 실제 count와 다릅니다
Console clear·collapse·filter와 읽은 시점을 확인하고 같은 baseline에서 다시 읽습니다. 자연어 요약을 맞게 고치지 말고 불일치를 FAIL로 기록한 뒤 실제 message 목록을 근거로 수정합니다.
Player가 없거나 두 개 이상입니다
쓰기를 중단합니다. active Scene과 hierarchy path를 확인하고 정확한 대상 이름을 교수자에게 보고합니다. 모호한 대상을 임의 선택하는 것은 T04 FAIL입니다.
Probe X 외에 다른 값도 바뀌었습니다
즉시 추가 실행을 멈추고 전체 diff를 기록한 뒤 Undo 또는 checkpoint로 baseline을 복원합니다. 권한 계약의 target·property 제한이 실제 tool 호출과 맞았는지 확인합니다.
Undo 뒤 X=0인데 Scene에 미저장 표시가 남습니다
Transform, Hierarchy와 file diff를 baseline과 비교합니다. 예상하지 않은 변경이 없다면 수업 지침에 따라 baseline 상태로 저장 여부를 확인하고, 잔여 diff가 있으면 checkpoint 복제본과 대조합니다.
API key 또는 계정 정보가 캡처에 보입니다
그 파일은 제출하지 않습니다. 노출이 의심되는 key는 즉시 폐기·재발급하고 담당자에게 알립니다. 새 캡처에서는 credential UI를 닫고 필요한 Unity 상태만 좁게 기록합니다.
연결된 도구가 할 수 있는 일과 이번 미션에서 허용한 일은 다릅니다
MCP가 Script와 Scene을 바꿀 수 있어도 이번 실습의 허용 범위는 두 번의 read와 Probe X 한 값뿐입니다.
- read
- Console, Player path·Component, Probe Transform
- status
- CLI version·help·Editor·Pipeline 연결
- write
- Probe Position X 0 → 1 한 번과 rollback
- 이전
- 수동 baseline과 정확한 권한 계약
- 이후
- same-field reread, Inspector·Console 교차 확인
- 기록
- prompt·tool·command·exit·diff·rollback
- Scene
- 다른 object 생성·삭제·Component·Prefab 수정
- Project
- Script, Package, Settings, build, license 변경
- Agent
- 모호한 “문제를 모두 고쳐라”와 자율 반복 실행
- secret
- API key, access token, credential file
- account
- password, 전체 email, organization 식별 정보
- private
- 불필요한 사용자 경로·개인 project·타인의 화면
10 / SUBMISSION
baseline으로 돌아온 프로젝트와 다섯 증거를 제출합니다
최종 project에 X=1이 남아 있으면 보고서가 맞아도 완료가 아닙니다. 제출 직전에 T01과 T07의 값을 다시 비교합니다.
Week12_학번_이름
AutomationProbe가 시작 Transform으로 복구되고 새 Console Error·예상 밖 Scene·file diff가 없습니다.
week12_학번_이름_report.md
Route, environment, baseline, 두 read 대조, 권한 계약과 before·after·rollback 판정이 있습니다.
week12_학번_이름_automation-log.md
MCP·CLI 또는 수동·fixture 행동을 시간순으로 기록하고 비밀 정보를 포함하지 않습니다.
week12_학번_이름_evidence.mp4
45–60초 안에 baseline, read evidence, X=1, X=0과 최종 Console을 보여 줍니다.
week12_학번_이름_test.csv
이 페이지에서 저장한 T01–T08 PASS와 관찰·수정 기록입니다.
제출 전 마지막 확인
11 / PRIMARY SOURCES
막힐 때 확인할 Unity 공식 자료
기능 이름과 명령 옵션이 다르면 추측하지 않습니다. 설치된 version의 --help와 공식 문서를 확인하고, 해결이 오래 걸리면 fixture 경로로 전환합니다.
- Unity MCP Server 시작하기 ↗Bridge, client 승인·revoke, connected tools와 Console 읽기
- Unity AI Gateway 시작하기 ↗provider, agent, API key와 접근 사전 조건
- Unity CLI reference ↗status, pipeline, command, mcp, structured output와 exit code
- Unity Pipeline package ↗연결된 Editor 목록과 project path 지정
- Unity AI 기능과 이용 안내 ↗현재 기능 범위, project 연결과 이용자 책임 확인