본문 바로가기
Unity

Unity 패키지(.unitypackage) 파일 다루는 방법과 주의할 점

by Oz Driver 2025. 7. 12.

Unity 프로젝트를 다른 사람과 공유하거나, 자주 쓰는 에셋을 백업할 때 .unitypackage 파일을 사용합니다.
하지만 무심코 import했다가 기존 파일이 의도치 않게 덮어써지는 사고가 발생할 수 있으니 주의가 필요합니다.
이 글에서는 export / import 방법과 함께, 덮어쓰기 이슈의 원인과 안전하게 사용하는 팁까지 정리합니다.

 

Unity 패키지 Export 방법

Unity에서 .unitypackage 파일을 만드는 방법은 간단합니다.

 

•   먼저 Assets 폴더 내에서 내보내고 싶은 폴더나 파일을 선택합니다. 

•   Assets 폴더 전체를 내보내고 싶다면, Project 편집 창 > Assets 폴더를 선택합니다.

•   프로젝트 창 빈공간에 마우스 우클릭 메뉴 > Export Package 를 선택합니다. 

 

•   필요한 경우 "Include dependencies" 체크합니다. ( Default 로 선택되어 있음 )


•   원하는 이름을 적고 .unitypackage 파일로 저장합니다.

 

•   해당 이름의 .unitypackage 파일이 생겼습니다.

 

이렇게 생성된 패키지는 다른 Unity 프로젝트에서 import 하여 그대로 사용할 수 있습니다.

 

Unity 패키지 Import 방법

위에서 생성한 unitypackage 파일을 불러와 보겠습니다.

•   단순히 .unitypackage 파일을 project 창에 끌어다 놓으면 됩니다.

 

•   또 다른 방법으로 메뉴를 이용해서 불러와도 됩니다. 

프로젝트 창에서 마우스 우클릭으로 메뉴를 열고 Import Package > Custom Package... 선택합니다. 

 

•   윈도우 탐색기가 열리면 .unitypackage 파일을 선택합니다.

 

•   import 창에서 포함할 파일을 선택한 뒤 Import 를 선택합니다.

 

이 과정을 통해 다른 프로젝트의 프리팹, 스크립트, 머티리얼 등을 쉽게 가져올 수 있습니다.

 

Export > Import 

•   export 된 Assets 폴더의 모든 파일들이 import 된 유니티 프로젝트에 그대로 불러와졌습니다. 

 

예상치 못한 덮어쓰기 문제

그런데 Import 하려는 package 에 동일한 파일에 있다면, 내 파일을 덮어씌우는 문제가 발생합니다. 

Unity는 Asset 을 이름이나 경로로 식별하지 않고, .meta 파일에 있는 GUID 로 식별합니다.
따라서, 경로가 다르더라도 GUID가 같다면 동일한 자산으로 간주되고 무조건 덮어씌워 버립니다.

그래서 덮어쓰기 문제를 해결하기 위해 내 assets 폴더를 잠시 다른 이름으로 변경시키는 방법으로는 해결되지 않습니다. ( 이 부분이 살짝 당황스러울 것입니다. )

따라서 .meta 파일을 삭제하면 GUID 가 새로 생성되기 때문에 충돌은 사라집니다.
하지만 이로 인해 예기치 못한 일들이 발생할 수 있으므로 추천하는 방법은 아닙니다.

 

그럼 어떻게 해야 하나?

완벽한 해결책은 없습니다. Unity가 GUID 기반으로 동작하기 때문입니다.
하지만 다음과 같은 방법으로 위험을 줄일 수는 있습니다

 

Import 전 꼼꼼한 확인

•   Import 창에서 덮어씌워질 수 있는 항목은 체크 해제

•   이름이나 경로만 보지 말고 파일 용도를 잘 파악할 것

 

임시 프로젝트에서 먼저 Import

•   새 Unity 프로젝트를 만들어 임포트 테스트

•   거기서 검증한 뒤 필요한 항목만 복사

 

Export 전 폴더 정리

•   export 할 에셋을 전용 폴더에 정리해두면 관리에는 도움이 됨
    (단, 이렇게 해도 GUID 충돌은 방지할 수 없습니다.)

 

마무리

.unitypackage 는 강력하고 편리한 기능이지만, 무심코 import 하면 의도치 않은 덮어쓰기가 발생할 수 있습니다.
이유는 Unity가 파일명을 보지 않고 .meta의 GUID를 기준으로 자산을 판단하기 때문입니다.

따라서 import 할 때는 항상 어떤 파일이 들어오는지 직접 확인하고, 가능하다면 임시 프로젝트에서 미리 테스트해보는 습관이 안전합니다.