# 작업 저장

> Understand how Unity saves your scenes, assets, and project settings.

Unity는 대부분의 저장된 정보를 [씬 변경](#SceneChanges) 또는 [프로젝트 전체 변경 사항](#ProjectWideChanges)으로 분류합니다.

* 모든 현재 씬 변경 사항과 프로젝트 전체 변경 사항을 저장하려면 **File** > **Save**(또는 **Save as**)로 이동합니다.
* 프로젝트 전체 변경 사항만 저장하고 씬 변경 사항은 제외하려면 **File** > **Save Project**로 이동합니다.

**참고**: [프리팹 모드](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/prefabs/editing-in-prefab-mode.md)에서 편집하는 경우 **File** > **Save**를 통해 저장하면 열린 프리팹의 변경 사항만 저장됩니다. 더 광범위한 변경 사항을 저장하려면 프리팹 모드를 종료합니다.

Unity는 에디터에서 작업하는 동안 일부 정보를 자동으로 저장합니다. 자세한 내용은 [자동 저장](#ImmediateSaving)을 참조하십시오.

## 씬 변경

씬 변경에는 씬의 게임 오브젝트에 대한 수정 사항이 포함됩니다. 예시:

* 게임 오브젝트를 추가, 이동 또는 삭제하는 경우
* 인스펙터 창에서 게임 오브젝트의 파라미터를 변경하는 경우

## 프로젝트 전체 변경

Unity의 프로젝트 전체 변경은 특정 씬이 아닌 전체 프로젝트에 적용됩니다. 예를 들어 변경 사항을 테스트하기 위해 임시 씬을 생성하는 경우 씬이 아니라 프로젝트를 저장할 수 있습니다.

프로젝트 전체 변경 사항에는 다음이 포함됩니다.

* **프로젝트 설정**: 프로젝트를 저장할 때 Unity는 프로젝트 설정의 변경 사항을 `ProjectSettings` 폴더의 다음 파일에 저장합니다.

  * **입력**: `InputManager.asset`
  * **태그 및 레이어**: `TagManager.asset`
  * **오디오**: `AudioManager.asset`
  * **시간**: `TimeManager.asset`
  * **플레이어**: `ProjectSettings.asset`
  * **물리**: `DynamicsManager.asset`
  * **물리 2D**: `Physics2DSettings.asset`
  * **품질**: `QualitySettings.asset`
  * **그래픽스**: `GraphicsSettings.asset`
  * **네트워크**: `NetworkManager.asset`
  * **에디터**: `EditorUserSettings.asset`

* **빌드 프로필**: Unity는 플랫폼 프로필 및 빌드 프로필의 변경 사항을 `Library` 폴더에 에셋으로 저장합니다. 자세한 내용은 [빌드 프로필 소개](/engine/6000.0/manual/unity-editor/editor-features/build-settings/build-profiles.md)를 참조하십시오.

* **변경된 에셋**: 프로젝트 전체 설정을 저장하면 Unity는 저장되지 않은 모든 에셋을 저장합니다.

  **참고:** 일부 에셋 유형에는 인스펙터에 **Apply** 버튼이 있습니다. **Apply**를 선택하지 않는 한 Unity는 이를 저장하지 않습니다.

* **Dirty 에셋**: Unity는 소프트웨어에서 수정되었지만 아직 저장되지 않은 디스크의 파일인 **Dirty** 에셋을 저장합니다. 다음 방법 중 하나로 에셋을 dirty로 표시하려면 [커스텀 에디터](/engine/6000.0/manual/working-in-unity/uitoolkits/guiscripting-guide/extending-the-editor/editor-custom-editors.md) 및 [스크립트](/engine/6000.0/manual/scripting/get-started/creating-scripts.md)를 사용하면 됩니다.

  * [SerializedProperties](/engine/6000.0/script-reference/unity-editor/serialized-property.md)와 함께 [SerializedObject](/engine/6000.0/script-reference/unity-editor/serialized-object.md) 클래스를 사용합니다.
  * [Undo](/engine/6000.0/script-reference/unity-editor/undo.md) 클래스를 사용하여 수정 사항을 기록합니다.
  * [SetDirty](/engine/6000.0/script-reference/unity-editor/editor-utility/set-dirty.md)를 사용합니다.

## 자동 저장

Unity는 다음 변경 사항을 디스크에 자동으로 저장합니다.

* **새 에셋**: Unity는 새 에셋을 생성할 때 자동으로 저장하지만 이후 변경 사항은 직접 저장해야 합니다.

* **에셋 임포트 설정**: 대부분의 에셋에서 변경 사항을 적용하려면 인스펙터 창에서 **Apply**를 선택해야 합니다. **Apply**를 선택하면 Unity가 변경 사항을 저장합니다.

* **베이크된 데이터**: 프로젝트에 Baked로 설정된 데이터가 있는 경우, Unity는 베이크가 완료된 후 이 데이터를 저장합니다. 이 경우는 다음과 같습니다.

  * 베이크된 조명 데이터
  * 베이크된 내비게이션 데이터
  * 베이크된 오클루전 컬링 데이터

* **스크립트 실행 순서 변경**: **Apply**를 선택하면 Unity는 이 데이터를 각 스크립트의 `.meta` 파일에 저장합니다.
