유니티 최근 업데이트
일주일 치를 정직하게 그으니 릴리스 5건이 전부였습니다. 그런데 그 안에 기능 추가가 아니라 이사가 들어 있었습니다.
“이번 주 뉴스”를 정직하게 그었더니 릴리스 빌드 5건이 전부였습니다. 발표도 키노트도 그 창 안에 없었습니다. 그런데 버전 번호만 보면 「베타 빌드 두 개 나왔네」로 끝날 것을 열어 보니, 안에 엔진 구조를 갈아치우는 공사가 들어 있었습니다. 깨지는 변경 188건. 이건 “새 기능 써볼까” 가 아니라 “내 코드가 컴파일이나 되나” 를 물어야 하는 규모입니다.
무엇이 있었나
기간을 먼저 정직하게 그은 게 이 자료의 시작입니다. 요청은 “최근 1주일” 이었고, 그 창 안에 실제로 일어난 일은 릴리스 빌드 5건이 전부였습니다. 발표나 키노트 같은 큰 뉴스는 그 창 밖에 있었습니다.
그래서 둘로 나눠 적혀 있습니다 — 기간 안에 실제로 나온 것, 그리고 그걸 이해하는 데 필요한 직전 맥락을 따로. 기간을 늘려서 큰 뉴스를 끌어오지 않았습니다.
사흘 동안 네 트랙에서 빌드 다섯 개가 나왔습니다. 장기 지원 · 정식 · 베타 · 알파를 동시에 굴리는 구조가 그대로 드러납니다.
대표 변화 — 기능 추가가 아니라 이사다
엔진 전반에서 객체 식별자를 체계적으로 갈아치우는 중입니다. 애니메이션·물리·그래픽스 등 수백 개 API가 영향을 받고, 베타 기준 깨지는 변경이 188건 쌓였습니다.
왜 하느냐가 중요합니다 — 엔티티 기반 워크플로와 기존 오브젝트 워크플로를 하나로 합치는 기반 공사입니다. 엔티티 개념을 엔진 전체의 공용 식별자로 끌어올리는 것이 목적입니다. 그래서 이 버전은 기능 추가 버전이 아니라 이사 버전입니다.
그 옆에 오래 기다린 기능이 하나 들어옵니다. 사전 자료구조 직렬화가 내장됩니다. 지금까지는 콜백이나 커스텀 래퍼, 서드파티 에셋에 의존해야 했던 부분입니다.
| 항목 | 내용 |
|---|---|
| 대상 | 선언 타입이 정확히 그것이어야 한다 — 상속·래핑은 안 된다 |
| 방식 | 옵트인. 직렬화할 필드마다 표시를 붙여야 한다 |
| 인스펙터 | 전용 2컬럼 뷰(키 / 값) |
| 중복 키 | 편집 중에는 임시 허용하고, 중복 행마다 아이콘과 안내를 띄운다 |
그리고 엔티티 패키지 전체가 코어로 들어옵니다. 엔진 릴리스와 버전이 같이 가게 되어 별도 버전 관리가 사라집니다. 대신 매니지드 컴포넌트가 폐기 수순이라 클래스 기반 컴포넌트를 구조체로 바꿔야 합니다 — 이쪽도 파괴적 변경입니다.
깨본 결과
“188건”이 무엇의 수인지 봐야 합니다. 이건 베타 트랙 누적치이고, 정식으로 풀릴 때 그대로 남아 있을지는 알 수 없습니다. 지금 정식 버전을 쓰는 사람에게는 오늘 해당되는 숫자가 아닙니다.
사전 직렬화도 조건이 빡빡합니다. 선언 타입이 정확해야 하고 상속이나 래핑이 안 됩니다. 기존 프로젝트가 대개 래퍼를 거쳐 쓰고 있을 텐데, 그 래퍼를 걷어내는 작업이 먼저입니다. “드디어 내장됐다” 와 “내일부터 쓸 수 있다” 사이에 그 일이 있습니다.
그리고 이 자료 자체의 성격이 다른 편들과 다릅니다. 뜯을 대상이 레포도 영상도 아니라 릴리스 노트입니다. 깨볼 주장이 별로 없고, 있는 건 “이번 주는 조용했다” 를 인정한 것 정도입니다. ⚠ 그래서 이 편은 판정보다 위치 확인에 가깝습니다.
내 환경에 대봤다
저는 정식 트랙에 서 있어야 합니다. 베타는 프로덕션 금지이고, 제 게임은 만드는 중이라 엔진이 흔들리면 안 됩니다. 이번 주 릴리스 중 제게 해당하는 건 정식 안정화 패치 하나입니다.
이사 버전을 미리 아는 게 이 자료의 값어치입니다. 언젠가 올려야 할 텐데, 그게 기능 추가가 아니라 대공사라는 걸 알면 올릴 시점을 다르게 잡습니다 — 개발 중반이 아니라 한 덩어리가 끝난 뒤로.
사전 직렬화는 실제로 기다리던 것입니다. 제 프로젝트에도 래퍼가 들어가 있고, 걷어낼 수 있으면 코드가 줄어듭니다. ⚠ 다만 정식으로 풀린 뒤의 얘기이고, 래퍼를 먼저 걷어내야 합니다.
판정
| 무엇 | 판정 |
|---|---|
| 지금 서 있을 트랙 | 정식 유지. 베타는 프로덕션 금지 |
| 이사 버전 대비 | 채택 — 시점 규칙으로. 올린다면 개발 중반이 아니라 한 덩어리가 끝난 뒤 |
| 사전 직렬화 | 대기. 정식 이후 + 래퍼 제거가 선행 |
| 엔티티 워크플로 | 해당 없음. 제 게임 규모가 그걸 필요로 하지 않는다 |
| “188건” 인용 | ⚠ 한정 필요. 베타 누적치이고 정식에 그대로 남을지 모른다 |
이 편에서 값을 치른 교훈은 자료 쪽이 아니라 읽는 법입니다 — 기간을 정직하게 그으면 「조용한 주」가 그 자체로 정보가 됩니다. 다섯 건뿐이라는 사실이, 네 트랙을 동시에 굴리고 있다는 구조를 오히려 선명하게 보여줬습니다.
그리고 ⚠ 버전 번호로는 대공사가 안 보입니다. “베타 빌드 두 개” 와 “깨지는 변경 188건” 은 같은 사건인데, 앞의 표현만 보고 넘기면 나중에 올릴 때 그 188건을 처음 만납니다.