[Unity] 프리팹 수정이 반영되지 않을 때: Overrides 확인과 Apply·Revert

 

ChatGPT 생성 이미지


원본을 고쳤는데 하나만 안 바뀌는 이유

이 섹션에서는 오늘 만들 상황을 한 줄로 소개해요. 어제 만든 전시 상자 중 하나만 원본 수정을 따라오지 않게 만들어 볼 거예요.

어제는 Prefab Mode에서 고친 내용이 모든 전시 상자에 반영됐어요. 그런데 가끔 하나만 바뀌지 않는 일이 생겨서 당황하게 돼요. 저도 처음엔 "내가 저장을 안 했나?" 하고 한참 헤맸거든요.

프리팹(Prefab)은 Unity에서 같은 오브젝트를 여러 번 재사용하게 해 주는 기능이에요. 이 글은 2026년 기준 Unity 6 에디터 화면을 기준으로 해요. 오늘은 이 문제를 일부러 만들고, 겁먹지 않고 정리하는 방법을 익혀요.


Override(개별 변경)는 사용본만의 예외

이 섹션에서는 Override가 무엇이고 어디서 보이는지, Apply와 Revert가 무엇인지 설명해요.

1. Override(개별 변경)란?

먼저 왜 필요한지부터 말씀드릴게요. 씬마다 위치처럼 조금씩 달라야 하는 값이 있기 때문이에요. Override는 프리팹 인스턴스(Instance, 씬에 놓인 사본)가 원본과 다르게 가진 값이에요. 쉽게 말하면 같은 제품에 고객별 옵션을 붙인 것과 비슷해요. Override된 값은 원본이 바뀌어도 덮어쓰이지 않고 그대로 남아요. 그래서 "하나만 안 바뀐다"는 현상이 생겨요.

2. Inspector에서 알아보는 법

Override가 눈에 보여야 정리할 수 있어요. Override된 속성은 Inspector(오른쪽 설정 패널)에서 굵은 글씨로 표시되고, 왼쪽에 파란 세로선이 붙어요. 인스턴스를 선택한 뒤 Inspector 상단의 [Overrides] 드롭다운을 열면 바뀐 항목 목록이 나와요. 이 목록이 사실상 "이 사본이 원본과 다른 점 리스트"예요. 하나만 안 바뀔 때는 가장 먼저 여기를 열어 보세요.

3. Apply와 Revert

둘의 차이를 모르고 누르면 곤란해요. Apply는 이 사본의 변경을 원본에 올려서 다른 모든 인스턴스도 바꿔요. Revert는 이 사본의 변경을 버리고 원본 값으로 돌아가요. 은행에 비유하면 Apply는 "내 메모를 공용 장부에 적는 것", Revert는 "내 메모를 지우고 공용 장부를 따르는 것"이에요. 결과가 정반대라서, 누르기 전에 목록을 꼭 읽어야 해요.

4. 위치는 예외로 시작해요

어떤 값을 Override해도 되는지 헷갈리기 쉬워요. 루트 오브젝트의 위치·회전은 씬마다 다른 것이 당연해서, 보통 Apply 대상으로 다루지 않아요. 그래서 어제 상자를 -3, 3에 둔 것은 문제가 아니에요. 지금은 "위치만 예외"라는 규칙 하나만 기억하셔도 충분해요.


Override 만들고 정리하기

이 섹션에서는 Override를 직접 만들고, Revert와 Apply를 한 번씩 눌러 봐요. 상황은 "원본을 고쳤는데 오른쪽 상자만 안 바뀌는" 오류 재현이에요. 여기서 "왜 이것만 다르지?" 하고 멈추는 분 분명히 계실 거예요. 원인을 찾는 과정까지 같이 가 봐요.

① 어제 만든 전시장 씬을 열어요. 화면 하단 Project 창에서 씬 파일을 더블클릭하면 돼요.




② 화면 왼쪽 Hierarchy에서 오른쪽 상자의 자식 Item을 선택하고, 오른쪽 Inspector → [Transform] → Scale을 (0.8, 0.8, 0.8)로 바꿔요. 값이 굵게 바뀌고 왼쪽에 파란 선이 생기는지 확인해요. (Scale행을 참고해주세요)






