GhostMarch_DOTS — Legacy 격리 스냅샷
1. 주요 변경사항
Assets/Scripts,Assets/Scenes,Assets/Prefabs, 기존 콘텐츠 자산을Assets/Legacy하위로 이동했다..meta와 GUID를 보존한 점은 Unity serialized 참조 유지 관점에서 올바른 선택이다.EditorBuildSettings와ProjectSettings.templateDefaultScene이 새 Legacy 씬 경로를 가리키도록 갱신됐다. 즉 현재 빌드 기준은 여전히 Legacy SampleScene이다.folder-and-asmdef-layout.md에 신규 DOTS/Runtime/ThirdParty 자산 배치 규칙이 추가됐다. 이전의 산발적 자산 배치를 막는 기준선이 생겼다.- 참조 문서 다수가
Assets/Scripts기반 설명에서Assets/Legacy/Scripts기준으로 정리됐다. deferred-review-findings.md에 루트 문서 정리, 업적 매핑, SFX 매핑 같은 후속 검증 항목이 추가됐다.
2. 코드 품질 리뷰
이번 변경은 런타임 로직 개선보다 구조 격리에 가깝다. Legacy 코드를 한곳으로 모은 결정은 긍정적이다. 왜냐하면 DOTS 재구현이 시작될 때 “현재 플레이 가능한 기준 구현”과 “새 구현”의 소유권이 분리되기 때문이다. 특히 asmdef를 Legacy에 성급히 추가하지 않겠다는 문서 판단은 현실적이다. 전역 네임스페이스, 씬 직렬화, 싱글톤 의존이 남아 있는 상태에서 assembly를 쪼개면 컴파일 장애가 대량 발생할 가능성이 높다.
다만 위험도는 낮지 않다. 803개 파일 이동은 Unity에서 GUID가 보존되면 대부분 안전하지만, 문자열 경로·Addressable key·에디터 스크립트·빌드 프로필은 GUID만으로 보호되지 않는다. 실제 diff에도 다음처럼 빌드 기준 씬이 Legacy로 이동했다.
path: Assets/Legacy/Scenes/SampleScene.unity
guid: 8c9cfa26abfee488c85f1582747f6a02
따라서 “파일 이동이 됐다”가 완료 조건이면 안 된다. Unity import, compile, Play Mode smoke test, 빌드 씬 로드 확인까지 남아 있다. 특히 DOTS 프로젝트라는 이름과 달리 현재 활성 빌드 씬은 Legacy이므로, 제출·검증 기준이 Legacy 플레이어블인지 DOTS 수직 슬라이스인지 명확히 정해야 한다.
3. 진행도 평가
이전 대비 가장 큰 전진은 문서와 폴더 경계다. Legacy를 명시적 기준선으로 격리했고, 신규 자산 배치 규칙을 세운 점은 이후 작업 충돌을 줄인다. 커밋 메시지도 docs:와 chore: 중심이라 이전의 fix/wip 문제보다 의도 추적성이 개선됐다.
반면 실제 DOTS gameplay slice 구현 진척은 거의 없다. 현재 진행도는 “전환 준비가 잘 정리되는 단계”이지 “게임 완성도가 오른 단계”는 아니다. 남은 핵심 장애물은 검증 자동화, 첫 DOTS 씬/프리팹 기준, Legacy parity 테스트다.
4. 다음 권장사항
- Legacy 이동 후 Unity import·compile·Play 검증을 실행하고 결과를 문서에 남겨라.
Assets/Scripts,Assets/Scenes,Assets/Undead Survivor문자열 참조를 전수 검색하라.- 빌드 기준을 Legacy SampleScene 유지로 둘지 DOTS 검증 씬으로 넘길지 결정하라.
- 루트
docs/*.md중docs/reference/features/와 중복되는 문서를 archive 처리하라. - Aseprite, AudioGen, TMP, ShaderGraph 자산의 출처·라이선스·사용처를 기록하라.
5. 문서화 상태
design 점수는 5다. 게임의 코어 경험, 밸런싱 의도, 플레이어 목표는 일부 문서에 흩어져 있으나, 이번 변경은 설계 문서 자체를 깊게 보강한 성격은 아니다.
technical 점수는 8이다. assembly boundary, folder layout, Legacy scope, serialized baseline 문서는 실무적으로 유용하다. 신규 참여자가 “어디를 건드리면 안 되는지” 이해할 수 있는 수준까지 올라왔다.
spec 점수는 6이다. 씬·프리팹·오디오·하드모드 토글 같은 구체 값이 늘어난 것은 좋다. 다만 업적 코드, SFX 인덱스, 자산 출처, DOTS 검증 씬 기준이 아직 표준 사양으로 닫히지 않았다.
6. Backlog
- Unity 버전·패키지 업그레이드성 변경은 앞으로도 기능 커밋과 분리해야 한다. 환경 변화와 기능 결함을 동시에 디버깅하게 되면 원인 추적 비용이 급격히 커진다.
- TMP와 ShaderGraph 리소스 변경 의도는 아직 불명확하다. 공용 렌더링 자원은 변경 근거가 없으면 회귀 원인 후보가 된다.
- Aseprite와 AudioGen 자산은 Legacy로 격리됐지만 출처와 실제 사용처가 아직 닫히지 않았다. 라이선스와 삭제 가능 여부 판단이 불가능하다.
- Legacy 이동 후 문자열 경로와 serialized 참조 회귀 테스트가 필요하다. GUID 보존만으로 모든 Unity 경로 의존을 보장할 수 없다.
- 업적 코드, 캐릭터 해금, SFX 인덱스 매핑은 문서화해야 한다. 현재는 씬 순서와 배열 인덱스에 의미가 숨어 있다.
7. 이전 Backlog 해결
- Input System 샘플 리소스 문제는 활성 UI 작업 폴더가 아니라
Assets/Legacy/Content하위 기준선으로 격리되며 관리 경계가 개선됐다. 새 자산 배치 규칙에서도 샘플 자산을 UI나 gameplay 폴더에 묻지 말라고 명시했다. - 커밋 메시지 문제는 이번 범위에서 개선됐다. 5개 커밋이
docs:와chore:중심으로 작성되어 변경 성격을 이전보다 명확히 추적할 수 있다.