안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다!

이번에는 .unitypackage 확장자의 연결이 끊어졌을 때 다시 연결하는 방법을 알아보겠습니다.

 

ftype unitypackage="유니티경로\Unity.exe" -openfile "%1"

 

assoc .unitypackage=unitypackage

 

타임라인

0:00 인트로

0:17 문제

0:44 유니티 패키지 다시 연결하기

0:00 아웃트로

스크립트

인트로

안녕하세요. 여러분들과 함께 게임 개발을 공부하는 베르입니다.

이번 영상에서는 유니티 엔진에서 에셋과 스크립트 파일을 공유하기 위해서 사용되는 유니티 패키지 파일의 연결 프로그램이 끊어져서 실행 중인 유니티 에디터에 제대로 임포트 되지 않는 문제를 해결하는 방법을 알아보도록 하겠습니다.

문제

유니티 엔진 버전 관리를 위해서 설치된 여러 버전의 유니티 엔진 중 하나를 지우는 경우, 유니티 패키지인 .unitypackage 확장자의 연결 프로그램이 끊어지는 문제가 가끔 발생합니다.

텍스트 파일 같은 간단한 파일이라면 윈도우 연결 프로그램에서 연결해주면 문제가 해결되지만, 유니티 패키지 파일은 현재 실행되고 있는 유니티 에디터를 찾아서 에셋을 임포트시켜야 하기 때문에 연결 프로그램을 설정하는 것만으로는 문제가 해결되지 않습니다.

유니티 패키지 다시 연결하기

그럼 유니티 패키지 파일을 다시 유니티 에디터에 정상적으로 연결하는 방법을 알아보겠습니다.

먼저 유니티가 설치된 경로를 찾아야 합니다.

유니티를 설치할 때 경로를 수정하지 않았다면 대부분은 C드라이브의 Program Files 폴더에서 Unity 폴더를 찾을 수 있습니다.

Unity 폴더에서 Hub / Editor 폴더로 내려가 보면 설치되어 있는 여러 버전의 유니티 엔진을 볼 수 있습니다.

이 중에서 가장 자주 사용하는 유니티 버전을 선택합니다.

그 다음에는 윈도우 키를 누르고 "cmd"를 입력하면 명령 프롬프트를 찾을 수 있습니다.

여기서 바로 명령 프롬프트를 실행하지 말고 우클릭 하여 우클릭 메뉴를 띄운 뒤 관리자 권한으로 실행해줍니다.

그리고 명령 프롬프트에서 ftype 명령어를 입력해줍니다.

명령어를 직접 입력하기가 번거롭다면 영상 하단에서 복사해서 사용하면 됩니다.

경로는 앞에서 확인한 유니티 에디터의 실행 파일 경로를 입력해줍니다.

그리고 윈도우에서 파일 이름 확장명 연결을 수정하는데 사용되는 assoc 명령어를 입력해줍니다.

명령어를 모두 입력한 다음에는 명령 프롬프트 창을 닫아줍니다.

그 다음에는 프로젝트에 임포트할 유니티 패키지 파일이 있는 경로로 돌아가서 유니티 패키지 파일을 더블클릭하면 파일을 열 때 사용할 앱을 선택하는 창이 뜨는데 여기서 Unity Editor를 선택하면 실행되어 있는 유니티 에디터를 통해서 프로젝트에 정상적으로 임포트되는 모습을 볼 수 있습니다.

아웃트로

이번 영상에서는 .unitypackage 파일의 확장자 연결이 끊어졌을 때의 해결 방법을 알아보았습니다.

이상 베르의 게임 개발 유튜브였습니다. 감사합니다.

 

[참고자료]

 

 

유니티 - .unitypackage 확장자 연결 끊어진 경우 해결하기

Note

rito15.github.io

 

[유니티 어필리에이트 프로그램]

아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Create 2D & 3D Experiences With Unity's Game Engine | Unity Pro - Unity Store

Unity Pro software is a real-time 3D platform for teams who want to design cross-platform, 2D, 3D, VR, AR & mobile experiences with a full suite of advanced tools.

store.unity.com

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형
  1. rate 2021.12.07 17:52

    https://rito15.github.io/posts/unity-fix-unitypackage-association/

    이 링크가 원출처인 것 같은데, 출처정도는 남겨주시는게 어떤가요

    • wergia 2021.12.08 00:43 신고

      참고 자료 출처 남겼습니다.
      조언 감사합니다.

