Unity의 IME
프로젝트 간 에셋 재사용

특수 폴더 이름

보통 Unity 프로젝트를 구성하기 위해 폴더를 생성할 때 원하는 이름은 무엇이든 선택할 수 있습니다. 그러나 몇 가지 폴더 이름의 경우 Unity는 해당 폴더의 내용이 특별한 방식으로 취급되어야 한다고 해석합니다. 예를 들어, 에디터 스크립트가 제대로 동작하기 위해서는 Editor 라는 이름의 폴더에 배치해야 합니다.

이 페이지에는 Unity에서 사용하는 특수 폴더 이름의 전체 리스트가 포함되어 있습니다.

Assets

Assets 폴더는 Unity 프로젝트에서 사용하는 에셋이 포함되는 주 폴더입니다. 에디터 프로젝트 창의 콘텐츠는 에셋 폴더의 콘텐츠와 직접 연관됩니다. 대부분의 API 함수는 모든 것이 에셋 폴더 에 있다고 가정하므로 명시적으로 경로를 알려줄 필요는 없습니다. 그러나 일부 함수는 경로 이름에 에셋 폴더를 반드시 포함해야 합니다(예를 들어 AssetDatabase 클래스의 특정 함수).

Editor

Editor 라고 하는 폴더에 있는 스크립트는 런타임 스크립트가 아니라 에디터 스크립트로 간주됩니다. 이 스크립트는 개발하는 동안 에디터에 기능을 추가하며 런타임 시점에 빌드에서 사용할 수 없습니다.

에셋 폴더의 어디에서나 에디터 폴더를 여러 개 배치할 수 있습니다. 에디터 폴더나 에디터 폴더의 하위 폴더에 에디터 스크립트를 배치해야 합니다.

에디터 폴더의 정확한 위치는 스크립트가 컴파일되는 다른 스크립트에 상대적인 시간에 영향을 미칩니다(이에 대한 자세한 설명은 특수 폴더와 스크립트 컴파일 순서 문서를 참조하십시오). 에디터 폴더의 리소스 폴더에서 에셋을 로드하려면 에디터 스크립트에 EditorGUIUtility.Load 함수를 사용해야 합니다. 이 에셋은 에디터 스크립트를 통해서만 로드할 수 있으며 빌드에서 제거됩니다.

참고: Unity에서는 스크립트가 에디터 폴더에 있으면 MonoBehaviour에서 파생된 컴포넌트를 게임 오브젝트에 할당할 수 없습니다.

Editor Default Resources

에디터 스크립트는 요구가 있을 때 즉시 에셋 파일을 로드하기 위해EditorGUIUtility.Load 함수를 사용합니다. 이 함수는 Editor Default Resources 라는 이름의 폴더에서 해당 에셋 파일을 검색합니다.

에디터 기본 리소스 폴더는 하나만 있을 수 있으며 에셋 폴더 바로 안 프로젝트의 루트에 배치해야 합니다. 필요한 에셋 파일을 에디터 기본 리소스 폴더나 에디터 기본 리소스 폴더의 하위 폴더에 배치해야 합니다. 에셋 파일이 하위 폴더에 있는 경우 항상 하위 폴더 경로를 EditorGUIUtility.Load 함수에 전달되는 경로에 포함해야 합니다.

Gizmos

Gizmos를 사용하면 씬 뷰에 그래픽스를 추가하여 원래는 보이지 않는 디자인 디테일을 시각화하여 보여줄 수 있습니다. Gizmos.DrawIcon 함수는 씬에 아이콘을 배치하여 아이콘이 특별 오브젝트나 포지션의 마커로 동작할 수 있도록 합니다. 아이콘을 그리기 위해 사용되는 이미지 파일은 반드시 Gizmos 라는 이름의 폴더에 위치해야 DrawIcon 함수에서 파일을 그릴 수 있습니다.

기즈모 폴더는 하나만 있을 수 있으며 에셋 폴더 바로 안 프로젝트의 루트에 배치해야 합니다. 필요한 에셋 파일을 기즈모 폴더나 기즈모의 하위 폴더에 배치해야 합니다. 에셋 파일이 하위 폴더에 있는 경우 항상 하위 폴더 경로를 Gizmos.DrawIcon 함수에 전달되는 경로에 포함해야 합니다.

Plug-ins

