Pragma Engine 0.0.19

2021-05-25

Features #

  • Game server metrics support
    • MatchEndV2 supports new metrics field
    • MatchEndV2 has improved names and structure
  • Instanced Items run initialization plugin in all cases, including
    • Match End Grants
    • Rewards
    • Store Purchase
  • Unity SDK
    • All RPCs defined in the Lobby service are now available through the Raw API.
  • Unreal SDK
    • Added a full, stateful Lobby implementation accessible via Session().LobbyService()
      • Enable by adding the following to your DefaultGame.ini:
        • [/Script/PragmaSDK.PragmaLobbyService]<br />bEnabled=true
    • Raw api services can now be accessed directly via Session::GetService() (Session.Account().Raw() style is still available though).
    • PragmaResult now has an Error() method that gets the error (if IsFailure is true) as a new type FPragmaError which encompasses new platform & sdk error enums.
    • Protocol internals now use TUniqueFunction instead of TFunction (Can now MoveTemp into Raw methods lambda captures).
      • Eliminated an excess copy when passing delegates to Raw methods.
      • TPromise/TFuture can be used more cleanly with Raw methods as you can now MoveTemp(TPromise) into a Raw method lambda.
    • Add SessionService which contains logic for logout and session attributes.
      • SessionService().DisconnectV1() method.
        • The method will call RequestLogoutV1 on both connections.
        • Calls callback once both connections have closed.
      • SessionService().GetAttribute
        • Used to retrieve current Session attributes.
      • SessionService().GetAttributeChangedDelegate
        • Used to watch for SessionAttribute changes.
      • Currently the only Session Attribute is the Game LobbyId.
    • Added opt-in compile-time deprecation warnings
      • To enable, in your Project.Build.cs add PrivateDefinitions.Add("PRAGMASDK_ENABLE_DEPRECATION_WARNINGS");

Deprecation #

  • REMOVED this release: Pragma Engine - Scheduled for REMOVAL in 0.0.21:

    • N/A Pragma Engine - DEPRECATED this release (Scheduled for 0.0.22):

    • InstancedEntry.instance_defaults to be replaced by ExtensionInstancedEntry.ext

    • Protos to be deleted since they are unused

      • StackableEntryUpdate
      • InstancedEntryUpdate
      • InventoryUpdateV1Notification
    • Protos deprecated because a new version is available

      • MatchEndV1Request
      • MatchEndV1Response
      • MatchEndV1Notification
      • MatchEndPayload
      • PragmaMatchEndData
      • PragmaPlayerMatchEndData
    • UnrealSDK

      • UPragmaConnection::OnDisconnected. Please use UPragmaConnection::OnDisconnectedV2.
      • TPragmaResult::UnknownErrorCode. Please use FPragmaError::UnknownError.