안녕하세요! 여러분들과 함께 게임 개발을 공부하는 베르입니다!

이번에는 함께 일하는 다른 팀원들에게 에셋을 전달하기 위해서 사용되는 유니티 패키지에 대해서 알아봅시다.

 

사용 엔진 버전 : 2020.3

 

타임라인

0:00 인트로

0:11 압축파일 전달

1:15 유니티 패키지

2:45 버전 관리 도구로써는? 글쎄...

3:41 유니티 패키지 사용법

4:59 아웃트로

스크립트

인트로

안녕하세요. 여러분들과 함께 게임 개발을 공부하는 베르입니다.

이번 영상에서는 유니티에서 에셋을 전달하기 위해서 사용되는 유니티 패키지에 대해서 알아보도록 하겠습니다.

압축파일 전달

유니티에 익숙하지 못한 입문자일 때는 프로젝트나 프로젝트 안에 있는 텍스처, 머티리얼, 프리팹, 스크립트 같은 에셋을 공유하거나 전달하려고 프로젝트 전체를 압축해서 보내거나 전달할 에셋을 선택하여 압축해서 보내는 방법을 주로 사용했었습니다.

저도 유니티를 처음 배웠을 때는 그렇게 많이 했었죠.

하지만 이 방법을 사용하면 굉장히 많은 문제가 발생합니다.

전체 프로젝트를 압축해서 옮기면 프로젝트의 크기에 따라서 압축 파일의 용량이 너무 커져서 옮기기가 어려워 집니다.

물론 프로젝트에 필요한 폴더만 묶어서 압축하면 훨씬 압축파일의 용량이 줄어들지만, 이렇게 옮기면 프로젝트를 받은 사람이 처음 열 때 시간이 많이 걸린다는 단점도 있습니다.

그리고 압축 파일 이름에 버전을 적어둬도 어떤 게 어떤 버전인지 헷갈리는 문제도 발생합니다.

거기에 가장 치명적인 단점으로는 수동으로 파일을 선택할 때는 프리팹이나 씬에 포함된 오브젝트의 참조 관계, 즉 어떤 프로퍼티에 어떤 프리팹이나 텍스처 등의 에셋들이 꽂혀있는지 전부 알 수 없기 때문에 빠지는 파일이 생길 수 있습니다.

그렇게 되면 전달된 에셋들이 제대로 동작하지 않는 문제가 발생하게 됩니다.

유니티 패키지

앞에서 말한 압축 파일로 에셋을 전달하는 방법에서 발생하는 문제를 해결할 수 있는게 바로 유니티 패키지입니다.

먼저 유니티 패키지를 만드는 방법부터 보여드리겠습니다.

유니티 에디터의 프로젝트 뷰에서 유니티 패키지로 익스포트할 에셋을 선택합니다.

그 에셋에 우클릭하고 [Export Package]를 선택합니다.

그러면 Exporting Package 창이 뜨면서 선택한 에셋과 연관된 에셋, 즉 종속성을 가진 에셋들이 함께 자동으로 선택됩니다.

물론 프로젝트 크기가 커지면 이 종속성이 상당히 복잡해서 정말 필요한 에셋 뿐만 아니라 곁다리 수준으로만 엮인 에셋들도 선택되서 쓸데없는 에셋들이 함께 익스포트되는 경우도 있기 때문에 잘 확인하고 꼭 익스포트할 에셋들만 선택해야 합니다.

그리고 창에서 Include dependency 체크를 해제하면 정말 선택한 에셋만 잡히는데 지금 선택한 프리팹의 경우에는 필요한 3D 모델, 애니메이터 컨트롤러 등이 모두 빠지기 때문에 빈 오브젝트만 익스포트됩니다.

그래서 이 Include dependency 옵션은 보통은 정말 필요한 리소스 에셋이나 스크립트 에셋만 빼내야 할 때 체크를 해제해주면 됩니다.

이렇게 익스포트할 에셋을 모두 선택한 다음에는 Export 버튼을 누르고 저장하고자 하는 위치에 이 패키지가 무엇을 담고 있는지 확실하게 알 수 있는 이름으로 저장해주면 됩니다.

