Unity 에디터
Unity 에디터를 사용하여 Cloud Code 모듈을 생성하고 배포할 수 있습니다. Cloud Code 패키지에는 Cloud Code Authoring 모듈이 포함되어 있으며, 이 모듈을 사용하면 Deployment 패키지를 통해 모듈과 상호 작용할 수 있습니다.
> 참고: Unity 2021.3 이상 버전에서만 모듈과의 Unity 에디터 연동을 지원합니다.
필수 조건
아래 단계를 따라 Unity 에디터에서 Cloud Code를 사용합니다.
프로젝트 연결
Unity Gaming Services 프로젝트를 Unity 에디터와 연결합니다. Unity Cloud Dashboard에서 UGS 프로젝트 ID를 확인할 수 있습니다.
Unity 에디터에서 Edit > Project Settings > Services를 선택합니다.
프로젝트를 연결합니다.
프로젝트에 Unity 프로젝트 ID가 없는 경우 다음 단계를 진행합니다.
- Create a Unity Project ID > Organizations를 선택한 다음 드롭다운 메뉴에서 조직을 선택합니다.
- Create project ID를 선택합니다.
Unity 프로젝트 ID가 있는 경우 다음 단계를 진행합니다.
- Use an existing Unity project ID를 선택합니다.
- 드롭다운 메뉴에서 조직과 프로젝트를 선택합니다.
- Link project ID를 선택합니다.
Unity 프로젝트 ID가 표시되고 이제 Unity 서비스에 프로젝트가 연결됩니다.
UnityEditor.CloudProjectSettings.projectId
파라미터를 사용하여 Unity 에디터 스크립트에서 프로젝트 ID에 액세스할 수도 있습니다.
필수 패키지 설치
에디터에서 Cloud Code 모듈을 생성하려면 다음 패키지를 설치해야 합니다.
- Deployment
- Cloud Code(2.6.1 이상)
> 참고: Unity - 매뉴얼: Package Manager 창을 확인하여 Unity 패키지 관리자 인터페이스를 익혀 두십시오.
위 패키지를 설치한 후 다음 단계에 따라 사용 가능한 패키지 목록에 패키지를 추가합니다.
- Unity 에디터에서 Window > Package Manager를 선택하여 Package Manager 창을 엽니다.
- Unity 에디터의 Package Manager 창에서 + (add) > **Add package by name...**을 선택합니다.
com.unity.services.deployment
를 입력합니다.- Add를 선택합니다.
com.unity.services.cloudcode
에도 같은 단계를 반복합니다.
.NET 설치
에디터에서 Cloud Code 모듈을 배포하려면 먼저 .NET를 설치해야 합니다.
다음 단계를 따라 에디터에서 기본 .NET 경로를 설정합니다.
- Unity 에디터에서 Preferences 창을 엽니다.
- Windows의 경우 Edit > Preferences.. > Cloud Code를 선택합니다.
- macOS의 경우 Unity > Settings.. > Cloud Code를 선택합니다.
- .NET development environment 섹션에서 .NET path를 .NET가 설치된 경로로 수정합니다.
- Apply를 선택합니다.
Deployment 창 미리 보기
Deployment 창에서는 Cloud Code 모듈을 원격 환경에 배포할 수 있습니다. Deployment 패키지를 설치한 경우, Unity 에디터에서 Deployment 창에 액세스할 수 있습니다.
- Unity 에디터 버전 2021.3 이상인 경우: Window > Deployment를 선택합니다.
- Unity 에디터 버전 2022 이상인 경우: Services > Deployment를 선택합니다.
Deployment 창을 사용하려면 먼저 배포할 환경을 선택해야 합니다.
- Unity 에디터에서 Deployment 창을 엽니다.
- Deployment 창에서 Deployment Settings를 선택합니다.
- 새 Environments 창의 Editor Environment 드롭다운에서 환경을 선택합니다.
> 참고: Deployment 창은 다른 Unity Gaming Services도 지원합니다. Cloud Code 모듈이 다른 서비스를 사용하는 경우, 변경 사항을 동시에 배포할 수 있습니다.
자세한 내용은 Deployment 창을 참고하십시오.
Unity 에디터로 저작
설치된 Cloud Code 패키지에는 Cloud Code Authoring 모듈이 포함되어 있으며, 이 모듈을 사용하면 Unity 에디터에서 직접 Cloud Code 모듈을 생성하고 배포할 수 있습니다.
그러려면 먼저 에디터에서 모듈 레퍼런스 파일을 생성하고 해당 파일을 모듈 프로젝트에 연결해야 합니다. 구성을 완료하면 Deployment 창에서 모듈을 원격 환경에 배포할 수 있습니다.
C# 모듈 레퍼런스 파일 생성
시작하려면 먼저 Cloud Code C# 모듈 레퍼런스 파일을 생성해야 합니다. 이 파일은 솔루션에 대한 레퍼런스로, 배포하려는 C# 모듈 프로젝트가 포함되어 있습니다.
- Unity 에디터에서 프로젝트 창을 오른쪽 클릭한 다음 Create > Services > Cloud Code C# Module Reference를 선택합니다.
- 혼동을 피하기 위해 모듈 레퍼런스 이름을 모듈과 동일하게 지정합니다.
- Enter 키를 누릅니다.
> 참고: 배포된 모듈의 이름은 솔루션의 메인 프로젝트 이름과 동일합니다.
이제 프로젝트 창과 Deployment 창에서 새로 만든 모듈 레퍼런스를 볼 수 있습니다. 모듈 레퍼런스에 액세스하려면 Deployment 창을 엽니다.
모듈 연결
C# 모듈 레퍼런스를 모듈에 연결해야 합니다. 기존 솔루션을 연결해도 되고, Unity 에디터에서 새로운 솔루션을 생성해도 됩니다.
새 모듈 생성
모듈 레퍼런스 파일을 사용하면 Deployment 창에서 새 모듈을 생성할 수 있습니다. 생성된 모듈에는 모듈 개발을 시작하는 데 도움이 되는 필수 기본 설정이 포함되어 있습니다.
- Unity 에디터의 프로젝트 창에서 모듈 레퍼런스 파일을 선택합니다.
- 인스펙터 창에서 Generate Solution을 선택합니다.
Deployment 창에서 새 모듈을 직접 생성하는 것도 가능합니다.
- Unity 에디터에서 Deployment 창을 엽니다.
- 모듈 레퍼런스 파일을 오른쪽 클릭하고 Generate Solution을 선택합니다.
이렇게 하면 프로젝트 디렉토리의 루트에 생성된 모듈이 배치됩니다. Cloud Code는 레퍼런스 파일 이름을 사용하여 기본값 솔루션 경로를 생성합니다. 솔루션 파일 이름은 Cloud Code가 모듈 템플릿을 생성하는 데 사용하는 솔루션 경로입니다.
예를 들어 test_module.ccmr
레퍼런스 파일을 호출하는 경우 기본값 솔루션 경로는 ../test_module
이 될 수 있으며, 이를 통해 test_module.sln
의 솔루션 파일에 모듈이 만들어집니다.
기존 모듈 링크
다른 저작(authoring) 방법을 사용하여 새 모듈을 생성하려는 경우 모듈 작성을 참고하십시오. 모듈 레퍼런스에는 기본 솔루션 경로가 있습니다. 이 경로를 기존 모듈 솔루션에 대한 경로로 변경해야 합니다.
- Unity 에디터의 프로젝트 창에서 모듈 레퍼런스 파일을 선택합니다.
- 인스펙터 창에서 기존 모듈 솔루션을 가리키도록 Solution Path 필드를 수정합니다.
바인딩 생성
Unity 에디터에서 유형 안전성을 유지하는 클라이언트 코드를 생성할 수 있습니다. 모듈 레퍼런스 파일에서 바인딩을 생성하고, 바인딩을 사용하여 모듈 엔드포인트를 호출할 수 있습니다. 유형 안전성을 유지하는 클라이언트는 게임 클라이언트에서 사용되는 유형과 모듈에서 수신되는 유형을 매치하여 직렬화 문제가 발생하지 않도록 합니다.
다음 위치에서 바인딩을 생성할 수 있습니다.
인스펙터 창에서 생성하는 경우:
Unity 에디터의 프로젝트 창에서 모듈 레퍼런스 파일을 선택합니다.
인스펙터 창에서 Generate Bindings를 클릭합니다.
Deployment 창에서 생성하는 경우:
- Unity 에디터에서 Deployment 창을 엽니다.
- Cloud Code 모듈 레퍼런스를 오른쪽 클릭하고 Generate Code Bindings를 선택합니다.
툴바에서 생성하는 경우:
- Services > Cloud Code로 이동하여 Generate CloudCode Bindings를 선택합니다.
- 이렇게 하면 모든 기존 모듈 레퍼런스에 대한 바인딩이 생성됩니다.
Project Setting에서 생성하는 경우:
- Unity 에디터에서 Edit > Project Settings로 이동합니다.
- Services > Cloud Code로 이동하여 Generate All Module Bindings를 선택합니다.
- 이렇게 하면 모든 기존 모듈 레퍼런스에 대한 바인딩이 생성됩니다.
Unity 에디터는 Assets/CloudCode/GeneratedModuleBindings
디렉토리에 유형 안전성을 유지하는 클라이언트 코드를 생성합니다.
> 참고: 어셈블리 정의가 있는 경우 생성된 어셈블리 정의를 참조해야 할 수 있습니다. asmdef 레퍼런스에 "Unity.Services.CloudCode.GeneratedBindings"
를 추가합니다.
생성된 바인딩 사용 방법을 알아보려면 Unity Runtime에서 모듈 실행을 참고하십시오.
제한 사항
바인딩 생성에는 다음 제한 사항이 포함됩니다.
- 필수 파라미터와 선택 파라미터를 구별하지 않습니다.
- Tuple은 파라미터나 반환 값으로 지원되지 않습니다.
- 열거형 멤버의 명시적 값을 정의하는 작업은 지원되지 않으며, 바인딩 생성 후에 표시되지 않습니다.
모듈 배포
Deployment 창을 사용하여 모듈을 배포할 수 있습니다. Unity 에디터에서 플레이 모드에 진입할 때 자동으로 배포할 수도 있습니다.
모듈을 배포하려면 다음 내용을 따릅니다.
- Unity 에디터에서 Deployment 창을 엽니다.
- 프로젝트 창에서 모듈 레퍼런스 파일을 선택합니다.
- Deployment 창에서 Deploy Selected를 선택합니다.
중요: 기본적으로 배포는 솔루션의 Release
빌드 구성을 기반으로 합니다. 이 구성에는 크기를 축소하기 위한 테스트 프로젝트 등의 추가 콘텐츠를 포함하지 않아야 합니다. 빌드 구성에 관한 자세한 내용은 Rider나 Visual Studio의 기술 자료를 참고하십시오.
자세한 내용은 Deployment 패키지 매뉴얼을 확인하십시오.
성공적인 배포인 경우 프로젝트 창의 모듈 레퍼런스 창 옆에 초록색 체크 표시가 나타납니다.
모듈 엔드포인트를 호출해서 배포에 성공했는지 확인할 수 있습니다. 템플릿 모듈에는 SayHello
라는 기본 엔드포인트가 있습니다.
모듈 엔드포인트 호출 방법을 알아보려면 Unity Runtime에서 모듈 실행을 참고하십시오.