③ Project 창에서 프리팹을 더블클릭해 Prefab Mode로 들어가요. Item의 Scale을 (0.3, 0.3, 0.3)으로 바꾼 뒤 상단 Scene 탭 왼쪽 화살표(←)로 나와 저장해요.





④ 씬으로 돌아와 두 상자를 비교해요. 왼쪽·가운데는 작아지고 오른쪽만 0.8로 남아 있어요. 여기가 바로 오류 재현이에요.

⑤ 원인을 확인해요. Hierarchy에서 오른쪽 상자(루트)를 선택하고 Inspector 상단 [Overrides] → 목록에서 Item의 Scale 항목이 있는지 봐요. 이것이 오른쪽 상자만 안 바뀐 원인이에요.


⑥ 해결해요. 목록의 그 항목에서 [Revert]를 클릭해요. 오른쪽 상자도 0.3으로 돌아와야 해요.





⑦ 이번에는 Apply를 연습해요. 가운데 상자의 Item(구)을 선택하고 Inspector → [Transform] → Position의 Y를 1.2로 바꿔요. 이어서 Inspector 상단 [Overrides] → 해당 Position 항목 → [Apply to Prefab]을 클릭해요.

⑧ 씬에서 두 상자의 구가 모두 올라갔는지 확인해요.

기대 결과는 Revert하면 해당 사본만 원본으로 돌아가고, Apply하면 모든 사본이 바뀌어요.


  • Overrides 목록이 비어 있는데도 모양이 다르면 어떻게 하나요?
    • 그 오브젝트가 애초에 프리팹 인스턴스가 아닐 수 있어요.
    • Hierarchy에서 이름 옆 아이콘과 글자가 파란색인지 먼저 확인해 보세요.
    • Ctrl+D로 만든 일반 복사본이라면 원본 변경을 받지 않아요.
    • 또 다른 프리팹의 인스턴스일 수도 있어요. Inspector 상단의 프리팹 이름을 확인해 주세요.
    • 둘 중 어느 쪽이든 원본을 고친다고 이 오브젝트가 따라오지 않으니, 맞는 프리팹으로 다시 만드는 쪽이 안전해요.
  • Apply All을 잘못 눌렀어요. 되돌릴 수 있나요?
    • 바로 Ctrl+Z로 되돌릴 수 있는지 먼저 해 보세요.
    • 되돌리기가 안 된다면 Prefab Mode에서 원래 값으로 직접 고쳐야 해요.
    • 이때 가장 큰 문제는 원래 값이 기억나지 않는 거예요. 그래서 Apply 전에 [Overrides] 목록을 읽는 습관이 중요해요.
    • 이번 주 목요일에는 .meta 파일과 함께 버전 관리를 이야기해요. 그러면 실수해도 이전 상태로 돌아가기 쉬워져요.
  • 어떤 값은 Override해도 되나요?
    • 위치처럼 씬마다 달라야 하는 값은 Override가 자연스러워요.
    • 반대로 모든 사본이 같아야 하는 값은 원본에서 바꿔야 해요.
    • 예외가 많아지면 어느 값이 진짜인지 헷갈려요.
    • 예외가 계속 늘어난다면 Prefab Variant(프리팹을 변형한 별도 버전)를 고려할 때예요.
    • 지금은 "위치만 예외"라는 규칙으로 시작하세요.

오늘 배운 내용을 정리할게요.

하나만 안 바뀌면 [Overrides] 목록부터 확인해요.

Revert = 원본으로 돌아가기, Apply = 원본에 올리기

위치처럼 씬마다 다른 값만 예외로 두어요.

처음엔 누르기 겁나는 버튼이지만, 목록만 읽고 누르면 어렵지 않아요. 

이 블로그의 인기 게시물

[Notion] 노션에서 페이지 간 링크 연결하는 방법 총정리

[Notion] 노션 문서 PDF로 저장하는 방법

[Notion] 노션 기본 템플릿 5가지 소개와 활용 팁