그리고나서 이 유니티 패키지를 임포트할 프로젝트를 실행하고 패키지 파일을 더블클릭해주면 패키지 안에 담긴 에셋들을 그 프로젝트에 넣을 수 있게 됩니다.

버전 관리 도구로써는? 글쎄...

이렇게 유니티 패키지를 사용하면 자신이 개발한 내용이나 기능, 에셋 등을 다른 사람에게 공유할 수 있게 됩니다.

하지만 유니티 패키지를 프로젝트의 버전 관리 도구처럼 사용하려고 해서는 안됩니다.

프로젝트의 버전 관리는 개발 내용의 최신화가 아주 중요한데, 패키지를 전달 받은 다른 개발자가 자신의 프로젝트에 적용하는 작업을 까먹고 안할 수도 있고, 전달 과정에서 몇몇 사람들을 빼먹고 전달하는 경우도 있을 수 있어서 프로젝트의 최신화를 공통적으로 유지하기 어렵습니다.

그리고 이 패키지를 임포트하는 작업은 같은 에셋이 존재하는 경우에 수정 사항을 완전히 덮어씌워버리기 때문에 작업 내용이 겹치거나 잘못된 작업이 임포트되었을 때, 되돌릴 방법이 없다는 것도 문제입니다.

그렇기 때문에 유니티 패키지는 프로젝트의 버전 관리를 위한 방법으로는 적절하지 못하며, 프로젝트 버전 관리는 SVN이나 깃을 사용하는 것이 좋습니다.

깃허브를 이용해서 유니티 프로젝트를 관리하는 방법을 소개하는 영상은 영상 링크를 통해서 확인하실 수 있습니다.

유니티 패키지 사용법

그러면 유니티 패키지는 어디에 사용하면 좋은지 궁금하신 분들이 계실 겁니다.

물론 저는 거기에 답변을 드려야겠죠.

유니티 패키지는 필요한 에셋들을 선택해서 각 에셋 사이의 참조나 종속성 연결을 끊기지 않게 가져올 수 있다는 점에 초점을 맞춰야 합니다.

그래서 필요한 에셋들을 다른 프로젝트에서 가져올 수 있는 것입니다.

예를 들어 예전에 만들었던 게임이 있다고 해봅시다.

그리고 그 다음 게임을 만들려고 하는데 예전에 만들었던 게임과 유사한 형태의 인벤토리 시스템을 넣으려고 한다고 가정해봅시다.

이러면 새 프로젝트에서 완전히 새롭게 인벤토리 시스템을 짜는 것보다 이전 프로젝트에 들어있는 인벤토리 에셋들을 유니티 패키지로 익스포트해서 가져오는 편이 훨씬 나을 겁니다.

또 다른 예시로는 새 프로젝트를 만들어두고 여기에는 인벤토리 시스템만을 구현하는 방식으로 아예 특수한 기능만 구현하는 유니티 프로젝트를 만드는 것입니다.

그리고 이 프로젝트에는 이 시스템을 어떻게 사용해야 하는지 알려주는 샘플 씬과 각종 에셋, 그리고 설명서까지 넣어둡니다.

그 다음에 이 인벤토리 시스템이 필요한 프로젝트가 생기면 이 인벤토리만 구현된 프로젝트에서 관련 에셋들을 유니티 패키지로 익스포트해서 인벤토리 시스템이 필요한 프로젝트에 임포트 시키는 거죠.

사실 대부분의 유니티 에셋 스토어에 올라온 에셋들이 이렇게 필요한 기능만 구현된 프로젝트에서 패키지만 익스포트하는 방식과 유사하게 동작합니다.

아웃트로

이번 영상에서는 유니티에서 에셋을 묶어서 전달하는 기능인 유니티 패키지에 대해서 알아보았습니다.

이상 베르의 게임 개발 유튜브였습니다. 감사합니다.

 

[유니티 어필리에이트 프로그램]

아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Create 2D & 3D Experiences With Unity's Game Engine | Unity Pro - Unity Store

Unity Pro software is a real-time 3D platform for teams who want to design cross-platform, 2D, 3D, VR, AR & mobile experiences with a full suite of advanced tools.

store.unity.com

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

+ Recent posts