EngineMigrator작업 결과EngineMigrator — 외부 의존성 직접 동의와 사전 진단 업그레이드
구현·빌드·엔진 없는 검증·배포 완료플러그인 후보 목록과 네·아니오 직접 선택, 변경 감지, 코드 사전 진단, 값 타입 조건식 변환을 배포했습니다.
현재 상태
- 이번 업그레이드의 구현·빌드·필수 엔진 없는 검사와 로컬 배포본 생성은 완료했습니다.
- Unity·Unreal을 이번 작업에서 실행하지 않았습니다. 새 버전의 실제 엔진 왕복 실행은 미검증입니다.
- 전체 게임·모든 API·모든 엔진 버전의 자동 포팅이 완료됐다는 뜻은 아닙니다. 지속 개발 목표를 새로 만들거나 무기한 개발을 재개하지 않았습니다.
외부 플러그인 처리
- 장면·리소스 포팅, 부분 코드 생성, MonoBehaviour/Actor 클래스 작업, Blueprint 함수 작업에서 원본·대상 의존성을 먼저 확인합니다.
- Unity manifest와 lock의 직접·간접 패키지, 내장·캐시 패키지, Assets/Plugins, 네이티브 바이너리·플랫폼 번들·라이선스 문서 후보를 표시합니다. Unreal 프로젝트 플러그인, 활성 선언 및 Source/ThirdParty 후보도 확인합니다.
- 목록과 경고를 읽고 사용자가 직접 ‘네 — 이번 작업 진행’을 선택해야 진행합니다. 기본 선택은 아니오이며 Enter로 자동 동의하지 않습니다. 동의를 기억하는 ‘항상 허용’ 기능은 없습니다.
- ‘아니오’, Esc, 창 닫기는 전체 작업 중단입니다. 의존성을 임의로 삭제하거나 누락 참조가 있는 결과를 성공 처리하지 않습니다. 필요한 의존성이 없으면 실행할 수 없으므로 사용자가 원본의 의존성을 정리하거나 대체 구현을 준비한 뒤 재검사해야 합니다.
- 동의는 기술적인 변환 지원이나 라이선스 허가·재배포 권한을 판정한 것이 아닙니다. 기존 미지원 코드·컴포넌트 검사는 계속 차단합니다.
- 의존성 설명자·버전·소스·바이너리·패키지 캐시 내용을 SHA-256으로 묶습니다. 동의 후 바뀌면 중단하고 재검토를 요구합니다. 복사본의 의존성도 엔진 실행 전에 검토한 지문과 비교합니다.
- 절대 경로·프로젝트 외부 로컬 패키지와 외부 Unreal 플러그인 탐색 경로는 독립 복사본에서 안전하게 해석하는 기능이 없어 동의해도 중단합니다.
- 작업 폴더의 dependency-review.json에 이번 결정과 목록을 기록합니다. 이 파일은 이후 작업의 재사용 승인서로 사용하지 않습니다.
- CLI는 대화형 콘솔에서 직접 ‘네’를 입력하도록 합니다. 입력 리디렉션으로 네를 주입하는 자동 동의는 차단하며, 읽기 전용 dependencies 명령으로 목록을 먼저 확인할 수 있습니다. 개별 파일만 받는 변환 명령은 프로젝트 전체 의존성 검사와 구분됩니다.
함께 개선한 포팅 기능
- 프로젝트 사전 검사와 HTML/JSON 검사 결과에 실제 Actor 코드 생성기를 이용한 런타임 C# 지원 진단을 추가했습니다.
- 지원하지 않는 API나 문법은 생성기 진단으로 표시합니다. 이 정적 검사는 실제 엔진 실행·장면 참조·전체 프로젝트 지원을 보장하지 않습니다.
- Vector3·Quaternion 결과를 선택하는 조건식 변환을 추가했습니다. 중첩 분기와 선택한 분기의 호출만 실행되는 동작을 비교했습니다.
- 새 배포본이 일반 정리 스크립트에서 삭제되지 않도록 최신 배포본·직전 배포본 보존 목록을 갱신했습니다. 정리 스크립트를 실제 실행하지는 않았습니다.
검증 근거
- 내부 검사 403개 통과: artifacts/dependency-upgrade-release-checks.log.
- 동의 없음·아니오·패키지 버전 변경·소스 변경·캐시 변경·복사본 변경·잘못된 manifest·절대/외부 로컬 패키지·취소를 검사했습니다. 거절 시 엔진 실행 및 출력 프로젝트 생성 전에 중단되는 것을 확인했습니다.
- 원본/대상의 플러그인, 역방향 프로젝트 역할, 내장·간접·캐시 패키지와 번들 탐지를 합성 파일로 검증했습니다.
- 실제 CLI 프로세스에서 리디렉션된 ‘네’ 입력을 거부하고 출력 폴더가 생성되지 않는 것을 확인했습니다: artifacts/dependency-upgrade-check/cli-verification.json.
- 원본·복원 C#을 실행하고 실제 생성 C++ 메서드 본문을 MSVC /W4 /WX /fp:strict로 컴파일·실행했습니다. 두 분기·중첩 분기·모든 값 성분·부작용 횟수가 일치했습니다. C++ 값 저장 구조는 독립 대역이며 Unreal Transform/GC 실행 검증이 아닙니다: artifacts/value-conditional-check.
- 경고창은 80개 합성 항목으로 화면을 띄우지 않고 렌더링했습니다. 목록·경고·기본 아니오·AcceptButton 없음·네/아니오 결과 속성을 확인했습니다. 실제 모달 창의 마우스 클릭은 자동화하지 않았습니다: artifacts/dependency-upgrade-check/consent-dialog.png 및 ui-verification.txt.
- 앱·CLI 빌드 통과. 배포 앱의 자체 검사 실행 통과. 테스트·CLI·배포 Core DLL의 SHA-256 동일성을 확인했습니다.
- 런타임을 포함한 배포 파일 370개와 ZIP 전체 항목의 SHA-256·CRC를 대조했습니다. 두 기존 Unreal BuildId 브리지 DLL을 보존했습니다: artifacts/dependency-upgrade-check/release-verification.json.
- 컴퓨터 유즈·Unity·Unreal·UAC·방화벽 정책 변경은 수행하지 않았습니다. .engine-execution-blocked를 유지했습니다.
사용 방법
- 새 실행 파일: C:/Projects/EngineMigrator/artifacts/EngineMigrator-dependency-review-preview-20261029/EngineMigrator.App.exe.
- 배포 시 exe만 옮기지 말고 같은 폴더 전체 또는 ZIP을 사용하십시오. 별도 .NET 설치가 필요 없도록 런타임을 포함했습니다.
- 프로젝트 사전 검사 → 포팅 메뉴 → 의존성 경고 목록 확인 → 직접 네 또는 아니오 선택 순서로 진행합니다.
- 자세한 범위: 같은 배포 폴더의 guide.html, 마지막 외부 의존성 확인 절.
- ZIP: C:/Projects/EngineMigrator/artifacts/EngineMigrator-dependency-review-preview-20261029.zip.
- 이전 EngineMigrator-fixed-spawn-preview-20261024 배포본은 보존했습니다.
미확인·남은 사항
- 메타데이터 없는 외부 코드, 엔진 기본값에 의해 자동 활성화되는 모든 플러그인, 내려받을 때 추가되는 모든 의존성의 완전한 탐지는 보장하지 않습니다. 엔진 기본 패키지도 후보로 표시될 수 있습니다.
- 이 도구는 라이선스 적합성을 자동 판정하지 않습니다. 라이선스에 대한 법률 판단을 수행한 보고서가 아닙니다.
- 임의 플러그인의 반대 엔진 대체 구현, 모든 셰이더·Animator/스켈레탈 애니메이션·복잡한 UI·모든 Blueprint·모든 물리 상황·모든 엔진 버전의 포팅은 여전히 미완료입니다.
- 이번 버전의 실제 Unity → Unreal → Unity 실행은 미검증입니다. 기존 버전의 실제 엔진 통과 기록을 이번 버전의 실행 통과로 바꿔 표시하지 않았습니다.
- 보고서는 로컬 HTML로 생성합니다. 인터넷 공개 게시·원격 커밋·푸시는 수행하지 않았습니다.
작업 시간과 검색
- 작업 시작: 2026-10-29 17:19:35 KST.
- 제안 시간: 코드 확인·구현·필수 검사·배포까지 60~90분.
- 실제로 완료된 시간: 26분 8초, 2026-10-29 17:45:43 KST. 이 시각은 구현·검증·배포와 보고 원본 작성 완료 시각이며, 보고 사이트의 생성·검사는 이어서 수행합니다.
- XERJ: 미사용 — 연결 도구와 프로젝트 검색 스크립트가 제공되지 않아 rg·현재 소스·실행 결과로 검증했습니다.
배포 무결성
- Core SHA-256: a8b8e8115bfadae8c8fe944797ae59ac6f4647e0024b5b63b33e8e99004973a2.
- ZIP SHA-256: ce904e074456bb498820cc0caaa0b2bdb21d4a8d177290b3634f08b9a1a81b24.
Tracefolio REPORTS & ISSUES