이전 버전의 Unreal Engine 4 사용
PlayFab 온라인 하위 시스템(OSS)은 공식적으로 지원하지 않지만 이전 버전의 Unreal Engine 4에서는 완전히 사용할 수 있습니다. 핵심 네트워킹 기능은 인터페이스 기능 이름 및 서명을 약간 수정하여 이전 버전의 Unreal Engine 4 OSS 인터페이스와 일치하도록 특정 인스턴스의 이름을 바꾸거나 제거하는 방식으로 이전 버전의 Unreal Engine 4로 다시 마이그레이션됩니다.
버전 1.07 이하의 XDK 지원
- 아래 변경 내용을 게임(엔진 아님) INI 파일 'XboxOneEngine.ini'에 적용합니다.
- INI 섹션이 이미 있는 경우 바꿉니다(예: Engine.GameEngine).
- 모든 <REPLACE ME> 필드를 사용자 데이터로 바꿔야 합니다.
[OnlineSubsystem]
DefaultPlatformService=PlayFab
NativePlatformService=Live
[OnlineSubsystemPlayFab]
bEnabled=true
PlayFabTitleID=<REPLACE ME with your PlayFab title ID>
MaxDeviceCount=<REPLACE ME with your max player count (note: split screen is still 1 device). In the example of an 8 player game, this would be 8.>
MaxDevicesPerUserCount=<REPLACE ME with your max player count per box (note: split screen is still 1 device) In the example of an 8 player game, this would be 1.>
MaxEndpointsPerDeviceCount=<REPLACE ME with your max player count per box (note: split screen is still 1 device) In the example of an 8 player game, this would be 1.>
MaxUserCount=<REPLACE ME with your max player count (note: split screen is still 1 device) In the example of an 8 player game, this would be 8.>
MaxUsersPerDeviceCount=<REPLACE ME with your max player count per box (note: split screen is still 1 device) In the example of an 8 player game, this would be 1.>
[/Script/OnlineSubsystemPlayFab.PlayFabNetDriver]
NetConnectionClassName="OnlineSubsystemPlayFab.PlayFabNetConnection"
ReplicationDriverClassName="<REPLACE ME with your existing replication driver class name>"
ConnectionTimeout=15.0
InitialConnectTimeout=30.0
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemPlayFab.PlayFabNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
XDK와 GDK 간의 세대 간 플레이 사용
Unreal Engine 4의 기본 게임 구현은 들어오는 원격 Net ID가 로컬 인스턴스와 동일한 하위 시스템 유형인지 확인합니다. XDK와 GDK 간의 교차 플레이는 유형이 서로 다르며 다음 중 하나를 변경해야 합니다.
- GameMode 내에서 함수를 재정의하고 이 검사가 필요하지 않은 PreLogin 함수를 구현하거나 NetID의 기본 함수에 nullptr을 전달하여 검사를 건너뜁니다.
- 이 클래스가 이미 재정의되었을 수 있습니다.
- 기본 함수 AGameMode::PreLogin을 편집하여 OSS 유형 확인(bUniqueIdCheckOk)을 제거합니다.