UGS 릴리스 노트
최신 패키지 기능을 액세스하는 방법
패키지를 업그레이드하려면 설치 지침을 따르십시오. 에디터에서 패키지의 최신 버전이 보이지 않으면 최신 LTS 또는 테크 스트림 릴리스로 업데이트해야 합니다.
일부 새로운 기능은 사전 릴리스 버전이며 pre
태그로 식별됩니다. 사전 릴리스 패키지 작업에 대해 자세히 알아보십시오.
2024년 11월
Authentication SDK 3.4.0
추가 내역
- 씬 저작(authoring) 시 인증을 관리하기 위해
PlayerAuthentication
컴포넌트가 추가되었습니다.
변경 내역
- 지원되는 최소 에디터 버전이 2021.3으로 업데이트되었습니다.
Cloud Save SDK 3.2.1
변경 내역
- 지원되는 최소 에디터 버전이 2021.3으로 업데이트되었습니다.
- Apple 개인정보 보호 매니페스트가 업데이트되었습니다.
Core SDK 1.14.0
추가 내역
- 씬 저작 시 서비스를 관리하기 위해
ServicesInitialization
MonoBehaviour가 추가되었습니다. ServicesBehaviour
abstract MonoBehaviour가 서비스 위에 구축된 동작의 기본으로 추가되었습니다.- 커스텀 서비스 레지스트리 생성을 위한 고유 식별자가 추가되었습니다(
UnityServices.CreateServices
). UnityServices.Services
에 커스텀 서비스 레지스트리 딕셔너리가 추가되었습니다.IUnityServices
인터페이스에 기본 구현 사항이 포함된GetIdentifier()
메서드가 추가되었습니다.
변경 내역
- 지원되는 최소 에디터 버전이 2021.3으로 업데이트되었습니다.
Economy SDK 3.5.0
추가 내역
- Economy 리소스 파일에 View in Deployment Window 버튼이 추가되었으며, 이는 Deployment 패키지 버전 1.4.0에 종속됩니다.
- 오버라이드된 경제 콘텐츠를 반환할 수 있도록 REST API 요청 헤더에 unity-installation-id가 추가되었습니다.
- 필요한 경우 ExternalUserId로 설정할 수 있도록 REST API 요청 헤더에 analytics-user-id가 추가되었습니다.
수정 내역
- Economy 배포 에셋 도움말 URL이 수정되었습니다.
- 예외가 발생할 때 중복 로그를 수정했습니다.
- Deployment 창을 사용할 수 없을 때 오류 로그가 추가되었습니다.
- 패키지 기술 자료에 누락된 목차가 추가되었습니다.
Leaderboards SDK 2.2.0
추가 내역
.lb
파일에 View in Deployment Window 버튼이 추가되었으며, 이는 Deployment 패키지 버전 1.4.0에 종속됩니다.
변경 내역
- 게임플레이 데이터 사용을 포함하기 위해 Apple 개인정보 보호 매니페스트를 업데이트했습니다.
수정 내역
- 리더보드 에셋에서 관련 기술 자료로 이동하는 도움말 URL이 수정되었습니다.
Multiplayer Play Mode SDK 1.3.2
추가 내역
- 플레이 모드에서 가상 플레이어 창의 레이아웃이 편집 모드와 동일한 경우 창을 다시 구성하지 않도록 하였습니다. 이렇게 하면 창의 앵커를 유지하는 데 도움이 됩니다.
수정 내역
- 클로닝이 활성화 중일 때 플레이 모드 시나리오가 중지되면 클로닝이 계속 활성 상태로 남아 있는 문제를 수정했습니다.
- 클로닝 에디터의 레이아웃 구성에서 Playmode Tools를 활성화하면 잘못된 레이아웃이 표시될 수 있는 문제를 수정했습니다.
- 전용 서버 패키지 버전이 일치하지 않을 때 `'UnityPlayer'에 'Role' 정의가 포함되어 있지 않음`이라는 컴파일 오류가 발생하는 문제를 수정했습니다.
Push Notifications SDK 4.0.1
변경 내역
- 일부 경우 Android 디바이스에서
registerForPushNotificationsAsync
메서드가 응답하지 않는 버그를 해결했습니다.
Vivox SDK 16.5.3
추가 내역
- 다이렉트 메시지에서 WebGL을 지원합니다.
수정 내역
- 로그인 시 WebGL 상태 정보가 설정됩니다.
- 지원 중단 예정인 Google Analytics 플랫폼의 모든 임포트와 사용을 제거했습니다. 이 서비스는 활성화된 적이 없으며, 포함된 기간 동안 데이터가 수집되지 않았습니다.
Tooling SDK 1.2.0
추가 내역
.ac
리소스 파일에 View in Deployment Window 버튼이 추가되었으며, 이는 Deployment 패키지 버전 1.4.0에 종속됩니다.- 액세스 제어 에셋에서 도움말 URL 링크가 추가되었습니다.
2024년 10월
Analytics SDK 6.0.2
- 수정 내역: 2022 및 최신 에디터 버전에서 Package Manager의 Go To Dashboard 링크를 클릭하면 관련 없는 오류 페이지 대신 올바른 랜딩 페이지로 이동합니다.
- 수정 내역: 누락된 공용 API 요소에 대해 XmlDoc 주석을 추가했습니다.
- 수정 내역: SDK를 처음 활성화하기 전에
ExternalUserId
를 설정하면 마지막으로 본 사용자 ID와 다를 경우 새로운newPlayer
이벤트가 올바르게 기록됩니다. - 수정 내역: 데이터 수집이 활성화된 상태에서
ExternalUserId
를 변경하면 올바르게 새로운 세션이 시작되고 시작 이벤트가 기록됩니다. - 수정 내역: 데이터 수집이 비활성화된 상태에서
ExternalUserId
를 변경하면 데이터 수집이 (재)활성화될 때 시작 이벤트가 올바르게 기록됩니다.
Deployment SDK 1.4.0
추가 내역: Deployment API DeploymentWindow에 구현을 추가했습니다.
추가 내역: Deployment 세부 정보 창에서 텍스트를 바로 복사할 수 있는 기능이 추가되었습니다.
추가 내역:
.ddef
파일에 View in Deployment Window 버튼이 추가되었습니다.수정 내역: 상태 패널이 처음 표시될 때 지나치게 크게 표시되던 문제를 수정했습니다.
수정 내역: 배포 정의의
ExcludePaths
에서 상대 경로가 지원되지 않던 문제를 수정했습니다.수정 내역: 탭 전환 시 항목의
status
필드에 플레이스홀더 텍스트가 표시되는 문제를 수정했습니다.수정 내역: 탭 전환 시 진행 표시줄이 사라지는 문제를 수정했습니다.
수정 내역: 드래그라인 위치와 창 크기의 GUI 상태가 창 인스턴스 간에 유지되지 않아 창을 열 때 원치 않는 상태가 나타나는 문제를 수정했습니다.
Deployment API SDK 1.1.2
추가 내역: Deployment 창과 쉽게 상호 작용할 수 있도록 DeploymentWindow API가 추가되었습니다. 이 API는 지원되는 패키지의 새로운 UI에서 활용됩니다.
추가 내역:
SetStatusSeverity
에서 메시지와 세부 정보가 플립되는 문제를 수정했습니다.수정 내역: Deployment 창의 주요 작업을 공용으로 사용할 수 있도록 수정했습니다.
수정 내역: CLI 상호호환성을 위한 보조 인터페이스와 클래스가 추가되었습니다.
Cloud Code
추가 내역:
.ccmr
과.js
파일에 View in Deployment Window 버튼이 추가되었으며, 이는 Deployment 패키지 버전 1.4.0에 종속됩니다.추가 내역:
.ccmr
과.js
파일의 인스펙터에 View in Dashboard 버튼이 추가되었습니다.추가 내역:
.ccmr
과.js
파일의 Deployment 창에 View in Dashboard 컨텍스트 메뉴가 추가되었습니다.추가 내역:
.ccmr
인스펙터에Open Solution
버튼이 추가되었습니다.추가 내역: Cloud Code 바인딩 생성을 위한 열거형을 지원합니다.
수정 내역: Cloud Code 모듈 바인딩 생성 시 다양한 기본형을 지원합니다.
수정 내역: Unity 6에서 스크립트 내 파라미터 분석 시 예외가 발생하는 문제를 수정했습니다.
수정 내역:
.ccmr
인스펙터에서 Browse... 버튼을 누르면 이제 솔루션 폴더가 제대로 열립니다.수정 내역: 기본형의 Cloud Code 바인딩 생성 관련 문제를 수정했습니다.
수정 내역: 바인딩 생성이 최신 버전의 런타임에서 실행을 시도하도록 수정했습니다. 이는 CLOUD_CODE_AUTHORING_DISABLE_VERSION_DETECT 플래그로 비활성화할 수 있습니다.
수정 내역: Deployment 1.3과의 호환성을 수정했습니다.
2024년 9월
Cloud Code
- 추가 내역:
- Cloud Code C# 모듈에서 .NET 7, 8, 9를 지원합니다.
- Unity Cloud Dashboard에서 Cloud Code C# 모듈의 세부 정보 페이지가 추가되었습니다. 자세한 내용은 Unity Dashboard의 모듈을 참고하십시오.
- Unity Cloud Dashboard에서 Triggers가 지원됩니다. 자세한 내용은 Unity Cloud Dashboard에서 Triggers 정의를 참고하십시오.
- Cloud Code와 Triggers를 시작하기 위한 동영상 가이드가 추가되었습니다.
Vivox(음성 및 텍스트 채팅)
- 릴리스 내역: Vivox Unity 패키지 버전 16.5.0
- 이번 릴리스에서는 Vivox WebGL에 대한 제한적인 지원이 추가되었습니다.
- 변경 내역:
- IVivoxTokenProvider 확인 단계를 Vivox SDK 초기화에서 Login 작업으로 이동했습니다.
- 수정 내역:
- 이전에는 문자를 입력할 때마다 탭이 등록되었지만 모든 필드가 완전히 편집된 후에만 탭이 등록되도록 변경하여 오디오 탭 인스펙터와 상호 작용하는 전반적인 경험을 개선했습니다.
- 예상치 못한 값이 입력되면 오디오 탭의 ‘채널 이름’ 필드가 비어 있는 상태로 재설정되는 버그를 수정했습니다.
- 릴리스 내역: 모든 Vivox SDK의 v5.25
- 모든 변경 사항은 각 릴리스 노트 페이지를 참고하십시오.
Service APIs SDK 1.1.0
- 변경 내역: Multiplay 관리자 API가 더 이상 'ENABLE_SERVICES_EXPERIMENTAL_APIS' 정의 기호에 포함되지 않습니다. 그러나 API 클라이언트는 기본적으로 이러한 기호를 포함하지 않습니다. Multiplay 관리자 API 작업을 호출하려면 플레이어 설정에
EXPERIMENTAL
지시문을 추가하십시오. - 변경 내역: MatchmakerTicketsAPI가 더 이상 'ENABLE_SERVICES_EXPERIMENTAL_APIS' 정의 기호에 포함되지 않습니다. 그러나 API 클라이언트는 기본적으로 이 기호를 포함하지 않습니다. MatchmakerTicketsAPI 작업을 호출하려면 플레이어 설정에
EXPERIMENTAL
지시문을 추가하십시오. - 변경 내역: IServerClient.SignInFromServer가 더 이상 'ENABLE_SERVICES_EXPERIMENTAL_APIS' 정의 기호에 포함되지 않습니다.
- 변경 내역: ProxyApi가 더 이상 'ENABLE_SERVICES_EXPERIMENTAL_APIS' 정의 기호에 포함되지 않습니다.
- 변경 내역: Game.Friends API가 더 이상 'ENABLE_SERVICES_EXPERIMENTAL_APIS' 정의 기호에 포함되지 않습니다.
Multiplayer Services 1.0.0
- 수정 내역:
- 세션 프로퍼티 생성자의 기본값을 수정했습니다.
- 업데이트할 때
SessionHandler
가 프로퍼티의 인덱스를 삭제하는 문제를 수정했습니다. - Session 업데이트를 폴링하는 중에 플레이어가 Session에서 추방될 때 Session 클린업 문제를 수정했습니다.
- 존재하지 않는 세션을 삭제할 때 발생하는 세션 오류를 수정했습니다.
- 네트워크 게임 오브젝트와의 포트 무작위화 호환성 문제를 수정했습니다.
- P2P 매치에서 매치메이킹 결과를 가져오는 데 가끔 실패하던 문제를 수정했습니다.
- 매치메이킹 결과에서 204 예외가 발생하는 문제를 수정했습니다.
- 플레이 모드에서 서버 빌드 프로파일이 아닌 경우 제한된 서버 기능을 지원하도록
ENABLE_UCS_SERVER
스크립팅 정의 관련 오류를 수정했습니다. - Game Server Hosting에서 SQP 서버를 시작할 때 발생하던
TaskCanceledException
을 수정했습니다. - 프로퍼티가 변경되지 않은 경우 세션 필드를 저장하지 않는
SavePropertiesAsync
문제를 수정했습니다. SessionError
의 오타를 수정했습니다.- Matchmaker 배포 창:
- 원격 대기열에 필터링된 풀이 있는 경우 대기열 배포 문제를 수정했습니다.
- 원격 대기열에 풀이 없는 경우 대기열 배포 문제를 수정했습니다.
backfillEnabled
가 더 이상 무시되지 않습니다.defaultQoSRegionName
이 이제 필수로 문서화됩니다.defaultQoSRegionName
에 이제North America
지역이 유효한 값으로 추가되었습니다.- 대기열과 개발 환경 구성 파일 모두에
$schema
문서 필드가 추가되었습니다.
- 변경 내역:
- QoS Calculator를 내부용으로 변경했습니다.
- Game Server Hosting 구성 스키마를 수정했습니다.
- ‘buildConfigurations’에서 서버 하드웨어 설정을 지원 중단 예정으로 표시했습니다.
- Distributed Authority 세션 프로퍼티가 업데이트되었습니다.
- 세션의 연결 메타데이터 가시성이
Member
로 설정되었습니다. - ClientServerBootstrap 월드 확인 시 예외 메시지가 개선되었습니다.
- 추가 내역:
- Distributed Authority 세션 생성 시 QoS 영역 선택 기능이 추가되었습니다(영역이 전달되지 않은 경우).
- 플레이어가 참여한 세션을 쿼리할 수 있는 API가 추가되었습니다.
IMultiplayerService.GetJoinedSessionIdsAsync
- 세션에 다시 연결할 수 있는 방법이 추가되었습니다.
IMultiplayerService.ReconnectToSessionAsync
- Game Server Hosting 빌드에서 기본 패턴(예: *, ?)을 지원하는 제외 경로가 추가되었습니다.
- Game Server Hosting 구성 스키마를 수정했습니다.
- ‘fleets’에 서버 밀도 설정('usageSettings')이 추가되었습니다.
IMultiplaySessionManager.Session
에 액세스할 때 확인 기능이 추가되었습니다.
- 개선 사항:
- 기술 자료를 업데이트하여 Game Server Hosting 브랜드를 Multiplay Hosting으로 교체했습니다.
- Multiplay Hosting 기술 자료에서 깨진 링크를 수정했습니다.
com.unity.services.wire
종속성을 1.2.7로 업데이트하여 특히 Lobby와 관련된 재연결 문제를 수정했습니다.- Netcode for GameObjects의 최소 요구 버전이 2.0.0-pre.3에서 2.0.0으로 변경되었습니다.
- Netcode for Entities의 최소 요구 버전이 1.3.0-pre.2에서 1.3.2로 변경되었습니다.
2024년 8월
Analytics SDK 6.0.1
- 추가 내역: Unity 에디터에서 Services > Analytics > Debug Panel을 통해 액세스할 수 있는 새로운 Analytics 디버그 패널이 추가되었습니다.
- 변경 내역: UGS Analytics SDK에서 지원하는 최소 에디터 버전은 2021.3입니다.
- 삭제 내역: 이전 버전의 SDK에서
Obsolete
로 표시된 모든 메서드, 클래스, 구조체가 제거되었습니다(업그레이드에 문제가 있는 경우 먼저 5.1.0으로 이동하여 지원 중단 예정 경고를 수정한 후 6.0.0으로 이동해야 함).
Vivox Safe Voice
- 릴리스 내역: Safe Voice 셀프 서브 플로가 Vivox 통합 안전 플랫폼의 일부로 릴리스되었습니다.
Vivox Safe Text
- 릴리스 내역: Safe Text 셀프 서브 플로가 Vivox 통합 안전 플랫폼의 일부로 릴리스되었습니다.
Service APIs SDK 1.0.1
추가 내역: 패키지가 실험 버전에서 정식으로 릴리스되었습니다.
변경 내역: 여러 서비스에서 ENABLE_SERVICES_EXPERIMENTAL_APIS 정의 기호 아래로 기능이 이동되었습니다.
수정 내역: Observability의 GetLogs 함수에서 발생하는 역직렬화 오류를 수정했습니다.
Multiplay Hosting SDK 1.2.5
추가 내역: 관리자 API와 상호 작용할 수 있는 API가 추가되었습니다.
추가 내역: Deployment 기능과 상호 작용할 수 있는 API가 추가되었습니다.
변경 내역: 부분 성공 사례의 경우 업로드가 더 강력하게 개선되었습니다.
수정 내역: 일부 경우에 gsh deploy upload가 실패하는 문제를 수정했습니다. 부분적으로 업로드된 파일이 재시도되지 않고 후속 빌드 버전이 생성되지 않는 문제를 수정했습니다.
수정 내역: 업로드 커맨드에서 처리할 일이 없을 경우 동기화를 기다리지 않던 문제를 수정했습니다.
2024년 7월
CLI 1.6.0
추가 내역: [Game Server Hosting] 빌드와 빌드 구성의 소스로 GCS(Google Cloud Storage) 지원이 추가되었습니다.
번역 내역: [Game Server Hosting]
gsh build configuration
의 생성과 업데이트 시--speed
,--cores
,--memory
옵션을 지원 중단 예정으로 표시하여 이전 버전과의 호환성을 유지합니다.변경 내역: 새로운 사용법은 서버 밀도 구성을 사용하는 플릿에 설정해야 합니다.
수정 내역: [Remote Config] 빈 개발 환경의 임포트와 익스포트 문제를 수정했습니다.
수정 내역: [Cloud Content Delivery] 이제 경로를 항상 슬래시(/)로 정규화하여 Windows 플랫폼에서도 일관되게 처리합니다.
Multiplayer SDK 1.0.0-pre.1
추가 내역: 네트워크 핸들러에서 자동 포트 선택을 활성화할 수 있도록 세션 퍼블리시 포트를 업데이트하는 기능(NetworkConfiguration.UpdatePublishPort)이 추가되었습니다.
추가 내역: Multiplay Hosting과 Matchmaker의 Config as Code 리소스 파일을 위한 View in Deployment Window 버튼이 추가되었으며, 이는 Deployment 패키지 버전 1.4.0에 종속됩니다.
변경 내역: 다이렉트 네트워크 옵션 기본값을 업데이트했습니다. listenIp와 publishIp의 기본값을 127.0.0.1로, 포트 기본값을 0으로 변경했습니다.
변경 내역: 세션의 Netcode for Entities 네트워크 지원을 버전 1.3.0-pre.2로 업데이트했습니다.
변경 내역: 세션의 Netcode for GameObjects v2 네트워크 지원을 버전 2.0.0-pre.1로 업데이트(배포 권한 필수)했습니다.
수정 내역: 일부 경우에 gsh deploy upload가 실패하는 문제를 수정했습니다.
Matchmaker SDK 1.1.5
- 수정 내역: 비기본 개발 환경에서 ABTesting 오버라이드 문제를 수정했습니다.
2024년 6월
In-App Purchasing SDK 4.12.1-pre.4
추가 내역: Google Play -
IGooglePlayConfiguration.SetObfuscatedAccountId
로 설정된 구매 항목의 난독화된 계정 ID를 가져오기 위한IGooglePlayStoreExtensions.GetObfuscatedAccountId(Product product)
가 추가되었습니다.추가 내역: Google Play -
IGooglePlayConfiguration.SetObfuscatedProfileId
로 설정된 구매 항목의 난독화된 프로필 ID를 가져오기 위해IGooglePlayStoreExtensions.GetObfuscatedProfileId(Product product)
가 추가되었습니다.추가 내역: Apple - visionOS 지원이 추가되었습니다.
변경 내역: Google Play - 결제 라이브러리가 6.2.1로 업데이트되었습니다(이전 버전: 5.2.1). 새로운 기능 지원은 추가되지 않았습니다. 구독은 여전히 단일 기본 플랜만 지원합니다.
변경 내역: Google Play - 종속성이 이제 Gradle 파일에 삽입됩니다. 결제 aar 파일은 더 이상 포함되지 않습니다.
변경 내역: Google Play - Google에서 발생하는
setOfferToken
경고를 해결하기 위해skuDetails
대신productDetails
를 사용하도록 내부 구현 방식이 업데이트되었습니다.변경 내역: Google Play -
IGooglePlayStoreExtensions.GetPurchaseState(Product product)
가 getOriginalJson() 대신 getPurchaseState()를 사용하도록 업데이트되었습니다. 이 변경으로 구매 상태가 더 안정적으로 동작합니다.변경 내역: Google Play -
IGooglePlayStoreExtensions.ConfirmSubscriptionPriceChange
는 Google Play 결제 라이브러리가 6.0.0부터 더 이상 지원되지 않으므로[Obsolete]
로 표시되었습니다. 대체 방법은 가격 변경 가이드를 참고하십시오.변경 내역: Google Play -
IStoreListener.OnInitializeFailed
에서InitializationFailureReason.PurchasingUnavailable
상태일 경우, 제품 검색이 성공했지만 오류로 인해 제품이 반환되지 않으면 BillingResponseCode가 반환됩니다.변경 내역: Apple - 스토어에서 검색된 구매는
appleProductIsRestored
로 간주됩니다.변경 내역: Apple -
Product.appleProductIsRestored
는 이미 처리된 상태이므로ProcessPurchase
로 전송되지 않습니다.변경 내역: Apple - 위의 변경 사항은 중복된 구매 이벤트를 방지하여 Analytics 데이터를 개선합니다.
변경 내역:
com.unity.services.core
가 1.8.2에서 1.12.5로 업그레이드되어 Apple 개인정보 보호 매니페스트가 포함되었습니다.수정 내역:
OnPurchaseFailed
를 수행했습니다. 제품 구매가 불가능할 때, 이제부터PurchaseFailureDescription
에서transactionId
대신productId
를 반환합니다.수정 내역: Unity 엔진 2020에서 제품을 검색할 때 발생하는 NullReferenceException을 수정했습니다.
수정 내역: Google Play - Unity 엔진 2021.1에서
CloneReference
관련 오류를 수정했습니다.수정 내역: Google play - 종속성 해결 후 종속성이 추가되어 오류가 발생하는 문제를 수정했습니다.
수정 내역: Google Play -
Product.receipt
의price_amount_micros
가 가격을 반환하던 것을 마이크로 단위 가격을 반환하도록 수정했습니다.수정 내역: Google Play - Unity 엔진 2021.2 이하에서 제품을 검색할 때 발생하는
NullReferenceException
을 수정했습니다.수정 내역: Google Play - 잘못된 ProductID로
OnProductReceived
콜백이 호출되지 않는 문제를 수정했습니다.수정 내역: Google Play - IAP 종속성을 비활성화할 때 Windows에서 발생하는 문제를 수정했습니다.
수정 내역: Google Play - 구매를 가져올 때 발생할 수 있는
InvalidOperationException
을 수정했습니다. (Unity IAP 4.6.0부터)삭제 내역: Google Play -
Product.receipt
의"Payload"
내"skuDetails"
에서iconUrl
과skuDetailsToken
서브 엔트리는 더 이상 지원되지 않으므로 이제 빈 문자열을 반환합니다.삭제 내역: 다른 플러그인과 충돌을 일으킬 수 있는 불필요한 Android 종속성
androidx.activity:activity-compose:1.3.1
을 제거했습니다.
Core SDK 1.13.0
- 추가 내역: UnityServices에 초기화 성공 이벤트와 실패 이벤트가 추가되었습니다.
CLI 1.5.0
추가 내역: Cloud Save 모듈 서비스 커맨드가 추가되었습니다. ugs cloud-save -h를 실행하면 사용법을 확인할 수 있습니다.
추가 내역: Matchmaker에서 Deploy와 Fetch를 지원합니다.
수정 내역: --services와 --key 옵션에서 여러 엔트리를 지원합니다.
수정 내역: Cloud Content Delivery에서 대용량 파일에 대한 콘텐츠 업로드 실패 또는 시간 초과 문제를 수정했습니다.
Cloud Code SDK 2.7.1
추가 내역: 사용 가능한 구독 이벤트 콜백에 MessageBytesReceived 콜백이 추가되었습니다.
추가 내역: 코어 서비스 레지스트리에 서비스 등록이 추가되었습니다.
추가 내역: 코어 서비스 레지스트리를 통한 서비스 액세스 기능이 추가되었습니다(UnityServices.Instance.GetCloudCodeService()).
추가 내역: Cloud Code 모듈의 경로를 선택할 때 파일을 탐색할 수 있는 버튼이 추가되었습니다.
변경 내역: MessageReceived 콜백은 이제 이벤트 구독을 통해 바이트를 수신할 때 더 이상 호출되지 않습니다.
수정 내역: ILogger 종속성 삽입을 사용할 때 바인딩 생성이 깨지는 문제를 수정했습니다.
수정 내역: Cloud Code 모듈이 배포하거나 바인딩을 생성한 후 컴파일 아티팩트를 정리하도록 수정했습니다.
수정 내역: Cloud Code 런타임 시간 초과를 30초로 늘렸습니다.
수정 내역: Cloud Code 에셋 생성 메뉴 항목을 ‘Services’ 아래로 이동했습니다.
Tooling SDK 1.1.0
- 수정 내역:
Unity.Services.Tooling.Editor
어셈블리가 비어 있다는 경고를 수정했습니다. - 수정 내역: ‘Services’ 아래로 액세스 제어 구성 생성 메뉴 항목을 이동했습니다.
2024년 5월
Analytics 대시보드
- 변경 내역: 대시보드의 원형 차트 렌더링 성능을 개선했습니다.
- 변경 내역: 이벤트 관리자에서 지난 24시간 동안 수신된 유효한 이벤트와 유효하지 않은 이벤트의 총 수를 표시합니다.
2024년 4월
Vivox(음성 및 텍스트 채팅)
- 릴리스 내역: Vivox Unity 패키지 버전 16.3.0
- 이번 릴리스에서는 Apple 플랫폼에 필요한 새로운 PrivacyInfo.xcprivacy 파일이 추가되었습니다.
- 릴리스 내역: 모든 Vivox SDK의 v5.23.1
- 이번 릴리스에서는 Apple 플랫폼에 필요한 새로운 PrivacyInfo.xcprivacy 파일이 추가되었습니다.
Economy SDK 3.4.0
추가 내역: 서비스 인스턴스와 전역 액세스 포인트를 지원합니다.
추가 내역: Apple의 새로운 개인정보 보호 요구 사항을 준수하기 위해 Apple 개인정보 보호 매니페스트를 추가했습니다. Unity 엔진에서 이를 지원하는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
변경 내역: com.unity.services.core가 1.12.0에서 1.12.5로 업그레이드되어 Apple 개인정보 보호 매니페스트가 포함되었습니다.
변경 내역: com.unity.services.authentication이 3.1.0에서 3.3.1로 업그레이드되어 Apple 개인정보 보호 매니페스트가 포함되었습니다.
User Generated Content SDK 3.0.1
추가 내역: Apple의 새로운 개인정보 보호 요구 사항을 준수하기 위해 Apple 개인정보 보호 매니페스트를 추가했습니다. Unity 엔진에서 이를 지원하는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
변경 내역: com.unity.services.core가 1.9.0에서 1.12.5로 업그레이드되어 Apple 개인정보 보호 매니페스트가 포함되었습니다.
변경 내역: com.unity.services.authentication이 2.5.0에서 3.3.1로 업그레이드되어 Apple 개인정보 보호 매니페스트가 포함되었습니다.
Core SDK 1.12.5
추가 내역: Apple 개인정보 보호 매니페스트 파일(PrivacyInfo.xcprivacy)이 추가되었습니다.
수정 내역: 선택적
FEATURE_SERVICES_INSTANCES
프리 프로세서 정의와 관련된 문제를 해결했습니다.
Tooling SDK 1.0.0
- 추가 내역: 액세스 제어를 위한 Deployment 기능을 구현했습니다.
- 추가 내역: 액세스 제어 구성을 생성할 수 있는 new-file 컨텍스트 메뉴 항목이 추가되었습니다.
- 추가 내역: 액세스 제어 구성 에셋 인스펙터가 추가되었습니다.
- 추가 내역: 액세스 제어 배포 기술 자료가 추가되었습니다.
CLI 1.4.0
수정 내역: Cloud Code 스크립트에서 스크립트 파라미터 내 잘못된 인수 유형 파싱 오류를 개선했습니다.
수정 내역: Cloud Content Delivery 모듈 서비스 커맨드를 수정했습니다.
ugs ccd -h
를 실행하면 사용법을 확인할 수 있습니다.변경 내역: env list 커맨드가 이제 표 형식으로 출력됩니다.
Authentication SDK 3.3.1
추가 내역: Multiplayer Play Mode를 사용할 때 다양한 프로필 실행을 지원합니다.
추가 내역: Apple 개인정보 보호 매니페스트가 추가되었습니다.
수정 내역:
PlayerID
,AccessToken
또는SessionToken
의 이벤트 핸들러에서 예외가 발생할 경우AuthenticationState
가 유효하지 않은 상태가 되는 문제를 수정했습니다.수정 내역: Player Accounts SDK가 제대로 설정되지 않은 상태에서 애플리케이션이 딥링크 요청을 받는 경우 발생하던
NullReferenceException
문제를 해결했습니다.
2024년 3월
Use Cases Samples 2.0.0
변경 내역: 사용 사례가 Deployment 패키지와 호환되며, Deployment 창을 사용하여 대부분의 서비스 구성을 배포할 수 있습니다.
변경 내역: 기본적으로 프로젝트를 2021.3 버전으로 되돌려 현재 모든 LTS 버전과 더 쉽게 호환되도록 변경했습니다.
변경 내역: CCD 어드레서블 기능과 무선 전송 규정(over-the-air, OTA) 콘텐츠 사용 사례를 제거했습니다. Addressables와 CCD는 이미 다른 샘플에서 시연되고 있습니다.
변경 내역: 광고 기능과 광고 사용 사례를 제거했습니다. 광고는 이미 다른 샘플에서 시연되고 있습니다.
수정 내역: Battle Pass README에서 잘못된 가상 구매 키 이름을 수정했습니다. 올바른 키 이름은 BATTLE_PASS_PURCHASE입니다.
수정 내역: 배틀 패스 README에 BATTLE_PASS_REWARDS_FREE와 BATTLE_PASS_REWARDS_PREMIUM 키에 대한 전체 게임 오버라이드 콘텐츠가 누락되어 있었습니다. 해당 내용은 별도의 Game Overrides 기술 자료 파일에 추가되었습니다.
수정 내역: 시즌 이벤트 README에 Cloud Code 스크립트의 이름이 잘못 지정되어 있었습니다. 두 스크립트는 모두 'SeasonalEvents_' 접두어로 시작되어야 합니다.
수정 내역: Remote Config가 파싱되지 않도록 방해했던 레거시 필드를 제거했습니다.
수정 내역: Cloud Code와 Virtual Shop의 WebGL 호환성 문제를 해결했습니다.
Analytics 대시보드
- 릴리스 내역: Data Explorer V2 오픈 베타
- 커스텀 차원과 같은 향상된 기능을 갖춘 새롭고 향상된 사용자 경험을 포함합니다.
Vivox(음성 및 텍스트 채팅)
- 릴리스 내역: Vivox Unity 패키지 버전 16.2.0
- 이번 릴리스는 스피치 투 텍스트를 위한 새로운 API와 기타 개선 사항 및 버그 픽스를 포함합니다.
- 이번 릴리스는 Windows ARM64를 지원합니다.
- 릴리스 내역: 모든 Vivox SDK의 v5.23.0
- 이번 릴리스는 다양한 버그 픽스와 개선 사항을 포함합니다.
In-App Purchasing SDK 4.11.0
추가 내역: Google Play 스토어 연결 시도의 최대 횟수를 지정할 수 있도록
IGooglePlayConfiguration.SetMaxConnectionAttempts(int maxConnectionAttempts)
가 추가되었습니다.추가 내역: Apple의 새로운 개인정보 보호 요구 사항을 준수하기 위한 개인정보 보호 매니페스트가 추가되었습니다. Unity 엔진에서 이를 지원하는 방법에 대한 자세한 내용은 포럼을 참고하십시오.
추가 내역: 사용할 수 없는 제품을 기록해야 하는지 여부를 지정할 수 있는
ConfigurationBuilder.logUnavailableProducts
가 추가되었습니다.변경 내역: Google Play - Google Play 스토어 연결 시도의 기본 최대 횟수가 1에서 3으로 증가했습니다. 다른 값으로 설정하려면
IGooglePlayConfiguration.SetMaxConnectionAttempts
를 참고하십시오.변경 내역: Apple - 제품을 가져오는 로그(SKProductsResponse)에 유효하지 않은 제품 개수도 포함됩니다.
변경 내역: 스토어에서 제품 반환 여부를 명확히 하는 메시지를 추가하여
InitializationFailureReason.NoProductsAvailable
에 대한IStoreListener.OnInitializeFailed
를 개선했습니다.수정 내역: Google Play - 특정 경우에 AndroidJavaObject가 적절하게 정리되지 않아 전역 참조 표 오버플로가 발생하는 문제를 수정했습니다.
수정 내역: Google Play - BillingClient가 중복되어 ANR이 발생하는 버그를 수정했습니다.
수정 내역: Apple - tvOS에서 isFamilyShareable이 지원되는 버전(14.0 이상)에서만 사용 가능하도록 수정했습니다.
수정 내역: Apple - 구매 실패 시 Apple에서 제공하는 오류 코드를 항상 반환하도록 수정했습니다(기존에는 기본값으로
SKErrorUnknown
이 반환되었음).수정 내역: Analytics의 transactionServer가 null로 설정되는 문제를 수정했습니다.
Core SDK 1.12.4
추가 내역: 팝업이 표시되지 않도록
-no-cloud-project-bind-popup
플래그를 추가하였습니다.수정 내역: 패키지를 다시 임포트한 후, 사용자의 프로젝트가 연결되어 있음에도 불구하고 에디터 시작 시 프로젝트 연결 팝업 창이 나타나는 버그를 수정했습니다.
수정 내역: .NET Standard 타겟 관련 문제를 수정했습니다.
Cloud Code SDK 2.6.1
추가 내역: 스크립트 내 파라미터 파싱 오류 피드백을 개선했습니다.
추가 내역: 자동 완성을 위한 최신 JavaScript 서비스 SDK 참조를 추가했습니다.
추가 내역: Cloud Code 바인딩 생성 기능이 추가되었습니다.
수정 내역: 프로젝트 창에서 CloudCodeModuleReference 에셋을 선택할 때 발생하는 오류를 수정했습니다.
수정 내역: Node 프로젝트가 초기화되지 않은 상태에서 JS 스크립트 임포트 오류가 발생하는 문제를 수정했습니다.
Cloud Save 3.1.1
추가 내역: Apple 개인정보 보호 매니페스트가 추가되었습니다.
추가 내역:
CloudSaveService.Instance.Data.Player
API의 기존 메서드에 선택적options
오브젝트를 추가하여 플레이어 데이터와 상호 작용할 때 액세스 클래스를 지원합니다. 액세스 클래스에 대한 자세한 내용은 기술 자료를 참고하십시오.- 플레이어는 기존의 기본값 외에도 공용 액세스 클래스에 데이터를 저장할 수 있으며, 저장된 데이터를 다른 플레이어에게 표시할 수 있습니다.
- 플레이어는 기존의 기본값 외에도 공용 액세스 클래스와 보호된 액세스 클래스에서 데이터를 읽을 수 있게 되었습니다. 보호된 플레이어 데이터는 서버 권한이 있는 소스(예: Cloud Code)에서만 설정할 수 있습니다.
- 플레이어는 새로운
options
오브젝트의 일부로 플레이어 ID를 제공하여 다른 플레이어의 공개 플레이어 데이터를 읽을 수 있습니다.
추가 내역: 새로운
QueryAsync
메서드를 통해 공개 플레이어 데이터와 기본 커스텀 데이터를 쿼리할 수 있도록 지원합니다. 쿼리에 대한 자세한 내용은 기술 자료를 참고하십시오.- 인덱스가 구성된 모든 데이터는 인덱싱된 데이터에 대한 필터(예: clanMemberCount < 20)를 지정하여 쿼리할 수 있습니다.
- 반환되는 엔티티에 저장된 모든 데이터(인덱싱 여부에 관계없이)는
Query
오브젝트에서ReturnKeys
를 지정하여 쿼리 응답의 일부로 검색할 수 있습니다.
변경 내역: 기존
CloudSaveService.Instance.Data.Player.DeleteAsync
가 Obsolete로 표시되었고,CloudSave.DeleteOptions
대신CloudSave.Models.Data.Player.DeleteOptions
유형의 옵션을 허용하는 새로운 버전이 추가되었습니다. 이를 통해 액세스 클래스를 지원하는 새로운 옵션을 추가할 수 있습니다(위 추가 내역 참고).
Lobby SDK 1.2.0
- 추가 내역: 로컬 플레이어가 트리거한 Lobby 이벤트를 활성화하거나 비활성화할 수 있는
EnableLocalPlayerLobbyEvents
가 추가되었습니다.
CLI 1.3.0
추가 내역: 새로운 서비스 모듈 Scheduler가 추가되었습니다.
추가 내역: 배포를 위한
new-file
이 추가되었습니다.추가 내역: 라이브 일정을 확인할 수 있는
list
가 추가되었습니다.추가 내역: Scheduler 서비스에서 Deploy와 Fetch를 지원합니다.
추가 내역: Triggers에 Fetch 기능이 추가되었습니다.
추가 내역: gsh build configuration create 커맨드에
--readiness
옵션이 추가되었습니다.추가 내역: gsh build configuration update 커맨드에
--readiness
옵션이 추가되었습니다.추가 내역: Game Server Hosting에서 코어 덤프용 외부 스토리지 위치를 구성할 수 있도록
core-dump
커맨드가 추가되었습니다(GCS 전용).추가 내역: gsh build create/create-version 커맨드에
--build-version-name
옵션이 추가되었습니다.수정 내역: 존재하지 않는 디렉토리에 대한 new-file 커맨드 오류가 수정되었습니다.
수정 내역: 조정(reconcile)이 지정된 경우에만 Deploy가 배포되지 않는 서비스에 대한 권한을 필요로 하도록 수정했습니다.
수정 내역: Economy에서 Fetch 사용 시 멱등성이 유지되지 않던 문제를 수정했습니다.
수정 내역: CloudCode 모듈을 배포할 때 로딩 후 문제가 리포트되지 않던 문제를 수정했습니다.
수정 내역: 솔루션을 Cloud Code 모듈로 배포할 때 생성된 ccm 대신 솔루션 경로에 기록하던 문제를 수정했습니다.
변경 내역: Cloud Code 모듈 배포 시 명확한 메인 엔트리 프로젝트가 없는 솔루션 배포 실패에 대한 오류 설명을 개선했습니다.
2024년 2월
Cloud Services APIs SDK 0.1.1(실험 기능)
실험 단계에 있는 새로운 Cloud Services API 패키지는 OpenAPI 규격을 사용하여 모든 공용 API에 대한 로우 레벨 액세스를 제공합니다. 이를 통해 UGS를 확장하고 자신만의 솔루션을 구축할 수 있습니다.
Unity 에디터에 패키지를 설치하려면 Package Manager에서 Install package by name을 선택하고 패키지 이름 com.unity.services.apis
를 추가합니다.
이 패키지에 대한 자세한 내용은 Unity 포럼을 참고하십시오.
- 추가 내역: Services/API Samples 메뉴 항목에서 사용 가능한 API 에디터 샘플과 튜토리얼이 추가되었습니다.
2024년 1월
Authentication SDK 3.3.0
추가 내역: 클라이언트에게 플레이어의 알림이 마지막으로 생성된 날짜를 알려 주는
LastNotificationDate
필드가 추가되었습니다.추가 내역: 클라이언트가 플레이어의 알림을 요청할 수 있도록
GetNotificationsAsync
메서드가 추가되었습니다.추가 내역: GetNotificationsAsync 호출 후 알림을 캐시하는
Notifications
필드가 추가되었습니다.추가 내역: 사용자가 차단되었을 때 예외를 식별하기 위한
BannedUser
오류 코드가 추가되었습니다.수정 내역: 디바이스 시간을 기준으로 인증 갱신과 만료가 예약되어 특수한 상황이 발생할 수 있던 문제를 해결했습니다.
2023년 11월
Authentication SDK 3.2.0
변경 내역:
Custom Token Exchange
ID 제공자를Custom ID
로 변경했습니다.추가 내역:
PlayerInfo
에GetCustomId
메서드가 추가되었습니다.추가 내역: 여러 앱 ID 지원을 위한
appId
파라미터가 포함된SignInWithSteamAsync
메서드가 추가되었습니다.추가 내역: 여러 앱 ID 지원을 위한
appId
파라미터가 포함된LinkWithSteamAsync
메서드가 추가되었습니다.추가 내역: 여러 앱 ID 지원을 위한 Steam ID 제공자에
Additional App IDs
가 추가되었습니다.수정 내역: 플레이어 계정 설정의 직렬화 문제를 해결했습니다.
Core SDK 1.12.1
- 변경 내역: 전이 종속성에서 예상치 못한 호환성 문제로 인해 서비스 레지스트리에서 인터페이스 제약을 롤백했습니다.
User Generated Content SDK 3.0.0
- 변경 내역:
GetTagsAsync
는 현재 개발 환경에 대한 태그만 반환합니다. - 변경 내역: 새로 생성되거나 업데이트된 공용 콘텐츠는 이제
publicGlobal
대신public
으로 설정됩니다.
User Generated Content Bridge 3.0.0
- 변경 내역:
GetTagsAsync
는 현재 개발 환경에 대한 태그만 반환합니다.
Safe Voice BETA
- 개선 내역: Safe Voice에서 해악 감지를 개선하여 순간 레벨 해악 감지 오류 비율을 50% 감소시켰습니다.
- 추가 내역: ‘Aggressive Intent’라는 새로운 해악 태그가 추가되었습니다. 이 태그는 공격적인 억양으로 전달된 극단적인 언어 특징을 가진 플레이어 행동을 강조합니다.
CLI 1.2.0
추가 내역:
gsh fleet
커맨드에서 사용량 설정을 지원합니다.추가 내역:
gsh server files list
및gsh server files download
를 지원합니다.수정 내역: 잘못된 응답을 받을 경우 Economy 역직렬화 오류 메시지를 수정했습니다.
수정 내역: 리더보드를 배포할 때 티어링과 재설정 구성이 제거되지 않는 문제를 수정했습니다.
Push Notifications
- 수정 내역: 날짜 비교를 포함하는 정의로 커스텀 잠재 고객을 타게팅하는 푸시 알림이 전송됩니다.
- 추가 내역: iOS 알림을 위한 설정 기술 자료를 개선했습니다.
Remote Config
- 추가 내역: 템플릿 기능이 추가되었습니다. 이를 통해 개발자가 키에 대한 JSON 스키마를 설정할 수 있으며, 플레이어 경험에 영향을 줄 수 있는 값의 변경을 막는 보안 레이어가 추가됩니다. 템플릿 기술 자료에 대해 자세히 알아보십시오.
Game Overrides
- 추가 내역: Remote Config 템플릿 지원 기능이 Game Overrides에 추가되어 Remote Config 값을 더 안전하게 오버라이드할 수 있습니다.
Deployment SDK 1.2.1
- 추가 내역: 여러 서비스를 사용할 때 전반적인 UI 성능을 개선했습니다.
2023년 10월
Analytics SDK 5.0.1
- 수정 내역: 일부 이벤트에 포함될 때 batteryLoad와 deviceVolume 값에 더 이상 유효하지 않은 값이 나타나지 않도록 수정했습니다.
- 수정 내역: 일부 이벤트에서 Unity 플레이어 ID가 더 이상 중복 포함되지 않도록 수정했습니다.
- 수정 내역: 이제 Unity Package Manager에서 Configure 버튼을 누르면 프로젝트 설정의 Analytics - Gaming Services 페이지로 올바르게 연결됩니다.
- 수정 내역: 이벤트 배치 업로드가 진행 중인 동안 플레이어가 데이터 삭제를 요청하면 ClearBuffer(...)는 더 이상 ArgumentException을 실행하지 않습니다.
- 개선 내역: 이벤트 타임스탬프와 정수 값을 기록하는 속도가 약간 빨라지고 메모리 할당이 감소했습니다.
- 변경 내역:
PrivacyUrl
프로퍼티가 게임 플레이어 및 앱 사용자 개인정보 처리방침의 최신 페이지 링크를 반환합니다. https://unity.com/legal/game-player-and-app-user-privacy-policy
Authentication SDK 3.1.0
- 추가 내역:
Custom ID
ID 제공자를 지원합니다. - 추가 내역: SDK를 사용하여 커스텀 ID 로그인을 할 수 있도록
ProcessAuthenticationTokens
메서드가 추가되었습니다. - 추가 내역:
Unity.Service.Authentication.PlayerAccounts
패키지에서Unity Player Accounts
ID 제공자를 지원합니다. - 추가 내역:
Unity Player Accounts
로그인 플로를 시작하기 위해PlayerAccounts.StartSignInAsync
가 추가되었습니다. - 추가 내역: 현재 플레이어를 로그아웃하는
PlayerAccounts.SignOut
이 추가되었습니다.
CLI 1.1.0
추가 내역: MacOS와 Linux에서 UGS CLI를 다운로드하고 설치하는 Bash 설치 프로그램이 추가되었습니다.
추가 내역: 경제 모듈에 대한 Config as Code를 지원합니다.
- Deploy
- Fetch
추가 내역: 액세스 모듈에 대한 Config as Code를 지원합니다.
- Deploy
- Fetch
추가 내역: Economy 리소스에 대한
new-file
커맨드가 추가되었습니다.- 인벤토리 아이템용
- 재화용
- 가상 구매용
- 실물 구매용
- Cloud Code C# 모듈용
- 프로젝트 액세스 정책용
- 트리거용
추가 내역: 배포 시 .sln 파일을 지원합니다.
추가 내역: .sln 파일이 .ccm으로 컴파일되고 압축된 후 배포됩니다.
추가 내역: 트리거에 대한 Config as Code를 지원합니다.
- Deploy
변경 내역: 서비스는 여러 파일 확장자를 지원할 수 있습니다.
변경 내역:
ugs gsh machine list
에서 서버 상태가 업데이트되었습니다.수정 내역: Deploy 사용 시 지원되지 않는 구성 유형이 포함된 Remote Config 파일을 사용할 경우 예외 처리가 수행되도록 수정했습니다.
수정 내역: 리더보드 로드 실패 시 빈 리더보드로 잘못 배포되어 리포트되지 않는 문제를 수정했습니다.
수정 내역: 예비 실행 중 Cloud Code 배포에 파일 중복 오류 발생 시 올바른 설명을 추가했습니다.
수정 내역:
ugs gsh fleet-region update
커맨드에서 기본적으로 플릿 지역이 온라인 상태로 설정되지 않는 문제를 수정헸습니다.수정 내역:
ugs gsh fleet-region update
커맨드의 잘못된 부울 입력 파라미터에 대한 예외를 처리합니다.수정 내역: JSON 배열이 포함된 Remote Config에서 Deploy와 Fetch 관련 문제를 수정했습니다.
In-App Purchasing SDK 4.10.0
- 변경 내역: 유니티 퍼블리싱 포털 - IAP는 가까운 미래에 UDP 지원을 중단할 예정입니다(추후 공지 예정). 그때까지 모든 UDP 기능은 계속 작동하지만, 공개(public) 인터페이스와 일부 비공개(private) 함수는
[Obsolete]
로 표시됩니다. 다음 주요 업데이트에서는 이 기능이 모두 제거되고, 해당 버전과 이후 버전에서는 인앱 구매 기능과 UDP가 더 이상 작동하지 않게 됩니다. - 변경 내역: 유니티 퍼블리싱 포털 - 에디터가 UDP 백엔드에 연결할 수 없는 경우 오프라인 모드에서 일부 UDP 카탈로그 기능을 사용할 수 있습니다. 이렇게 하면 가격을 계속 입력할 수 있으므로 가격을 수동으로 동기화해야 합니다. 이 경우 연결이 재설정되면 가격을 제대로 동기화하는 것이 좋습니다. 에디터가 UDP 백엔드에 연결할 수 없는 경우 카탈로그에 경고 메시지가 표시됩니다.
- 변경 내역: Analytics - 레거시 Analytics 빌트인 모듈인
com.unity.modules.unityanalytics
는 더 이상 종속되지 않으며, 사용하지 않는 경우 프로젝트에서 제거할 수 있습니다. 사용 중이라면 프로젝트에 포함되어 있어야 합니다. - 변경 내역: 프로젝트 설정 - 에디터의 서비스 프로젝트 설정 페이지에서 Google Play 키를 가져오는 엔드포인트가 변경되었습니다. 또한 에디터에서 키를 직접 설정하는 대신 백엔드에서 직접 설정할 수 있도록 대시보드 링크가 제공되어 향후 오류를 방지할 수 있습니다.
- 수정 내역: Google Play - 일부 버전의 Unity 에디터 컴파일러에서 Google 결제 모듈에 콜백으로 할당된
GooglePurchaseUpdatedListener.onPurchasesUpdated
가 제거되어 구매 실패 콜백이 작동하지 않고"No such proxy method:"
라는 로그가 출력되는 문제를 수정했습니다. 또한BillingClientStateListener.onBillingServiceDisconnected
,BillingClientStateListener.onBillingSetupFinished
,SkuDetailsResponseListener.onSkuDetailsResponse
에 대해서도 이 문제를 수정했습니다.
User Generated Content SDK 2.0.0
- 개선 내역: 빠른 시작 가이드와 API 기술 문서를 개선했습니다.
- 변경 내역:
com.unity.services.core
종속성이1.7.1
에서1.9.0
으로 업데이트되었습니다. - 변경 내역:
com.unity.services.authentication
종속성이2.4.0
에서2.5.0
으로 업데이트되었습니다. - 추가 내역:
ContentVisibility
옵션에public
과unlisted
가 추가되었습니다. - 지원 중단 예정:
ContentVisibility
옵션 중publicGame
과publicGlobal
은 지원 중단 예정입니다. 대신public
을 사용하십시오. - 삭제 내역:
ContentDTO
모델에서OwnerAccountId
를 제거했습니다. - 삭제 내역:
ContentStatistics
모델에서ContentDownloadStatistics
를 제거했습니다. - 삭제 내역:
ContentStatistics
모델에서Subscribers
를 제거했습니다. - 삭제 내역:
ContentStatistics
모델에서ContentReportStatistics
를 제거했습니다. - 삭제 내역:
ContentStatistics
모델에서ContentRatingStatistics
를 제거했습니다. - 삭제 내역:
ContentStatistics
모델에서ContentPortalVisitStatistics
를 제거했습니다.
User Generated Content Bridge 2.0.0
- 추가 내역:
External Authentication Step
에서 외부 인증을 사용하는 예제가 추가되었습니다. - 추가 내역: Authentication 패키지 종속성을 사용하여 OAuth 인증을 지원합니다.
- 추가 내역:
com.unity.services.authentication
버전3.0.0
에 대한 종속성이 추가되었습니다. - 추가 내역:
ContentVisibility
옵션에public
과unlisted
가 추가되었습니다. - 지원 중단 예정:
ContentVisibility
옵션 중publicGame
과publicGlobal
은 지원 중단 예정입니다. 대신public
을 사용하십시오.
Game Overrides
- 추가 내역: 통계적 유의성 트래킹을 통해 A/B 테스트를 생성할 수 있는 기능이 추가되었습니다. 이 새로운 기능을 활용하는 방법에 대한 자세한 내용은 A/B 테스트를 참고하십시오.
- 변경 내역: 목표 지표는 통계적 유의성 트래킹을 통해 A/B 테스트에서만 사용할 수 있습니다.
Remote Config SDK 4.0.0
- 변경 내역: Unity 2019 및 2020 버전에 대한 지원이 중단되었으며, 최소 에디터 버전이 2021.3으로 변경되었습니다.
- 변경 내역: com.unity.remote-config-runtime 종속성이 4.0.1로 업데이트되었습니다.
- 수정 내역: Deployment 창을 통해 JSON 배열이 포함된 remote-config를 배포할 때 발생하는 문제를 수정했습니다.
Economy SDK 3.3.0
- 추가 내역: Economy 리소스 파일에 스키마 필드가 추가되었습니다.
- 추가 내역: Deployment 창 또는 Deployment API를 통한 Economy 리소스 배포를 지원합니다.
- 수정 내역: 스키마 필드가 포함된 Economy 리소스를 배포할 수 없던 버그를 수정했습니다.
- 수정 내역: 초기값과 최대값이 생략된 로컬 재화 리소스 파일을 배포할 때 원격 리소스가 기본값으로 업데이트되지 않던 버그를 수정했습니다.
- 수정 내역: customData가 생략된 로컬 리소스 파일을 배포할 때 원격 리소스가 기본 customData로 업데이트되지 않던 버그를 수정했습니다.
- 수정 내역: 로컬 리소스 파일의 콘텐츠가 역직렬화되지 않을 때 배포 실행이 중단되던 버그를 수정했습니다.
Cloud Code SDK 2.5.1
- 추가 내역: Cloud Code C# 모듈 배포를 위한 에디터를 지원합니다.
- 수정 내역: 여러 프로젝트가 포함된 솔루션에 대한 Cloud Code C# 모듈 저작 지원 기능을 수정했습니다.
Leaderboards SDK 2.0.0
- 추가 내역: 모든 score-fetching 메서드에 선택적 오브젝트 메타데이터가 추가되었습니다. 메타데이터가 채워지면 오브젝트가 점수와 함께 저장됩니다.
- 추가 내역: 모든 score-fetching 메서드에 선택적 부울 includeMetadata가 추가되었습니다. 이 값이 true면 저장된 점수 메타데이터가 LeaderboardEntry의 일부로 반환됩니다.
- 추가 내역: GetVersionsAsync 메서드에 선택적 정수 limit가 추가되었습니다. 설정 시 가장 최근 아카이브된 버전의 limit 개수만 반환됩니다.
- 추가 내역: GetVersionsAsync는 문자열 versionId(현재 리더보드 버전)와 int totalArchivedVersions(아카이브된 리더보드 버전의 총 수)를 반환합니다.
- 추가 내역: AddPlayerScoreAsync 메서드에 선택적 문자열 versionId가 추가되었습니다. 설정 시 versionId는 현재 라이브 리더보드 versionId와 비교됩니다. 일치하지 않으면 점수가 제출되지 않습니다.
- 추가 내역: 에디터에서 Config as Code를 지원합니다.
Game Server Hosting(Multiplay) SDK 1.1.1
- 추가 내역: Game Server Hosting 파일의 에디터 저작을 지원합니다.
- 추가 내역: Deployment 창을 지원합니다.
- 수정 내역: 빌드를 생성할 때 도메인을 다시 로드할 수 있으므로 타겟을 전환하지 말고 경고를 보내도록 수정했습니다.
Deployment SDK 1.2.0
- 추가 내역: Deployment 창에 New Type 열이 추가되었습니다.
Core SDK 1.12.0
- 추가 내역: 인스턴스와 editor-time 서비스를 활성화하는 새로운 패키지 초기화 인터페이스와 서비스 레지스트리가 추가되었습니다.
- 수정 내역: IAccessTokens가 속도 제한에 도달하는 문제를 해결했습니다.
2023년 9월
음성 및 텍스트 채팅(Vivox)
- 릴리스 내역: Vivox Unity 패키지의 v16
- Unity v16.0.0은 Vivox API의 주요 업데이트로, 수동 변경이 필요합니다. 16.0.0 업그레이드 가이드를 따라 기존 Unity Vivox 구현을 이 새 버전으로 업그레이드하십시오.
- 이 버전은 Vivox 텍스트 채팅 오픈 베타 기능도 지원합니다.
- 릴리스 내역: 모든 Vivox SDK의 v5.21.1
- 이번 릴리스는 다양한 버그 픽스와 개선 사항을 포함합니다.
Push Notifications 4.0.0-pre.1
릴리스 내역: 4.0.0-pre.1 버전
변경 내역: 이제
OnNotificationReceived
를 구독한 후에만RegisterForPushNotificationsAsync
를 호출할 수 있습니다.RegisterForPushNotificationsAsync
가 완료된 경우 원격 알림에서 앱이 실행되면OnNotificationReceived
가 호출됩니다.
변경 내역:
com.unity.services.analytics
종속성이5.0.0
으로 업데이트되었습니다.변경 내역:
com.unity.services.core
종속성이1.10.1
으로 업데이트되었습니다.변경 내역:
com.unity.mobile.notifications
버전2.2.0
이 종속성으로 추가되었습니다.수정 내역: 푸시 알림에서 앱이 실행될 때의 동작이 iOS와 Android 간에 일관되게 유지됩니다(
RegisterForPushNotificationsAsync
플로가 완료된 후 푸시 알림 데이터가 브로드캐스트됨).
2023년 8월
Authentication 3.0.0
- 추가 내역:
Code-Link
ID 제공자가 추가되었습니다. - 추가 내역:
Code-Link
ID 제공자와 함께 사용할 수 있는GenerateSignInCodeAsync
,SignInWithCodeAsync
,GetSignInCodeInfoAsync
,ConfirmCodeAsync
API가 추가되었습니다. - 변경 내역: 플레이어가 아직 플레이어 이름을 생성하지 않은 경우
GetPlayerNameAsync
가autoGenerate
파라미터를 허용하여 플레이어 이름이 자동 생성되지 않도록 수정했습니다.
Analytics SDK 5.0.0
- 추가 내역: 새로운 초기화와 동의 플로가 추가되었습니다. 자세한 내용은 마이그레이션 가이드를 참고하십시오. https://docs.unity.com/ugs/en-us/manual/analytics/manual/sdk5-migration-guide
- 지원 중단 예정: 기존의 초기화와 동의 플로는 더 이상 지원되지 않으며, 향후 SDK 버전에서 제거될 예정입니다. 자세한 내용은 마이그레이션 가이드를 참고하십시오. https://docs.unity.com/analytics/en/manual/AnalyticsSDK5MigrationGuide
- 변경 내역:
com.unity.services.core
종속성이 1.10.1로 업데이트되었습니다. - 변경 내역: 패키지가 더 이상 Newtonsoft.Json에 종속되지 않습니다.
- 변경 내역: 패키지가 Unity JsonSerialize 모듈(JsonUtility)에 종속됩니다.
- 변경 내역: 이전에 Obsolete로 표시되던 여러 요소를 제거했습니다.
- 수정 내역: 인터넷 연결이 없는 경우 Analytics에서 더 이상 서비스 초기화(
UnityServices.InitializeAsync
)를 차단하지 않습니다. - 수정 내역: 플레이어가 이전에 데이터 수집을 거부했던 세션에서 데이터 수집에 동의할 수 있습니다(새로운 동의 플로로 마이그레이션 필요).
- 수정 내역: 파일 시스템 액세스가 기본적으로 차단된 일부 플랫폼에서 Application.persistentDataPath를 더 이상 요청하지 않습니다.
- 수정 내역: 더 다양한 서버 응답에 대해 이벤트 버퍼가 삭제됩니다.
- 수정 내역: 오프라인 상태에서 게임이 종료될 때 이벤트를 디스크에 더 적극적으로 캐시하여(가능한 경우) 데이터 손실을 방지할 수 있도록 수정했습니다.
- 수정 내역: 데이터 삭제 요청은 항상 설치 ID 대신 설정된 커스텀 사용자 ID를 사용하여 전송되도록 수정했습니다.
Remote Config
- 변경 내역: 모든 Remote Config 키의 배리언트가 Game Overrides 표에 표시되도록 수정했습니다.
2023년 7월
음성 및 텍스트 채팅(Vivox)
- 릴리스 내역: Vivox 텍스트 채팅 오픈 베타
- 다음과 같은 기능을 포함합니다. 채팅 이력, 수정/삭제, 적응형 채팅 필터, 도배 방지, 텍스트 증거 관리, 대규모 채널 지원
- 변경 내역: 이전 버전의 음성 및 텍스트 채팅(Vivox)을 더 이상 사용할 수 없도록 중요한 변경 사항을 적용했습니다.
Game Overrides
- 변경 내역: 캠페인 세부 정보 페이지가 시각적으로 개선되었습니다.
Push NotificationsBETA
- 수정 내역: 유효하지 않은 토큰이 제공되면 테스트 툴 UI에서 경고를 반환하도록 수정했습니다.
Authentication
- 추가 내역:
identity
파라미터가 있는SignInWithSteamAsync
와LinkWithSteamAsync
메서드가 추가되어 보안이 강화되었습니다. - 변경 내역:
SignInWithSteamAsync
와LinkWithSteamAsync
메서드의 이전 버전을 Obsolete로 표시했습니다. - 추가 내역:
Username/Password
ID 제공자가 추가되었습니다. - 추가 내역:
Username/Password
ID 제공자와 함께 사용할 수 있는SignInWIthUsernamePasswordAsync
,SignUpWithUsernamePasswordAsync
,AddUsernamePasswordAsync
,UpdatePasswordAsync
API가 추가되었습니다. - 추가 내역: 액세스 토큰 변경 시 알림을 제공하는
IAccessTokenObserver
컴포넌트가 추가되었습니다.
CLI 1.0.0
추가 내역: Leaderboards가 루트에서
ugs deploy
와ugs fetch
커맨드를 지원합니다.추가 내역: Leaderboards가 리더보드에 빈 파일을 생성하기 위한
new-file
기능을 지원합니다.추가 내역: Game Server Hosting 모듈 서비스 커맨드가 추가되었습니다.
ugs gsh -h
를 실행하면 사용법을 확인할 수 있습니다.추가 내역: 빌드, 빌드 구성, 플릿, 플릿 지역과 서버를 지원합니다.
추가 내역: Deploy와 Fetch 커맨드에 배포 정의가 추가되었습니다.
추가 내역: 커맨드 사용과 사용된 옵션 관련 분석이 추가되었습니다.
추가 내역: Deploy/Fetch가 -json 플래그가 활성화된 표 형식의 배열을 반환합니다.
추가 내역: Deploy가 파일 구성을 서비스로 전송합니다.
추가 내역: Fetch가 서비스 구성을 기반으로 로컬 파일을 업데이트합니다.
변경 내역: Leaderboards에서
create
,update
는 더 이상 지원하지 않고deploy
와fetch
커맨드를 지원합니다.수정 내역: 리플렉션을 통해 전환기가 호출될 때 NotImplementedException을 방지하기 위해 JsonConverters를 구현했습니다.
수정 내역: stdin이 리디렉션될 때 발생하는 login 커맨드 버그를 수정했습니다.
수정 내역: Remote Config fetch 커맨드의 예비 실행이 가져온 파일 이름의 업데이트를 막는 버그를 수정했습니다.
Core SDK 1.11.0
추가 내역: 서버 컨텍스트에서 실행 작업을 지원하는 패키지용 IServerAccessToken과 IServerEnvironmentId 컴포넌트가 추가되었습니다.
추가 내역: IAccessToken 값 변경 알림을 받을 수 있도록 패키지용 IAccessTokenObserver 컴포넌트가 추가되었습니다.
수정 내역: 파일을 배포할 때 추가 오류가 기록되는 버그를 수정했습니다.
2023년 6월
Relay
- 변경 내역: QOS 결과가 없을 경우 지역 선택 방식이 업데이트되었습니다.
Remote Config
- 추가 내역: Remote Config Runtime 4.0.1이 프로덕션으로 승격되었습니다.
- 수정 내역: 버그 픽스(WebGL 빌드 활성화, 앱이 백그라운드로 전환될 때 인증 토큰이 지속되는 문제 해결)
- 변경 내역: 런타임 코드가 UGS 표준을 더욱 준수하며 많은 QOL 개선이 이루어졌습니다.
Game Overrides
- 수정 내역: 게임 오버라이드로 타게팅된 Economy 키를 더 이상 삭제할 수 없도록 수정했습니다.
Push NotificationsBETA 3.0.1-pre.1
- 수정 내역: 웹 UI에서 필터가 의도한 대로 작동하도록 수정했습니다.
Authentication
- 추가 내역: Unity Player Accounts(베타) ID 제공자가 추가되었습니다.
- 추가 내역: Unity 에디터 버전 2020.3 이상을 위한 Unity Player Accounts SDK(베타)가 릴리스되었습니다. Windows, Mac, Linux, iOS, Android 플랫폼이 지원됩니다.
- 추가 내역: Authentication SDK에서 Unity Player Accounts ID 제공자를 지원합니다.
Deployment 1.1.0
- 추가 내역: Deployment가 Project Settings > Services > Environment에서 기본 개발 환경 선택자를 사용합니다. 이를 통해 타겟 런타임 개발 환경을 정의할 수도 있습니다.
- 추가 내역: 배포 정의 제외 경로에 대한 인스펙터 지원이 추가되었습니다.
- 추가 내역: Deployment 창에서 배포 정의 제외 경로에 대한 지원이 추가되었습니다.
Core SDK 1.10.1
- 추가 내역: Analytics SDK 가 현재 이벤트를 기록하고 있는 사용자 ID를 얻을 수 있도록
IAnalyticsUserId
컴포넌트가 추가되었습니다. - 추가 내역: Project Settings > Services > Environments에 새로운 개발 환경 선택자가 추가되었습니다.
- 추가 내역: 서비스가 현재 개발 환경을 위한 단일 액세스 포인트를 사용할 수 있도록 새로운 개발 환경 API가 추가되었습니다.
Remote Config Runtime 4.0.1
변경 내역: Unity 2020.3에 대한 지원이 중단되었으며, 현재 최소 지원 버전은 2021.3입니다.
변경 내역: 2.x 버전과의 호환성을 위해 2.x 네임스페이스와 해당 API를 제거했습니다.
변경 내역: 정적 ConfigManager 클래스를 제거했습니다.
변경 내역: 캐싱과 Unity 속성에 관한 SDK 기술 자료를 업데이트했습니다.
변경 내역:
com.unity.services.core
종속성이1.5.2
에서1.8.1
로 업데이트되었습니다.변경 내역: 후보 실험 버전 패키지를 검증된 프로덕션으로 승격했습니다.
변경 내역: 딜리버리 엔드포인트를
https://config.unity3d.com/settings
에서https://config.services.api.unity.com/settings
로 업데이트했습니다.수정 내역: 의도치 않게 지속된 인증 토큰에 대한 수정 사항이 추가되었습니다.
UGC Bridge 1.0.1
- 추가 내역: 초기 릴리스
Game Server Hosting SDK 1.0.5
- 수정 내역: 2020.3 이상의 에디터에서 ReadyServerForPlayersAsync 호출 시 역직렬화 오류가 발생하는 문제를 수정했습니다.
- 수정 내역: Matchmaker와 함께 사용 시 페이로드 할당을 역직렬화할 때 예외가 발생하는 문제를 수정했습니다.
In-App Purchasing 4.9.4
- 변경 내역: Google Play - 결제 라이브러리가 5.2.1로 업데이트되었습니다(이전 버전: 5.1.0). 새로운 기능 추가는 없고, Android 14와의 호환성을 위해 업데이트되었습니다.
- 변경 내역: Apple - CrossPlatformValidation(또는 AppleValidator)을 사용하면 인증서 체인이 SHA-1 대신 SHA-256으로 인코딩된 경우에도 영수증을 검증할 수 있습니다. SHA-1으로 인코딩된 이전 영수증도 여전히 검증됩니다. Apple Technical Note를 참고하십시오.
Leaderboards 1.0.0
- 추가 내역: 공용 인터페이스의 이름, 파라미터, 네임스페이스에 대한 추가 기술 자료와 변경 사항이 포함된 Leaderboards SDK의 주요 릴리스입니다.
Cloud Build 1.0.5
추가 내역: Unity 2022 이하 버전에서 로드되지 않도록 패키지 어셈블리에 정의 제약 조건이 추가되었습니다.
변경 내역: Unity Build Automation 리브랜딩에 맞춰 패키지를 조정했습니다.
수정 내역: 기술 자료와 대시보드 링크를 수정했습니다.
Player AccountsBETA 1.0.0-pre.2
- 변경 내역: 핵심 SDK 종속 관계를 최신 버전으로 업데이트
CLIBETA 1.0.0-beta.5
- 추가 내역: ‘Too Many Requests’ 오류를 방지하기 위해 import와 deploy 커맨드에 배칭이 추가되었습니다.
- 추가 내역: Cloud Code 모듈에서
import
와export
커맨드를 지원합니다. - 추가 내역: Cloud Code 스크립트에서
import
와export
커맨드를 지원합니다. - 추가 내역: Lobby에서
import
와export
커맨드를 지원합니다. - 추가 내역: Leaderboards에서
import
와export
커맨드를 지원합니다. - 추가 내역: Remote Config에서
import
와export
커맨드를 지원합니다. - 추가 내역: Alpine 빌드가 릴리스에 추가되었습니다.
- 추가 내역:
--services
옵션이 deploy와 fetch 커맨드에 추가되었습니다. 이 옵션은 지정된 서비스에만 커맨드를 수행합니다.- [중요 변경 사항]:
--reconcile
플래그를 사용할 때 이 옵션이 필수입니다.
- [중요 변경 사항]:
[중요 변경 사항]: Cloud Code 모듈과 스크립트에 대한 list
커맨드를 좀 더 알아보기 쉽게 변경했습니다. [중요 변경 사항]: 메시지는 StdErr로 전달되고 출력은 Stdout으로 전달됩니다. [중요 변경 사항]: Cloud Code의 create, delete, get, list, new-file, publish, update 커맨드가 부모 커맨드 scripts
아래에 포함되고, cloud-code scripts <command>
로 호출할 수 있습니다. [중요 변경 사항]: Deploy와 Fetch 출력이 서로 일치하도록 수정했습니다.
에디터에서 일어나고 있는 상황을 반영하도록 상태를 업데이트했습니다.
변경 내역: 모든 임포트/익스포트 구현에 대해 표준화된 출력 방식이 사용됩니다.
변경 내역: 일반 텍스트 형식의 Deploy/Fetch 출력에서 전체 경로가 출력됩니다.
- 이렇게 하면 이름은 같지만 경로가 다른 파일을 출력할 때 혼동을 피할 수 있습니다.
ugs cmd 1>output 2>logs.txt
와 같이 개별 출력을 파이핑할 수 있습니다.- JSON 형식과 일반 형식 모두에 적용됩니다.
수정 내역: 읽을 수 없었던 Cloud Code 파일이 출력에서 제대로 리포트됩니다.
수정 내역: Cloud Code에서 삭제된 파일이 Deploy 출력에서 제대로 리포트됩니다.
수정 내역: Remote Config 엔트리가 배포 출력에서 제대로 리포트됩니다.
수정 내역: Remote Config에서 fetch 커맨드가 파일 로딩 시 문제를 제대로 전달합니다.
수정 내역: 파라미터가 없는 Cloud Code 파일을 가져올 때
module.exports.parameters = {}
가 계속 추가되는 문제를 수정했습니다.수정 내역: Cloud Code에서 fetch와 deploy 커맨드를 여러 번 실행하면 새 라인이 추가되지 않는 문제를 수정했습니다.
수정 내역: 처리되지 않은 특정 예외에 대해 더 많은 세부 정보를 제공하도록 오류 처리를 개선했습니다.
수정 내역: 잘못된 파라미터를 가진 Cloud Code 스크립트가 가져오기 실패 시 ‘failed’ 결과 섹션에 나타나도록 수정했습니다.
2023년 5월
Cloud Content Delivery
- 추가 내역: 새 인사이트 기능이 추가되어 사용자가 CCD 사용량 세부 지표에 액세스할 수 있습니다.
Core 1.9.0
- 추가 내역: 새로운 공통 오류 코드
ProjectPolicyAccessDenied
와PlayerPolicyAccessDenied
가 추가되었습니다. - 변경 내역: Newtonsoft의 (역)직렬화 호출이 스레드에서 안전하게 실행되도록 수정했습니다.
- 변경 내역: 안정적인 최신 버전을 사용하기 위해 Newtonsoft 종속성 버전을 3.2.1로 업데이트했습니다.
Remote Config 3.3.2
- 변경 내역: 구현 문서와 ExampleSample.cs를 업데이트했습니다.
- 변경 내역: 문서에서 일반 지원 링크를 업데이트했습니다.
- 변경 내역: UI에서 버전 전환 시 로드 시간을 개선했습니다.
- 수정 내역: Unity 2022 이상의 Deployment 창에서 로드 시 배포 가능한 에셋(.rc)이 표시되지 않는 문제를 수정했습니다.
- 수정 내역: 다른 .rc 파일에서 중복 키가 감지될 때 배포 오류 메시지가 두 번 표시되는 문제를 수정했습니다.
- 수정 내역: 컴파일 경고를 수정했습니다.
Cloud Code 2.3.2/2.4.0
- 추가 내역: Cloud Code C# 모듈에서 플레이어별 푸시 메시지와 프로젝트 전체 푸시 메시지에 대한 구독 메서드를 추가했습니다.
- 변경 내역: 시간 초과를 10초에서 25초로 늘렸습니다.
- 변경 내역: 스크립트가 더 이상 캐싱되지 않으며, 이전에는 로컬 변경 없이는 배포할 수 없던 문제를 수정했습니다.
- 수정 내역: JS 번들링을 사용할 때 임포트한 파일을 수정하면 메인 스크립트를 다시 배포할 수 있습니다.
- 수정 내역: 스크립트 내 파라미터를 사용하여 여러 .js 파일을 선택할 때, 인스펙터가 편집을 위해 비활성화된 상태를 유지되도록 수정했습니다.
- 수정 내역: 여러 .js 파일 또는 배포 정의를 선택할 때, 인스펙터가 올바르게 해당 실제 유형을 참조하도록 수정했습니다.
- 수정 내역: Unity 2022 이상의 Deployment 창에서 배포 가능한 에셋(.js) 로드 시 표시되지 않는 문제를 수정했습니다.
Deployment 1.0.1
- 수정 내역: Unity 2022에서 에셋 로드 시 표시되지 않는 문제를 수정했습니다.
Authentication 2.5.0
- 수정 내역:
- 플레이어 이름을 사용할 때 웹 요청을 제대로 처리하도록 수정했습니다.
- SignInFailed 이벤트에 대한 일부 예외 리포트를 수정했습니다.
- 디바이스의 잘못된 날짜/시간 설정으로 인한 토큰 만료 오류를 방지하기 위해 클라이언트 측 시간 확인을 제거했습니다.
- 플레이어 이름의 코드 삭제 문제를 방지하기 위해 API 모델에 Preserve 속성을 추가했습니다.
Game Overrides
- 수정 내역: 더 이상 존재하지 않는 잠재 고객을 사용하는 캠페인이 이제 올바르게 표시됩니다.
- 수정 내역: Duplicate Audience 버튼이 의도한 대로 작동하도록 수정했습니다.
Push NotificationsBETA 3.0.1-pre.1
- 추가 내역: 알림 테스트 툴의 성능과 사용성이 향상되었습니다.
- 추가 내역: Firebase 앱 생성 단계를 포함하도록 연동 가이드를 업데이트했습니다.
2023년 4월
CLIBETA 1.0.0-beta.4
- 추가 내역:
ugs fetch
가 Cloud Code 스크립트를 지원합니다. - 수정 내역: 잘못된 파라미터를 가진 Cloud Code 스크립트가 배포 실패 시 배포 결과에서 실패 카테고리로 표시되도록 수정했습니다.
- 수정 내역: 비어 있거나 크기 제한(10MB)을 초과하는 Cloud Code C# 모듈 배포 실패 시 이제 오류 메시지가 표시됩니다.
- 변경 내역: Cloud Code JavaScript 파라미터 파싱을 위해 Jint를 Node.js로 대체했습니다. 사용자가 Cloud Code JavaScript를 파싱하려면 14.0.0 이상의 Node.js 버전을 설치해야 합니다.
Core 1.8.2
- 수정 내역: 더 이상 JsonConvert.DefaultSettings의 변경 사항에 영향을 받지 않도록 Newtonsoft 사용을 수정했습니다.
Unity DevOps
- 추가 내역: Unity Version Control:
- Unity Version Control 저장소에 대한 암호화 지원
- 동영상, 오디오, 3D 파일(glb, gltf, obj)을 표시하는 내장된 멀티미디어 뷰어
- 코드 검토에서 검토자로 그룹을 추가할 수 있도록 지원
- 추가 내역: Build Automation:
- 빌드 이력 검색 기능
- 빌드 이력 일괄 삭제 기능
- 유니버설 Windows 플랫폼(베타) 지원
- 개선 내역: Unity Version Control:
- 내장된 3D 뷰어에서 .fbx 파일 완벽 지원, 내장된 텍스처 또는 외부 텍스처 지원
- 개선 내역: Build Automation:
- 데이터 변경 여부를 명확하게 표시하여 사용자가 페이지를 떠날 때 저장을 잊지 않도록 도와줍니다.
- 로컬 WebGL 빌드와 커스텀 템플릿 WebGL 빌드를 지원하기 위해 Play 버튼 동작을 업데이트했습니다.
- 소스 제어 설정을 수정할 때, 신규 사용자나 UVCS 조직이 없는 사용자에게 Unity Version Control 사용에 대한 유용한 정보가 담긴 배너가 제공됩니다.
- 사용자는 이제 타겟을 수정하거나 생성한 후 ‘Save and build’ 옵션을 선택할 수 있습니다.
Remote Config 3.3.2-pre.2
- 수정 내역: 다른
.rc
파일에서 중복 키가 감지될 때 단일 오류 메시지가 표시되도록 수정했습니다. - 수정 내역: Deployment Window에서 더 나은 경험을 제공하기 위해 JSON 역직렬화를 개선했습니다.
Game Overrides
- 추가 내역: 선택적 목표 지표를 지원합니다.
- 추가 내역: 리포트 요약 표의 로딩 경험을 개선했습니다.
- 추가 내역: 참가자 데이터를 리포트 요약 표에서 확인할 수 있습니다.
- 추가 내역: 총 참가자 수와 오버라이드 길이 카드를 리포트 페이지에 추가했습니다.
- 추가 내역: ‘오버라이드 시작됨’ 주석을 리포트 페이지에 추가했습니다.
- 수정 내역: 데이터가 없는 플레이어가 이전에는 ‘신규 플레이어’ 잠재 고객에 포함되지 않았으나 포함되도록 수정했습니다.
- 수정 내역: 프로젝트 생성 중 전환 시 크래시가 발생하던 문제를 수정했습니다.
Analytics 4.4.2
- 수정 내역: 동의를 취소(거부)해도 데이터 삭제 요청을 업로드하도록 수정했습니다.
- 개선 내역: 이벤트 기록이 훨씬 더 빨라지고 메모리 할당이 적게 발생합니다.
Analytics 대시보드
- 추가 내역: 데이터 탐색기와 SQL 데이터 탐색기에 새로운 차트 유형(파이 차트, 누적 막대 차트)이 추가되었습니다.
- 추가 내역: SQL 데이터 탐색기에서 피벗 테이블을 생성할 수 있는 옵션이 추가되었습니다.
In-App Purchasing 4.8.0
- 추가 내역: 에디터에 새로운 IAP 버튼이 추가되었습니다. 이 버튼으로 더욱 다양한 UI 커스터마이징을 수행할 수 있습니다. 새 버튼은 기본적으로 버튼 필드를 더 이상 업데이트하지 않습니다.
- 수정 내역: Google Play - Unity IAP 4.6.0에서 발생한 BillingClientStateListener.onBillingServiceDisconnected()와 관련하여 해당 프록시 메서드가 없다는 예외가 해결되었습니다.
- 변경 내역: IAP SDK 종속성에서 com.unity.services.analytics가 제거되었습니다.
- 변경 내역: Google Play - 결제 라이브러리가 버전 4.0.0에서 5.1.0으로 업데이트되었습니다(Google 릴리스 노트). 새로운 Google 결제 기능은 아직 지원되지 않으며 향후 주요 업데이트에 포함될 예정입니다.
- 변경 내역: com.unity.services.core가 1.5.2에서 1.8.1로 업그레이드되었습니다.
Push NotificationsBETA 3.0.1-pre.1
- 추가 내역: 단계별 설정 가이드가 추가되었습니다.
- 추가 내역: 더 명확한 UI와 테스트 연동 옵션을 제공하는 설정 페이지를 업데이트했습니다.
- 수정 내역: 프로젝트 생성 중 전환 시 크래시가 발생하던 문제를 수정했습니다.
2023년 3월
액세스 제어
- 추가 내역: 인증된 플레이어의 특정 UGS 제품에 대한 API 액세스를 제어할 수 있는 새로운 기능이 추가되었습니다. 자세한 내용은 여기에서 확인할 수 있습니다.
Unity DevOps
- 게임 개발을 위한 Unity DevOps를 소개합니다. 릴리스 블로그는 여기에서 확인할 수 있습니다.
LeaderboardsBETA
- 추가 내역: 새로운 Leaderboards 제품이 릴리스되었습니다.
- 추가 내역: Leaderboards v1.0.0-exp SDK
FriendsBETA
- 추가 내역: 새로운 Friends 제품이 릴리스되었습니다.
- 추가 내역: Friends SDK 0.2.0-preview.9
Authentication 2.5.0-pre3
- 추가 내역: Player Names:
UpdatePlayerNameAsync
,GetPlayerNameAsync
,PlayerName
- 추가 내역: Player Management:
- Dashboard: Enable/Disable Players
- Public Admin API: Enable/Disable Players, List Players
- UGS CLI:
player
모듈,create
,delete
,enable
,disable
커맨드
- 변경 내역: Player Management:
- Player Overview: Creation date, Last login 및 Linked identities 포함
Analytics 대시보드
- 추가 내역: 커스텀 이벤트 정의 추가를 위한 새로운 워크플로가 추가되었습니다. 사용자가 이벤트를 제출할 수 있고, 플랫폼에서 이벤트 페이로드를 자동으로 캡처하여 이벤트 정의를 손쉽게 생성할 수 있습니다.
- 추가 내역: 데이터 탐색기에 요약 행이 추가되었습니다. 사용자가 각 열의 합계와 평균을 표시할 수 있습니다.
- 변경 내역: 데이터 탐색기와 SQL 데이터 탐색기에서 테이블 뷰가 업데이트되었습니다. 정렬, 열 가시성, 순서 변경 옵션을 제공하며, 가독성이 향상되었습니다.
Analytics 4.4.1
- 추가 내역: CustomData 메서드가
IDictionary<string,object>
,IList<object>
,Enum
파라미터를 지원합니다. - 변경 내역: 이벤트를 업로드 프로세스의 일부로 처리하지 않고 기록 시 즉시 직렬화하도록 수정했습니다. 이를 통해 업로드하는 동안(60초마다) 경험할 수 있었던 모든 문제를 완화할 수 있습니다.
- 변경 내역:
com.unity.services.core
종속성이 1.8.1로 업데이트되었습니다. - 수정 내역: 런타임 시 커스텀 사용자 ID를 변경할 수 있습니다(
UnityServices.ExternalUserId
를 업데이트하여). - 수정 내역: ExternalUserId 변경이 즉시 반영됩니다. 이로 인해 기존의 예측 불가능한 지연이 사라졌습니다.
- 수정 내역: 너무 커서 업로드할 수 없는 단일 이벤트(4MB 이상)를 기록하면 추가 이벤트 업로드가 불가능했던 문제를 수정했습니다(이벤트가 경고와 함께 즉시 폐기됨).
- 수정 내역: 애플리케이션이 5분 이상 일시 중지되면, 백그라운드에서 실행되지 않는 경우 세션 ID를 새로 고치도록 수정했습니다.
- 지원 중단 예정:
RecordEvent(Event event)
API는 더 이상 지원되지 않으며 향후 버전에서 제거될 예정입니다.
Cloud Code
- 추가 내역: Cloud Code에서 C# 모듈을 생성할 수 있는 새로운 API 세트가 추가되었습니다. 코드 재사용, NuGet 종속성, 모듈당 여러 엔드포인트, 로컬 단위 테스트 등을 지원합니다.
- 추가 내역: Cloud Code C# CLI 모듈이 추가되었습니다.
- 추가 내역: Cloud Code SDK v2.3.1
- 추가 내역: Cloud Code C# 모듈을 지원합니다.
- 추가 내역: JS 번들링을 지원합니다.
- 수정 내역: Cloud Code 스크립트의
null
경로 문제를 수정했습니다.
Remote Config
- 변경 내역: 문자열 타입 값 제한을 20,000자에서 65,535자로 늘렸습니다.
- 변경 내역: JSON 유형 값에 대한 20,000자 제한을 제거했습니다. 개발 환경당 총 구성 크기는 여전히 5MB입니다.
- 수정 내역: Remote Config 기술 자료와
ExampleSample.cs
에서 구성 가져오기와 적용에 대한 예제를 개선했습니다.
Game Overrides
- 추가 내역: 리포트 페이지에 상대 차트 유형이 추가되었습니다.
- 추가 내역: 다수의 배리언트 Game Overrides에 대한 테스트 종료 기능이 추가되었습니다.
- 추가 내역: 리포트 페이지에 요약 표가 추가되었습니다.
- 수정 내역: API 규격에서 CampaignRequest 조건 필드의 누락된 유형을 수정했습니다.
- 수정 내역: 일부 경우 시뮬레이션 경험이 작동하지 않던 문제를 수정했습니다.
Push NotificationsBETA 3.0.1-pre.1
- 수정 내역: Firebase 종속성 충돌 가능성을 해결했습니다.
- 수정 내역: Android 13 권한에 대한 지원을 추가했습니다.
- 수정 내역: 에디터 플레이 모드에서 불필요한 오류가 발생하던 문제를 수정했습니다.
- 수정 내역: Push Notifications 개요 페이지에서 잘못된 콘텐츠 유형이 표시되던 문제를 수정했습니다.
Deployment Package 1.0.0
- 추가 내역: 공식 GA 릴리스를 추가했습니다.
- 추가 내역: 내부 API를 공용 API로 변경했습니다.
- 수정 내역: Deployment 창에서 새로운 개발 환경이 표시되지 않던 문제를 수정했습니다.
Lobby
- 릴리스 내역: Lobby SDK 1.1.0-pre.4 업데이트(변경 기록)
- 추가 내역: 더 상세한 LobbyEvents
- 추가 내역: 비밀번호가 설정된 로비
Use Cases Samples 1.9.1
추가 내역: 서버리스 멀티플레이어 게임 샘플은 게임 로비를 활용하는 방법과, 플레이어가 코인을 모아 점수를 획득하는 경기장 스타일의 간단한 실시간 게임에서 경쟁하는 방법을 보여 줍니다.
변경 내역: Unity 에디터 버전 2020.3.20f1에서 2020.3.41f1로 프로젝트를 업그레이드했습니다.
- 2023년 3월 13일 기준 최신 버전의 Unity 서비스 패키지로 업데이트되었습니다.
변경 내역: Unity 에디터 2020.3.41f1에서 확인된 최신 버전의 다양한 비UGS 패키지로 업데이트되었습니다.
변경 내역:
RemoteConfigService.instance.SetCustomUserId()
호출은 특정 상황에서만 필요하므로ClientVersionCheck.cs
에서 해당 호출을 제거했습니다. ClientVersionCheck는 특정 상황에 해당되지 않기 때문입니다.변경 내역: 새로 적용된 린팅 규칙을 지원하기 위해 파일을 소폭 리팩토링했습니다.
변경 내역: 서버리스 멀티플레이어 게임에서 호스트가 떠나거나 플레이어가 로비에서 쫓겨나는 경우 클라이언트가 메인 메뉴로 강제로 돌아가는 원인을 설명하는 팝업을 추가했습니다.
변경 내역: 서버리스 멀티플레이어 게임에서 게임 씬의 반응성을 높이고 게임플레이에서 '호스트 어드밴티지'를 줄이기 위해
Interpolate
설정을 껐습니다. 이 플래그는 플레이어 아바타 프리팹의ClientNetworkTransform
컴포넌트에 위치합니다.
Economy
- 추가 내역: Economy SDK v3.1.2
- 수정 내역: UnityServices.ExternalUserId를 설정할 때 예외를 발생시키는 버그를 수정했습니다.
- 추가 내역: Economy SDK v3.1.1
- 추가 내역: 새로운 동기화 구성 워크플로를 도입했습니다. 이전 메서드는 더 이상 지원되지 않습니다. 새로운 워크플로에 대한 자세한 내용은 문서를 참고하십시오.
- 삭제 내역: 구성에서 존재하지 않는 재화를 가져올 때 불필요한 로그 메시지를 제거했습니다.
- 수정 내역: 현금 구매 요청 시 Store Identifiers 필드가 채워지지 않는 버그를 수정했습니다.
- 수정 내역: writeLocks가 제대로 설정되지 않는 버그를 수정했습니다.
- 수정 내역: 커스텀 데이터를 포함한 가상 구매를 가져올 때 예외를 발생시키는 버그를 수정했습니다.
2023년 2월
Authentication
- 추가 내역: Player Management:
- Dashboard: 계정 삭제
- Public Admin API: Enable/Disable Players
Cloud Code 2.2.4
- 수정 내역: 서비스에서 사용되는 손상된 npm 라이브러리를 수정했습니다.
- 수정 내역: 일부 실패 사례에서 누락된 로그가 처리되도록 수정했습니다.
- 수정 내역: 프리 프로세서 지시문 뒤에 더 상세한 진단용 로깅을 추가했습니다.
Analytics 대시보드
- 추가 내역: Analytics 이벤트 관리 단순화 - 파라미터를 포함하도록 생성 모달을 확장했습니다.
Analytics 4.3.0
- 추가 내역: 파라미터가 없는 이벤트를 기록하기 위한 CustomData(string eventName) 메서드가 추가되었습니다.
- 변경 내역:
AnalyticsContainer
오브젝트가 이제UnityServices.InitializeAsync
중에 생성됩니다. - 수정 내역: 손상된 단일 이벤트로 인해 이후의 모든 이벤트가 전송되지 않던 문제를 수정했습니다.
- 수정 내역: 파라미터가 없는 이벤트에 대해
CustomData
에 Dictionary 대신 null을 전달할 때NullReferenceException
이 발생하던 문제를 수정했습니다. - 수정 내역:
ConvertCurrencyToMinorUnits
에 재화 코드로 null을 전달할 때 발생하던NullReferenceException
을 수정하여, 이제 재화 코드가 null 또는 비어 있는 경우ArgumentNullException
이 발생합니다. - 수정 내역: 2020.1 에디터 버전에서 발생하던 컴파일러 오류를 수정했습니다.
- 수정 내역:
IAnalyticsService.Flush
메서드에 대한 기술 자료의 주석을 수정하여 동작과 사용법을 명확히 했습니다.
Game Overrides
- 추가 내역: Game Overrides 사용자는 이제 오버라이드의 목적과 의도된 결과를 설명하기 위해 오버라이드에 대한 설명을 설정할 수 있습니다.
- 수정 내역: Game Overrides와 Push Notifications 간에 전환할 때 페이지 지정이 지속되지 않고, 일부 경우 오류 페이지가 표시되는 문제를 수정했습니다.
Cloud Content Delivery 2.2.2
- 추가 내역: API 호출에 대한 시간 초과를 설정할 수 있도록
CcdManagement
에SetTimeout
이 추가되었습니다. - 추가 내역:
GetEntriesAsync(EntryOptions, string, int)
가 추가되었습니다. 이는 엔트리를 가져오는 데 선호되는 메서드입니다. - 추가 내역:
ListEnvironmentsByProjectAsync
,GetEnvironmentByNameAsync
메서드가 추가되었습니다. - 추가 내역 유닛 테스트 작성을 위한
MockHttpRequest
가 추가되었습니다. - 추가 내역:
EnvironmentsApi
에 대한 유닛 테스트가 추가되었습니다. - 변경 내역: 콘텐츠 업로드를 위해 서명된 URL을 사용하도록
InternalUploadAsync
가 변경되었습니다. - 변경 내역: 업로드가 필요한 경우
CreateEntryAsync
,CreateOrUpdateEntryByPathAsync
,UpdateEntryAsync
,UpdateEntryByPathAsync
가IsUpToDate
를 기준으로 서명된 URL을 요청하도록 변경되었습니다. - 변경 내역:
ListEnvironmentsByProjectAsync
를 사용하도록SetDefaultEnvironmentIfNotExists
가 변경되었습니다. - 변경 내역: 개발 환경이 설정되지 않은 경로에 대해
SetDefaultEnvironmentIfNotExists
를 건너뛸 수 있도록 새로운TryCatchRequest
가 추가되었습니다. - 변경 내역:
accessToken
과projectId
의 업데이트 방식을CcdManagement.Instance
에서 테스트를 위해 제거할 수 있는 Action으로 변경했습니다. - 수정 내역: 빈 릴리스 번호 쿼리 파라미터를 전송하던
GetReleaseDiff
와GetReleaseDiffEntries
의 문제를 수정했습니다. - 수정 내역: 요청에 잘못된 형식의 본문을 보내던
GetOrgAsync
와GetOrgUsageAsync
의 문제를 수정했습니다.
Core SDK 1.7.1
- 수정 내역:
ActionScheduler
가 더 이상 매 프레임마다 40바이트의 GC 할당을 생성하지 않도록 수정했습니다. - 수정 내역: 코드 스트리핑이 활성화된 빌드에서 필요한 모든 서비스 어셈블리가 제대로 유지되도록 link.xml 제너레이터가 추가되었습니다. 이 파일에는
IServiceComponent
를 제공하는 서비스만 나열됩니다. - 수정 내역:
ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGING
이 스크립팅 정의로 활성화된 경우에만 실패한 텔레메트리 요청이 오류를 기록하도록 수정했습니다. - 수정 내역: 플레이 모드에서 등록된 모든
ActionScheduler
가 플레이 모드를 종료할 때 제대로 등록 해제되도록 수정했습니다.
In-App Purchasing 4.6.0
- 추가 내역:
RestoreTransactions
가 성공하지 못했을 때 오류 문자열을 전달하는 새로운 거래 복원 콜백RestoreTransactions(Action<bool, string> callback)
이 추가되었습니다(IAppleExtensions
및IGooglePlayStoreExtensions
). - 추가 내역:
OnInitializeFailed
가 호출될 때 오류 문자열을 전달하는 새로운 초기화 실패 콜백IStoreListener.OnInitializeFailed(InitializationFailureReason, string)
가 추가되었습니다. - 추가 내역:
OnSetupFailed
가 호출될 때 오류 문자열을 전달하는 새로운 설정 실패 콜백IStoreCallback.OnSetupFailed(InitializationFailureReason, string)
가 추가되었습니다. - 추가 내역: 새로운
FetchAdditionalProducts
가 추가되었습니다.failCallback
에는 다음 오류 문자열이 포함됩니다.IStoreController.FetchAdditionalProducts(HashSet<ProductDefinition>, Action, Action<InitializationFailureReason, string>)
- 추가 내역: Apple -
Product.appleOriginalTransactionId
: 원래의 거래 ID를 반환합니다. 이 필드는 활성 세션에서 구매가 이루어진 경우에만 사용할 수 있습니다. - 추가 내역: Apple -
Product.appleProductIsRestored
: 제품이 복원되었는지 여부를 나타냅니다. - 추가 내역: Google Play - 이전 동작으로 되돌릴 수 있도록
IGooglePlayConfiguration.SetFetchPurchasesExcludeDeferred(bool exclude)
가 추가되었습니다. 이는 사용하지 않는 것이 좋으며,Deferred
구매가IStoreListener.ProcessPurchase
에서 처리될 때만 사용해야 합니다. - 추가 내역: Google Play - 제품의
GooglePurchaseState
를 확인할 수 있도록IGooglePlayStoreExtensions.GetPurchaseState(Product product)
가 추가되었습니다. - 추가 내역: Google Play - 사용 가능한 경우
PurchaseFailureDescription
메시지에 출력하기 위해GoogleBillingResponseCode
에 누락된 값이 추가되었습니다. - 추가 내역: Codeless - IAP 버튼에 On Transactions Restored 스크립트를 추가할 수 있는 옵션이 추가되었습니다.
void OnTransactionsRestored(bool success, string? error)
- 변경 내역: 기존 OnInitializeFailed
OnInitializeFailed(InitializationFailureReason error)
가Obsolete
로 표시되었습니다. - 변경 내역: 기존 OnSetupFailed
OnSetupFailed(InitializationFailureReason reason)
가Obsolete
로 표시되었습니다. - 변경 내역: 기존 FetchAdditionalProducts
FetchAdditionalProducts(HashSet<ProductDefinition> additionalProducts, Action successCallback, Action<InitializationFailureReason> failCallback)
가Obsolete
로 표시되었습니다. - 변경 내역: 기존 거래 복원 콜백
RestoreTransactions(Action<bool> callback)
를Obsolete
으로 표시했습니다(IAppleExtensions
및IGooglePlayStoreExtensions
). - 변경 내역: Apple - Apple에서 수신한 유효하지 않은 거래(제품에 대한 권한이 없는 경우)는 더 이상
Finishing transaction
로그를 출력하지 않습니다. 이는ProcessPurchase
에 도달하지 못한 거래에만 영향을 미칩니다. - 변경 내역: Google Play - 이제
GooglePurchaseState
열거형이4
를Deferred
로 인식합니다. - 수정 내역: Analytics - Analytics 4.3.0에서 도입된
ServicesInitializationException
이 이제 제대로 처리됩니다. - 수정 내역: Analytics - 제품에 대한 현지화 데이터가 없을 때 거래 이벤트가 무효화되는 문제를 수정했습니다.
- 수정 내역: Google Play - BillingClient가 준비되지 않은 상태에서 SKU 세부 정보를 쿼리할 때 발생하던
NullReferenceException
을 수정했습니다. - 수정 내역: Google Play - Google Play 스토어와 연결이 끊어진 상태에서 애플리케이션을 다시 열 때 발생하는 ANR(애플리케이션 응답 없음) 문제를 수정했습니다.
- 수정 내역: Google Play - 연결이 끊어진 상태에서 제품을 검색할 때
PurchasingUnavailable
오류가 한 번만 발생하도록 제한했습니다. - 수정 내역: Google Play - 구매를 가져올 때 기본적으로
Deferred
구매는 더 이상IStoreListener.ProcessPurchase
로 전송되지 않습니다. 이를 통해 결제되지 않은 제품이 제공되는 상황을 방지할 수 있습니다. 이 구매는Purchased
상태가 되었을 때만 처리됩니다. 이는IGooglePlayConfiguration.SetFetchPurchasesExcludeDeferred(bool exclude)
로 되돌릴 수 있으며, 이 구매를 제외하지 않으려면 해당 설정을 켜야 합니다. 그러나Deferred
구매는IStoreListener.ProcessPurchase
에서 처리해야 합니다.
Remote Config
- 변경 내역: 전 세계적인 연결성 향상을 위해 백엔드 인프라를 업그레이드했습니다. Remote Config가 이제 북미, 유럽, 아시아의 트래픽을 처리합니다.
Lobby 1.1.0-pre.3
- 추가 내역:
LobbyEvents
에 비교를 위한 버전이 제공됩니다. - 추가 내역: 생성 또는 참여를 단일 호출로 처리할 수 있도록
CreateOrJoinLobby
함수가 추가되었습니다. - 추가 내역: Player 클래스에
PlayerProfile
필드가 추가되었습니다. - 추가 내역: 로비의 실시간 변경 사항 업데이트를 제공하기 위해
LobbyEvents
기능이 추가되었습니다. - 수정 내역: Lobby Events API가 완전히 노출되지 않도록 막고 있던 가드를 제거했습니다.
2023년 1월
Authentication 2.4.0
- 추가 내역: Apple Game Center 지원:
SignInWithAppleGameCenterAsync
,LinkWithAppleGameCenterAsync
,UnlinkAppleGameCenterAsync
Apple Game Center Authentication API Support
- 추가 내역: 플레이어 계정 삭제 API가 추가되었습니다.
Cloud Code 2.2.1
- 수정 내역: Deployment 창에서 중복 파일이 이제 오류 대신 경고로 표시됩니다.
- 수정 내역: 일부 경우에 발생하던 속도 제한 문제를 수정했습니다.
Remote Config 3.3.1
- 추가 내역: Config As Code에 대한 Deployment API 구현이 업데이트되었습니다.
- 수정 내역: 배포 실패 시 메시지 세부 정보가 포함되지 않던 문제를 수정했습니다.
DeploymentBETA 1.0.0-pre.7
- 추가 내역: Deployment 창에 새로운 UI 추가: 향상된 상태 관측성
- 추가 내역: Deployment 창에 새로운 UI 추가: 체크박스가 있는 에셋 선택
- 수정 내역: 에디터 세션 간에 배포 상태가 저장되지 않던 문제를 수정했습니다.
- 수정 내역: 배포 속도 제한 관련 문제를 수정했습니다.
In-App Purchasing 4.5.2
- 수정 내역: 사용되지 않는 예외 변수로 인해 발생하던 컴파일러 경고(CS0168)가 제거되었습니다.
- 수정 내역: Telemetry - 텔레메트리 리포트 호출 시 가끔씩 일부 사용자에게
NullReferenceException
,IndexOutOfRangeException
,KeyNotFoundException
이 발생하던 문제를 수정했습니다. 이제 이러한 예외는 안전하게 포착되고 기록됩니다. 또한 모든 텔레메트리 호출이 메인 스레드에서 실행되도록 변경하여 문제를 완화했습니다. IAP 4.4.1에서 문제가 발견되었지만 이전 버전에서도 발생했을 수 있습니다. - 수정 내역: Apple - 앱 실행 시 거래를 처리하는 동안 발생하던 메모리 부족 크래시 문제를 방지하기 위해 거래 처리 시 메모리 사용을 최적화했습니다.
- 수정 내역: Batch Mode -
UnityPurchasingEditor.TargetAndroidStore
를 호출하여 UDP를 선택할 때 UDP 패키지 설치 여부를 확인하고, 차단 팝업을 표시하는 대신 오류를 로깅하도록 수정했습니다. 이는 Batch Mode 커맨드의 일부로 실행될 때 적용됩니다. - 수정 내역: Analytics - 백엔드에서 파싱 문제를 유발하던 영수증 JSON의 이스케이프 문자를 제거했습니다.
- 수정 내역: Google Play - 연결이 끊어진 상태에서 거래 완료를 재시도할 때 크래시가 발생하던 버그를 수정했습니다.
Cloud Save
- 변경 내역: 슬롯 크기 제한(16KB)을 제거하여 사용자가 모든 슬롯에서 총 5MB를 사용할 수 있습니다.
- 변경 내역: 최대 슬롯 개수를 200에서 2000으로 늘렸습니다.
Push NotificationsBETA 3.0.0-pre.1
- 추가 내역: 패키지 설정 패널에 제품 대시보드 링크가 추가되었습니다.
- 변경 내역: Android의 패키지 설정 이름이 Firebase 설정 이름과 일치하도록 변경했습니다.
- 변경 내역: 직접 사용되지 않도록 설계된 일부 클래스를 공용 API에서 제거했습니다.
- 변경 내역: 지원 중단 예정인
PushNotifications
클래스와 더 이상 사용되지 않는PushNotificationSettings
프로퍼티를 제거했습니다. - 수정 내역: 알림에서 완전히 종료된 앱을 실행할 때
notificationOpened
이벤트도 전송되도록 수정했습니다. - 오픈 베타로 릴리스되었습니다.
분석
- 추가 내역: UGS Analytics에서 레거시 Analytics의 커스텀 이벤트를 지원하여 게임 코드를 변경할 필요가 없습니다.
Game Server Hosting(Multiplay)
- 수정 내역: 서버 이벤트 구독 시 일부 이벤트가 누락되어 경쟁 상태를 초래하던 버그를 수정했습니다.
2022년 12월
Relay 1.0.5
- 추가 내역: 이 버전의 Relay를 UTP 2.0.0-pre.3 및 NGO 1.2.0과 함께 사용하면 WebGL에서 Relay를 사용할 수 있습니다.
- 추가 내역:
SimpleRelay
샘플이 업데이트되었습니다. - 변경 내역:
InteractiveRelayUtp
샘플이SimpleRelayUtp
로 대체되었습니다. - 변경 내역: QoS 종속성이 1.1.0으로 업데이트되었습니다.
- 변경 내역: UTP 종속성이 1.3.0으로 업데이트되었습니다.
Core SDK 1.7.0
- 변경 내역: 에디터에서
AccessTokens
가 세션별로 게이트웨이 JWT를 캐시하고 필요에 따라 새로 고치도록 변경했습니다. 이제 결과를 캐시할 필요 없이 직접 사용할 수 있습니다. - 수정 내역: 스케줄러 컴포넌트의 스레드 안전성을 개선했습니다. 이제 모든 스레드에서
IActionScheduler
를 안전하게 호출할 수 있습니다. - 수정 내역: 텔레메트리 컴포넌트의 스레드 안전성을 개선했습니다. 이제 모든 스레드에서
IMetrics
와IDisagnostics
를 안전하게 호출할 수 있습니다.
Vivox
- 수정 내역: Android VivoxNative.aar 라이브러리에서 내부 종속성을 해결하려고 시도할 때 발생하던 문제를 수정했습니다.
2022년 11월
Authentication 2.3.1
- 추가 내역: Meta Quest(Oculus) 지원:
SignInWithOculusAsync, LinkWithOculusAsync, UnlinkOculusAsync
Meta Quest Authentication API Support
- 추가 내역:
PlayerInfo
에GetGooglePlayGamesId()
메서드 추가
Cloud Code 2.1.1
- 추가 내역: Config as Code와
Deployment
패키지 연동을 통해 에디터에서 CloudCode 스크립트를 직접 편집하고 설정할 수 있습니다. - 수정 내역: CloudCode 스크립트의 반환 유형으로 Void가 허용되었습니다.
- 수정 내역: 엔드포인트를 호출할 때 함수 인수의 필수 요구 사항이 제거되었습니다. 이제 null을 제공하거나 생략할 수 있습니다.
Core SDK 1.6.0
- 추가 내역:
UnityServices.ExternalUserId
는 타사 제공자의 사용자 식별자를 Unity Gaming Services로 전달하는 데 사용할 수 있습니다. - 추가 내역: 이제 Services Core가 모든
IInitializablePackage
초기화 시간을 측정합니다. - 변경 내역:
CoreRegistryInitializer
는 종속성 트리가 null일 때 명시적인NullReferenceException
대신ServicesInitializationException
을 발생시키도록 변경되었습니다. - 변경 내역: 스레드 안전을 위해 ActionScheduler가 업데이트되었습니다.
- 변경 내역: Unity 2021.3 이상 빌드 시 서비스 구성 파일이 일시적으로 StreamingAssets 폴더에 추가되지 않습니다.
- 변경 내역: 연결된 프로젝트 ID 없이 서비스 초기화 시 실패하도록 변경했습니다(
UnityProjectNotLinkedException
발생). - 수정 내역: 지속적인 텔레메트리는 더 이상 오류를 기록하지 않으며, 스크립팅 정의에 따라
ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGING
이 활성화된 경우에만 오류를 기록합니다. 지속적인 텔레메트리로 오류가 발생하면 진단이 전송됩니다. - 수정 내역: Core는 이제 제거된 서비스 패키지를 찾지 못해도 초기화에 실패하지 않습니다.
- 수정 내역: Unity 패키지가 여러 번 구현한 경우, Services Core가 모든
IInitializablePackage
를 찾지 못하던 문제를 수정했습니다. - 수정 내역: null 구성 값으로 인해 직렬화 문제가 발생하던 문제를 수정했습니다.
- 수정 내역: 인증 API를 사용하지 않을 때 발생하는 제거 문제를 수정했습니다.
Deployment 1.0.0-pre.4
- 추가 내역: Deployment 창에서 Cloud Code와 Remote-Config에 대한 배포를 관리할 수 있습니다.
- 추가 내역: 패키지의 첫 번째 사전 릴리스 버전이 추가되었습니다.
Economy 3.0.0
- 추가 내역:
CustomDataDeserializable
이 구성 항목에 추가되었으며, 유형은IDeserializable
입니다. - 추가 내역: 공개 인터페이스에 누락된 XmlDoc이 추가되었습니다.
IEconomyConfigurationApiClient
,IEconomyPlayerBalancesApiClient
,IEconomyPlayerInventoryApiClient
,IEconomyPurchasesApiClientApi
- 삭제 내역: com.unity.remote-config-runtime 종속성이 제거되었습니다.
Remote Config 3.2.2
- 추가 내역: RC 에디터를 위한 파일 기반 저작 기능을 구현했습니다.
- 추가 내역: 캐싱 메커니즘에 대한 기술 자료를 추가했습니다.
- 추가 내역: 버전 관리 기능이 릴리스되었습니다. 대시보드와 관리자 API를 통해 이전 버전의 게임 구성을 보면서 복원할 수 있습니다.
In-App Purchasing 4.5.1
- 수정 내역: Google Play - 앱이 포그라운드에 있을 때 지연 구매가 처리되는 문제를 수정했습니다. 이 문제는 Unity IAP 4.5.0에서 발견되었습니다.
- 수정 내역: Google Play - 앱 실행 시
DequeueQueryProducts
에서 발생하는NullReferenceException
문제를 수정했습니다. 이 문제는 Unity IAP 4.2.0에서 발견되었습니다. - 수정 내역: Analytics - 구매할 수 없는 제품의 실패한 거래를 리포트할 때 발생하는
NullReferenceException
문제를 수정했습니다. 이 문제는 Unity IAP 4.2.0에서 발견되었습니다. - 수정 내역: Analytics - 레거시 Analytics가 이제 커스텀 UGS 개발 환경에서 이벤트를 기록하지 않으며, 이로 인해 실시간 판매 수치가 잘못 기록되던 문제를 수정했습니다. 이 문제는 Unity IAP 4.2.0에서 발견되었습니다.
Matchmaker
- 수정 내역: Task.Delay 사용으로 인해 패키지 내 샘플이 WebGL 빌드에서 작동하지 않던 문제를 수정했습니다. 이제 코루틴을 사용하여 폴링을 처리하도록 구현되었습니다.
- 추가 내역: MatchmakingResults 모델에 새로운 프로퍼티 ‘PoolId’가 추가되었습니다.
2022년 10월
Authentication 2.2.0
- 추가 내역: Bring Your Own Identity v1 - OpenID Connect 지원:
SignInWithOpenIdConnectAsync, LinkWithOpenIdConnectAsync, UnlinkOpenIdConnectAsync
OpenID Connect Authentication API Support
- 추가 내역
:
WebGL 지원
Core SDK 1.4.3
- 변경 내역: 텔레메트리 로그가 이제
ENABLE_UNITY_SERVICES_CORE_VERBOSE_LOGGING
대신ENABLE_UNITY_SERVICES_CORE_TELEMETRY_LOGGING
정의를 사용합니다. - 수정 내역: 텔레메트리 서비스에서 텔레메트리 페이로드가 거부되지 않도록 진단 메시지 길이 제한과 텔레메트리 횟수 제한을 추가했습니다.
In-App Purchasing 4.5.0
- 추가 내역: Apple - 가족 공유 지원 추가
- API
IAppleConfiguration.SetEntitlementsRevokedListener(Action<List<Product>>
는 제품에 대한 권한이 취소될 때 호출됩니다.Action
은 취소된 제품 목록과 함께 호출됩니다. 샘플 사용법은 기술 자료의 ‘Store Guides’ > ‘iOS & Mac App Stores’ 를 참고하십시오. - API - 제품 메타데이터는 이제
AppleProductMetadata
에서 사용할 수 있으며,IStoreController.products
를 통해ProductMetadata.GetAppleProductMetadata()
로 액세스할 수 있습니다. - API
AppleProductMetadata.isFamilyShareable
는 제품이 가족 공유가 가능한지 여부를 나타냅니다. Apple App Store - 11 Family Sharing
샘플은 Unity IAP를 사용하여 가족 공유된 구매를 관리하는 방법을 보여 줍니다.
- API
- 수정 내역: Google Play - 프로모션 코드와 같은 앱 외 구매를 처리할 때 더 이상 앱을 재시작할 필요가 없습니다. 구매는 앱이 포그라운드로 돌아올 때 처리됩니다. 기술적 제약: 프로모션 코드의 경우, 코드가 사용되는 동안 앱이 열리면
IStoreListener.OnPurchaseFailed
에 추가 호출이 발생할 수 있으며, 그 이유는PurchaseFailureReason.Unknown
입니다. 이 호출은 무시해도 안전합니다. - 수정 내역: Google Play - Unity IAP 4.2.0에서 도입된 동시성 문제로 인해 제품 검색 시 드물게 발생하던
NullReferenceException
문제를 수정했습니다.
2022년 9월
Analytics 4.2.0
- 추가 내역: 모든 이벤트의
sessionID
파라미터를 채우기 위해 사용 중인 GUID 값을 반환하는SessionID
프로퍼티가 추가되었습니다. - 변경 내역: 과도한 트래픽을 줄이기 위해 gameRunning 이벤트 빈도를 줄였습니다(데이터 품질에는 영향 없음).
- 수정 내역: 개인정보 동의 플로 문제로 인해 WebGL에서 SDK 초기화 실패 시 이제 오류 메시지가 표시됩니다.
- 수정 내역: WebGL에서 업로드를 위한 SDK 이벤트 배칭 실패 시 이제 오류 메시지가 표시됩니다.
In-App Purchasing 4.4.1
- 추가 내역: Google Play - Google Play 결제 라이브러리 버전 4.0.0 지원
- IAP 패키지는 아직 Multi-quantity 기능을 지원하지 않으며, 향후 업데이트에서 제공될 예정입니다. Google Play Console에서
Multi-quantity
를 활성화해서는 안 됩니다. - IMMEDIATE_AND_CHARGE_FULL_PRICE 일할(proration) 모드를 지원합니다.
GooglePlayProrationMode.ImmediateAndChargeFullPrice
를 사용하여 쉽게 액세스할 수 있습니다. - 영수증 JSON의 ‘
skuDetails
’가 이제 단일 오브젝트가 아닌 기존 구조를 유지한 배열로 반환됩니다. 대부분의 경우 하나의 요소만 포함되므로, 이 값이 앱에서 파싱되는 경우 이를 배열처럼 처리하고 기본적으로 첫 번째 요소를 가져옵니다.
- IAP 패키지는 아직 Multi-quantity 기능을 지원하지 않으며, 향후 업데이트에서 제공될 예정입니다. Google Play Console에서
- 수정 내역: Google Play - Unity IAP 4.2.0에서 발생한 동시성 문제로 인해 드물게 발생하던 NullReferenceException과 ArgumentException을 수정했습니다.
- 수정 내역: Amazon - Android API 레벨 31 이상을 지원하기 위해 android:export를 true로 설정했습니다.
- 수정 내역: Google Play -
IGooglePlayConfiguration.SetDeferredPurchaseListener
와IGooglePlayConfiguration.SetDeferredProrationUpgradeDowngradeSubscriptionListener
콜백이 가끔씩 메인 스레드에서 호출되지 않던 문제를 수정했습니다. - 수정 내역: Google Play -
IGooglePlayConfiguration.SetQueryProductDetailsFailedListener(Action<int> retryCount)
구성 시, 0이 아니라 1부터 시작하는retryCount
와 함께 동작이 호출되던 문제를 수정했습니다. - 수정 내역: Google Play - 구독을 업그레이드하거나 다운그레이드할 때, 이전 거래 ID가 비어 있거나 null인 경우
IStoreListener.OnPurchaseFailed
가PurchaseFailureReason.ProductUnavailable
로 호출되는지 확인하는 단계가 추가되었습니다. 이는 사용자가 소유하지 않은 구독을 업그레이드하거나 다운그레이드하려고 시도할 때 발생할 수 있습니다.
Vivox
- 수정 내역: 생성된 오디오 버퍼 관련 API로 인해 Unity 에디터에 크래시가 발생하던 문제를 수정했습니다.
- 추가 내역: 이전에 생략되었던 여러 개의 생성된 API가 SDK에 다시 추가되었습니다.
- 수정 내역: 빌드 구성 값이 빈 문자열 대신 null로 저장되어, 프로젝트 설정에서 프로젝트가 연결되지 않은 경우 에디터에서 예외가 발생하던 문제를 수정했습니다.
2022년 8월
Analytics 4.1.0
- 추가 내역: 런타임 시 Analytics에서 사용되는 사용자 ID에 액세스할 수 있는 메서드를 추가했습니다.
- 수정 내역: 이벤트가 이제 밀리초를 포함한 타임스탬프와 함께 기록됩니다.
- 수정 내역: 더 많은 모델 오브젝트에 대해 XML 기술 자료가 제공됩니다.
- 수정 내역: 프로젝트 ID가 누락된 경우 나타나는 오류 메시지를 개선했습니다.
Lobby 1.0.3
- 수정 내역:
LobbyConflict
(HTTP 409) 해결 시ArgumentNullException
이 발생하는 버그가 수정되었습니다. - 수정 내역:
LobbyExceptionReason
대신CommonErrorCode
가 리포트되어 일부 switch 문이 잘못 처리되던 문제를 수정했습니다.
In-App Purchasing 4.3.0
- 추가 내역: Google Play - Unity IAP가 제품 세부 정보를 쿼리할 수 없을 때 API
IGooglePlayConfiguration.SetQueryProductDetailsFailedListener(Action<int>)
가 호출됩니다. 각 제품의 세부 정보 쿼리 실패 시 재시도 횟수와 함께Action
이 호출됩니다. 샘플 사용법은 기술 자료의 Store Guides > Google Play를 참고하십시오.
Matchmaker
- 수정 내역: 일부 IL2CPP 플랫폼에서 컴파일 시 Multiplay 토큰 클래스의 직렬화가 제거되는 문제를 수정했습니다.
Vivox
- 변경 내역: Windows와 Mac용 VivoxNative 라이브러리의 .meta 파일을 조정하여 에디터의 빌드 대상과 상관없이 Load on Startup을 활성화하도록 변경했습니다. 특히 에디터 빌드 대상이 iOS로 설정된 경우 Play 모드로 진입할 때 컴파일러 오류가 발생했는데, 이는 에디터에서 Windows 라이브러리와 함께 사용되는 Mac 라이브러리가 제대로 로드되지 않았기 때문입니다.
- 수정 내역: 여러 플러그인 .meta 파일이 특정 플랫폼을 대상으로 하지 않아 발생하던 문제를 수정했습니다. 기존에 추가 Vivox 플랫폼 패키지가 설치된 경우 플레이 모드로 진입할 때 에디터에 크래시가 발생했습니다.
- 수정 내역: ChatChannelSample에서 Authentication 패키지를 사용할 수 없는 경우 컴파일러 오류가 발생하던 문제를 수정했습니다. ChatChannelSample을 설치하면 Authentication 패키지가 자동으로 포함되어야 하지만, 그렇지 않은 경우 컴파일러 오류가 발생했었습니다.
2022년 7월
Authentication 2.1.1
- 추가 내역: Google Play 게임즈 지원:
SignInWithGooglePlayGames, LinkWithGooglePlayGames, UnlinkGooglePlayGames
Google Player Games Authentication API Support
Cloud Code 2.0.1
- 수정 내역: 공용
ICloudCodeService
인터페이스에 누락된 XmlDoc이 추가되었습니다.
Cloud Save 2.0.1
- 추가 내역: 공용
ICloudSaveDataClient
인터페이스와CloudSaveService
정적 클래스에 누락된 XmlDoc이 추가되었습니다.
Core SDK 1.4.2
- 추가 내역:
ENABLE_UNITY_SERVICES_CORE_VERBOSE_LOGGING
스크립팅 정의를 사용할 때, 디버깅 목적으로 모든 서비스 간에 공유되는 공통 구성을 포함하는 JSON을 로그로 기록합니다. - 추가 내역: Core 패키지가 포함된 프로젝트를 빌드할 때 프로젝트 설정에서 프로젝트가 링크되지 않은 경우 경고를 기록합니다.
- 변경 내역: Cloud 프로젝트 ID 없이 core 초기화 시 경고 대신 오류를 기록합니다.
- 수정 내역: 텔레메트리에서 빈 파일이 제공될 때 발생하던
NullReferenceException
을 null 검사를 통해 수정했습니다. - 수정 내역: Switch에서
DirectoryNotFoundException
이 불규칙하게 발생하던 경쟁 상태 문제를 해결했습니다.
Remote Config 3.1.3
- 추가 내역: 2.x 네임스페이스 내에서 Analytics를 사용하는 플랫폼을 위한
ENABLE_CLOUD_SERVICES_ANALYTICS
플래그가 추가되었습니다. - 추가 내역: 2.x 네임스페이스 내 Analytics 패키지에서 userId를 가져올 수 있도록 플랫폼 화이트리스트가 추가되었습니다.
- 추가 내역: 콘솔용 페이로드에 projectId와 userId 파라미터를 포함할 수 있습니다.
In-App Purchasing 4.2.1
- 추가 내역: 카탈로그 UI를 통해 Unity Gaming Services를 자동으로 초기화하는 기능이 추가되었습니다. 자세한 내용은 기술 자료를 참고하십시오.
- 변경 내역: 이제 In-App Purchasing 패키지를 사용하려면 Unity Gaming Services를 초기화해야 합니다. 당분간 IAP는 기존처럼 작동하지만, Unity Gaming Services가 초기화되지 않은 경우 경고 로그가 표시됩니다. 이 패키지의 향후 릴리스에서는 Unity Gaming Services 초기화가 필수입니다. 자세한 내용은 기술 자료를 참고하십시오.
- 수정 내역: 1.4.1 버전에서 발견된 새로운 버그로 인해
com.unity.services.core
가 1.4.1에서 1.3.1로 다운그레이드되었습니다.
Matchmaker
- 수정 내역: 버그픽스: 일부 Linux 플랫폼에서 컴파일 시 Multiplay 토큰 클래스의 직렬화가 제거되는 문제를 수정했습니다.
- 추가 내역: Photon 연동을 위한 CreateBackfillTicketOptions에 PoolId와 MatchId가 추가되었습니다.
Vivox
- 추가 내역: 개발자가 시작 시 Vivox 클라이언트 설정을 구성할 수 있도록 VivoxService.Instance.Initialize(...) 메서드에 VivoxConfig를 파라미터로 추가했습니다.
- 변경 내역: AccountId와 ChannelId URI에 개발 환경 ID를 추가할 때, 마이너스('-') 문자를 제거할 필요가 없습니다. 개발 환경 ID가 그대로 추가되도록 변경했습니다.
- 수정 내역: Android 플랫폼에서 생성된 파일이 패키지에 포함되어, 다른 라이브러리에는 존재하지 않는 API로 인해 메서드를 호출할 수 없던 문제를 수정했습니다.