Cloud Code

Cloud Code는 클라우드에서 코드를 작성하고 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. Unity의 Cloud Code를 사용해 완전히 관리되는 인프라에서 상태 비보존형 서버 측 코드를 작성할 수 있습니다. Cloud Code는 완전히 관리되는 서비스로서 트래픽 수요를 충족하도록 자동으로 스케일링됩니다. 게임 로직 개발에 집중하고 클라이언트로부터 분리하여 부정 행위를 방지할 수 있습니다.

Cloud Code는 Remote Config, Cloud Save, Economy, Leaderboards 등 다른 Unity 서비스와 연동되도록 완전히 호환됩니다.

Cloud Code를 다른 Unity 서비스와 함께 사용하면 전체 게임 백엔드를 생성하고 인게임 경제, 플레이어 데이터용 스토리지, 동적 설정 구성과 같은 솔루션을 배포하면서 게임 로직을 안전하게 유지할 수 있습니다.

Cloud Code C# 모듈은 [Unity 스크립팅 API]의 네임스페이스 또는 그 외 요소에서 UnityEngine의 클래스를 사용할 수 없습니다. Cloud Code가 오픈 소스 [.NET 런타임]을 사용하기 때문입니다. 이는 Unity Runtime과는 별개이며 해당 [스크립팅 백엔드]를 사용하지 않습니다.

Cloud Code를 통한 해결 방법

문제해결 방법
클라이언트 업데이트 롤아웃 없이 코드를 라이브 게임에 배포해야 하는데 이로 인해 플레이어가 인스톨을 업데이트해야 합니다.플레이어가 업데이트해야 할 필요 없이 Cloud Code를 사용하여 게임 로직을 업데이트합니다.
악의적 플레이어가 클라이언트 코드를 수정하거나, 상태를 변경하거나, 부정 행위를 할 수 없도록 하고 싶습니다. 플레이어가 게임 로직을 리버스 엔지니어링하는 것도 막고 싶습니다.Cloud Code를 활용하여 게임 로직이 안전한 샌드박스에서 실행되고 클라이언트로부터 분리되도록 합니다.
여러 온라인 서비스를 사용하되 게임이 느리다고 느껴지지 않았으면 하며 더 많은 서버 측 컴포넌트와 연동함에 따라 게임 클라이언트에 쉽게 작성할 수 있었으면 합니다.Cloud Code를 활용하여 다른 Unity 서비스와 연동하고 여러 컴포넌트와 연결된 코드를 작성합니다.
게임 로직을 실행하기 위해 인프라를 관리하고 트래픽 수요를 충족할 수 있도록 인프라를 스케일링해야 합니다.Cloud Code를 활용하여 완전히 관리되는 인프라에서 상태 비보존형 서버 측 코드를 작성합니다.
게임에 트래픽이 수신되지 않는 경우 미사용 리소스에 대해 비용을 지불하고 싶지 않습니다.Cloud Code를 활용하여 사용한 것에 대해서만 비용을 지불합니다.
인증이나 호환성에 대한 우려 없이 여러 컴포넌트와 연결되는 코드를 작성하기 위한 해결 방법이 필요합니다.Cloud Code를 활용하여 빌트인 호환성을 갖춘 다른 Unity 서비스와 연동하는 코드를 작성합니다.

Cloud Code에서 모듈과 스크립트 사용

게임에서 Cloud Code를 호출하기 위해 연동된 Unity SDK 또는 Cloud Code 클라이언트 API를 사용할 수 있습니다(Unity 에디터 외부에서 작업해야 하는 경우).

Cloud Code에서 지원되는 두 가지 유형의 코드는 Cloud Code C# 모듈과 Cloud Code JavaScript 스크립트입니다.

요구 사항에 맞는 방법을 선택하려면 다음 개요를 검토하십시오.

Cloud Code C# 모듈Cloud Code JavaScript 스크립트
런타임.NET 7Node.js 14
언어C#JavaScript
배포에디터, 커맨드 라인 또는 관리자 API에디터, [대시보드], 커맨드 라인 또는 관리자 API
실행SDK 또는 런타임 APISDK 또는 런타임 API
외부 라이브러리 지원NuGet 패키지 관리자공개 인터넷 엔드포인트공개 인터넷 엔드포인트

Cloud Code C# 모듈은 [Unity 스크립팅 API]의 네임스페이스 또는 그 외 요소에서 UnityEngine의 클래스를 사용할 수 없습니다. Cloud Code가 오픈 소스 [.NET 런타임]을 사용하기 때문입니다. 이는 Unity Runtime과는 별개이며 해당 [스크립팅 백엔드]를 사용하지 않습니다.

Cloud Code 인터페이스

Cloud Code를 사용하여 애플리케이션을 연동하고 관리하는 방법에는 다음과 같이 여러 가지가 있습니다.

인터페이스지원설명사용
Cloud Code SDK스크립트 및 모듈Unity 프로젝트를 Cloud Code와 연동하는 SDK(소프트웨어 개발 키트)SDK를 사용하여 모듈 엔드포인트를 호출하거나 Unity Runtime에서 스크립트를 호출합니다.
Unity Dashboard스크립트 및 제한된 모듈 지원Cloud Code 구성 및 설정을 관리하는 웹 기반 인터페이스스크립트를 생성하고, 미리 보고, 테스트 실행하며 모듈을 미리 봅니다.
Unity Gaming Services 커맨드 라인 인터페이스스크립트 및 모듈Cloud Code 구성 및 설정을 관리하는 커맨드 라인 인터페이스Cloud Code를 CI/CD와 연동하고 파일 기반 워크플로를 사용하여 Cloud Code와 다른 Unity 서비스를 함께 배포합니다.
Cloud Code 관리자 API스크립트 및 모듈Cloud Code 스크립트 및 모듈을 관리하는 REST APIREST API를 사용하여 Cloud Code 스크립트 및 모듈을 생성하고, 읽고, 업데이트하고, 삭제합니다.
Cloud Code 클라이언트 API스크립트 및 모듈Cloud Code 스크립트 및 모듈 엔드포인트를 호출하는 REST APIAPI 호출을 통해 Cloud Code 스크립트 및 모듈을 호출하고 Unity 에디터 외 제품과 연동합니다.
배포스크립트 및 모듈Unity 에디터 및 UGS CLI 확장배포를 사용하여 Unity Dashboard 대신 파일로 Cloud Code를 구성합니다. 이러한 파일을 버전 관리의 일부로 포함하여 Unity Dashboard에서 컨텍스트 전환을 최소화합니다.

코드를 배포하고 실행하는 방법을 이해하려면 다음 단계 진행 섹션의 옵션 중 하나를 따릅니다.

다음 단계 진행

Cloud Code C# 모듈

타입 세이프(type-safe) 프로그래밍 언어와 강력한 .NET 컴포넌트를 사용하여 서버 측 코드를 작성합니다. NuGet과 같은 툴을 사용하여 DLL(동적 링크 라이브러리)을 번들링하는 프로젝트에서 필요한 기타 콘텐츠를 활용합니다.

Cloud Code C# 모듈 시작하기

Cloud Code JavaScript 스크립트

반복 작업(iteration)이 수월한 언어를 사용하여 서버 측 코드를 작성합니다. JavaScript 프론트엔드로 개발을 시작했다면 동일한 생태계를 사용하여 기존의 개발 경험을 활용할 수 있습니다. Cloud Code 커맨드 라인으로 바로 지원되는 CommonJS 및 ECMAScript 모듈 시스템을 통해 재사용 가능한 부분으로 코드를 번들링하십시오.

Cloud Code JavaScript 스크립트 시작하기