Freigeben über


Verwenden älterer Versionen von Unreal Engine 4

Obwohl es nicht offiziell vom PlayFab Online Subsystem (OSS) unterstützt wird, ist es durchaus möglich, es in älteren Versionen von Unreal Engine 4 zu verwenden. Die Kernnetzwerkfunktionalität wird zurück zu früheren Versionen von Unreal Engine 4 migriert, wobei geringfügige Anpassungen an Schnittstellenfunktionsnamen & Signaturen vorgenommen werden, wobei bestimmte Instanzen umbenannt oder entfernt wurden, damit sie mit älteren Versionen der oss-Schnittstelle von Unreal Engine 4 übereinstimmen.

XDK-Unterstützung ab Version 1.07

  • Wenden Sie die folgenden Änderungen auf die INI-Datei "XboxOneEngine.ini" des Spiels (nicht der Engine) an.
  • Ersetzen Sie die INI-Abschnitte, wenn sie bereits vorhanden sind (z. B. Engine.GameEngine).
  • Stellen Sie sicher, dass Sie alle <REPLACE ME-Felder> durch Ihre Daten ersetzen.
[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")

Aktivieren des generationsübergreifenden Spielens zwischen XDK und GDK

Die Standardspielimplementierung in Unreal Engine 4 überprüft, ob eine eingehende Remote-Net ID denselben Subsystemtyp wie die lokale instance aufweist, da das Crossplay zwischen XDK und GDK unterschiedliche Typen aufweist und Sie eine der folgenden Änderungen vornehmen müssen:

  • Überschreiben Sie die Funktion in Ihrem GameMode, und implementieren Sie eine PreLogin-Funktion, die diese Überprüfung nicht erfordert, oder übergeben Sie einen NULLptr an die Basisfunktion für NetID, und überspringen Sie die Überprüfung.
    • Möglicherweise haben Sie diese Klasse bereits überschrieben.
    • Bearbeiten Sie die Basisfunktion AGameMode::P reLogin, um die OSS-Typprüfung (bUniqueIdCheckOk) zu entfernen.