# Unity 개발 환경

> Use logical partitions to organize your service data for testing, staging, and production workflows.

환경은 Unity Game Services의 논리적 파티션으로, 프로젝트에 연결된 데이터가 포함되어 있습니다. 게임 코드에는 [Cloud Code](/cloud-code.md), 게임 구성에는 [Remote Config](/remote-config.md)를 사용하는 예제가 포함될 수 있습니다.

* 개발 환경은 분리되어 있습니다. 즉, 한 개발 환경에서 데이터를 변경해도 다른 개발 환경의 데이터는 영향을 받지 않습니다.
* 개발 환경은 프로젝트 레벨에서 적용됩니다.
* 개발 환경을 데이터의 네임스페이스나 레이블로 생각할 수 있습니다.
* 개발 환경을 생성한다고 해서 리소스가 프로비저닝되는 것은 아니며, 특정 작업 공간에 데이터를 연결할 수 있습니다.

## 지원되는 서비스##supported-services

현재 개발 환경을 지원하는 서비스는 다음과 같습니다.

* [분석](/analytics.md)
* [Cloud Code](/cloud-code.md)
* [Cloud Content Delivery](/ccd.md)
* [Cloud Save](/cloud-save.md)
* [Economy](/economy.md)
* [Lobby](/lobby.md)
* [Relay](/relay.md)
* [Remote Config](/remote-config.md)

Unity Gaming Services는 개발 환경을 지원하는 추가 서비스를 계속해서 릴리스할 예정입니다.

## 개발 환경 관리##managing-environments

[Unity Dashboard](https://cloud.unity.com/)에서 프로젝트의 개발 환경에 액세스하려면 다음을 수행합니다.

1. 기본 내비게이션 메뉴에서 **Projects**를 선택합니다.
2. 개발 환경을 적용할 프로젝트를 선택합니다.
3. **Environments** 탭을 선택합니다.

모든 프로젝트는 기본적으로 프로덕션 환경에서 시작됩니다. 개발 환경은 최대 25개까지 생성할 수 있습니다. 새로운 개발 환경을 생성하려면 **Add Environment**를 클릭하고 새 개발 환경의 이름을 입력한 다음 **Add**를 선택합니다.

## 서비스 개발 환경 전환##switching-environments-for-a-service

Unity Dashboard에서 서비스 개발 환경을 전환하려면 다음을 수행합니다.

1. 기본 내비게이션 메뉴에서 **Projects**를 선택합니다.
2. 개발 환경을 변경할 프로젝트를 선택합니다.
3. **Environments** 탭을 선택합니다.
4. 사용할 개발 환경을 선택합니다.

## Unity 프로젝트 내 개발 환경 액세스##accessing-environments-within-unity-projects

Services Core 초기화 옵션을 사용하여 플레이어가 경험하게 될 데브 환경에서 Unity Gaming Services를 초기화할 수 있습니다. 개발 환경이 지정되지 않은 경우, Unity Gaming Services는 기본 ‘프로덕션’ 환경에서 초기화됩니다.

> **Note:**
>
> **참고**: Services Core SDK는 개발 환경을 지원하는 각 서비스에 종속성으로 포함됩니다. 자세한 내용은 [Services Core API](./services-core-api.md) 기술 자료를 참고하십시오.

이를 위해 `Unity.Services.Core`와 `Unity.Services.Core.Environments` 네임스페이스를 포함한 후, 개발 환경 이름을 전달하도록 설정된 `options` 파라미터와 함께 `UnityServices.InitializeAsync()` 메서드를 호출합니다. 예제는 아래와 같습니다.

*‘데브’ 환경에서 Unity Gaming Services를 초기화합니다.*

```plaintext
using Unity.Services.Authentication;
using Unity.Services.Core;
using Unity.Services.Core.Environments;
using UnityEngine;

class InitWithEnvironment : MonoBehaviour {
   async void Awake()
   {
       var options = new InitializationOptions();

       options.SetEnvironmentName("dev");
       await UnityServices.InitializeAsync(options);
       await AuthenticationService.Instance.SignInAnonymouslyAsync();
   }
}
```

옵션이 지정되지 않으면 개발 환경 선택자 값이 사용됩니다. 개발 환경 선택자 옵션이 없는 경우 기본값으로 '프로덕션'이 사용됩니다.

자세한 내용은 [개발 환경 선택자](./environments-api.md#environment-selector)를 참고하십시오.

> **Warning:**
>
> **중요**: `SetEnvironmentName` 메서드에 액세스하려면 `Unity.Services.Core.Environments` 네임스페이스를 포함해야 합니다.
