Phaser 4 완전 정리 — Phaser 3와 뭐가 달라졌나?
Phaser 4의 핵심 변경사항을 Phaser 3와 비교하여 인디게임 개발자 관점에서 정리합니다. 성능, 구조, 렌더링 변화까지 한 번에 이해할 수 있습니다.
Phaser 4는 Phaser 3의 “마이너 업그레이드”가 아니다.
구조(ECS), 렌더링 파이프라인, 개발 방식이 함께 바뀌기 때문에,
무작정 버전만 올리면 거의 100% 삽질한다.
이 글은 실제 이전 작업에서 바로 쓸 수 있게, 준비 -> 이전 -> 검증 순서로 체크리스트를 정리했다.
아래에 2개 이상 해당하면 마이그레이션을 고려할 만하다.
아래에 해당하면 Phaser 3 유지가 더 낫다.
마이그레이션 전에 이 단계가 끝나지 않으면 시작하지 않는 게 좋다.
팁:

한 번에 전체 이전하지 말고, “새 코어 + 점진 이전”으로 간다.
legacy(phaser3)와 next(phaser4) 실행 엔트리를 분리했다.예시 디렉터리:
src/
game-core/ # 엔진 독립 도메인
phaser3-runtime/ # 기존 런타임
phaser4-runtime/ # 신규 런타임
shared/ # 입력/저장/사운드 어댑터
Phaser 3의 GameObject 중심 로직을 ECS로 옮길 때는 매핑표를 먼저 만든다.
Position, Velocity, Health, SpriteRef, Collider 등MovementSystem, CombatSystem, CollisionSystem, RenderSyncSystem간단한 매핑 예시:
| Phaser 3 패턴 | Phaser 4/ECS 전환 방향 |
|---|---|
scene.update()에 모든 로직 | System별 처리 순서 정의 |
sprite.setVelocity() 직접 호출 | Velocity 컴포넌트 수정 -> MovementSystem 반영 |
| 오브젝트 내부 상태 혼합 | 상태를 Component로 분리 |
체감 버그가 가장 많이 나오는 영역이다.
권장 테스트 시나리오:

Phaser 4에서 렌더링 구조가 바뀌면 “보이긴 보이는데 다르게 보이는” 문제가 잦다.
검증 포인트:
“돌아간다”와 “쓸 만하다”는 다르다.
예시 목표:
마이그레이션의 실패는 보통 코드보다 롤아웃에서 나온다.
권장 순서:
아래 상황이면 일정 기준으로 Phaser 3 유지가 더 현명할 수 있다.
기술 선택의 목적은 “새로운 것 사용”이 아니라 팀 생산성과 게임 품질 개선이다.
Phaser 3 -> 4 이전의 핵심은 버전 업이 아니라 구조적 리팩토링이다.
체크리스트 기반으로 진행하면,
를 팀이 같은 언어로 판단할 수 있다.
차후에는 실제 코드 기준으로
Player 이동/공격 로직을 Phaser 3 스타일에서 ECS로 변환하는 예시를 이어서 정리해보겠다.
Phaser 4의 핵심 변경사항을 Phaser 3와 비교하여 인디게임 개발자 관점에서 정리합니다. 성능, 구조, 렌더링 변화까지 한 번에 이해할 수 있습니다.