Unity의 기능을 확장하기 위해 프로젝트에 플러그인을 추가할 수 있습니다. 플러그인은 일반적으로 C/C++로 작성되는 네이티브 DLL입니다. 플러그인에서 타사 코드 라이브러리, 시스템 콜 및 기타 Unity 빌트인 기능에 액세스할 수 있습니다. 플러그인은 항상 Unity에서 탐지할 수 있도록 Plugins 라고 하는 폴더에 배치해야 합니다.

플러그인 폴더는 하나만 있을 수 있으며 에셋 폴더 바로 안 프로젝트의 루트에 배치해야 합니다.

이 폴더가 스크립트 컴파일에 미치는 영향에 대한 자세한 내용은 특수 폴더와 스크립트 컴파일 순서, 여러 타겟 플랫폼의 플러그인을 관리하는 데 대한 자세한 내용은 플러그인 인스펙터를 참조하십시오.

Resources

씬에서 게임플레이에 사용할 에셋의 인스턴스를 만드는 대신 스크립트에서 온디멘드 방식으로 에셋을 로드할 수 있습니다. Resources 라고 하는 폴더에 에셋을 배치하면 됩니다. Resources.Load 함수를 사용하여 에셋을 로드해야 합니다.

에셋 폴더의 어디에나 리소스 폴더를 여러 개 배치할 수 있습니다. 필요한 에셋 파일을 리소스 폴더 또는 리소스 폴더의 하위 폴더에 배치해야 합니다. 에셋 파일이 하위 폴더에 있는 경우 항상 하위 폴더 경로를 Resources.Load 함수에 포함해야 합니다.

리소스 폴더가 에디터 폴더의 하위 폴더이면 폴더 안의 에셋이 빌드에서 제거되지 않고 에디터 스크립트에서 로드할 수 있습니다.

Standard Assets

스탠다드 에셋 패키지를 임포트하면(메뉴: Assets > Import Package) 에셋은 __ 스탠다드 에셋__이라는 이름의 폴더에 위치하게 됩니다. 이 폴더는 에셋을 포함할 뿐만 아니라 스크립트 컴파일 순서에도 영향을 미칩니다. 자세한 내용은 특수 폴더와 스크립트 컴파일 순서 페이지를 참조하십시오.

스탠다드 에셋 폴더는 하나만 있을 수 있으며 에셋 폴더 바로 안 프로젝트의 루트에 배치해야 합니다. 필요한 에셋 파일을 스탠다드 에셋 폴더나 스탠다드 에셋 폴더의 하위 폴더에 배치해야 합니다.

StreamingAssets

에셋을 빌드에 직접 통합하는 것이 더 일반적이지만 에셋을 원래 포맷의 별도 파일로 사용하고 싶을 수도 있습니다. 예를 들어 iOS에서 비디오를 재생하기 위해서는 MovieTexture로 사용하는 대신 파일시스템에서 비디오 파일에 액세스해야 합니다. 파일을 타겟 기기의 특정 폴더로 그대로 복사되어 사용할 수 있도록 StreamingAssets 라는 이름의 폴더에 배치해야 합니다. 자세한 내용은 에셋 스트리밍 페이지를 참조하십시오.

StreamingAssets 폴더는 하나만 있을 수 있으며 Assets 폴더 바로 안 프로젝트의 루트에 배치해야 합니다. 필요한 에셋 파일을 StreamingAssets 폴더나 StreamingAssets 폴더의 하위 폴더에 배치해야 합니다. 에셋 파일이 하위 폴더에 있는 경우 항상 하위 폴더 경로를 스트리밍 에셋을 레퍼런스하기 위해 사용되는 경로에 포함해야 합니다.

Hidden Assets

임포트 과정에서 Unity는 Assets 폴더(또는 그 안의 하위 폴더)의 다음과 같은 파일 및 폴더를 완전히 무시합니다.

  • 숨겨진 폴더
  • .’로 시작하는 파일 및 폴더
  • ~’로 끝나는 파일 및 폴더
  • cvs’라는 이름의 파일 및 폴더
  • 확장자가 .tmp 인 파일

이는 운영체제 또는 기타 애플리케이션에서 생성된 특수 또는 임시 파일을 임포트하는 것을 방지하기 위해 사용됩니다.

Unity의 IME
프로젝트 간 에셋 재사용