Pragma Engine 0.0.64

April 19th, 2022

Features #

  • Unity SDK: New method allows a game server to directly report match capacity data to Pragma Engine.
    • Description: The new method ReportCapacityUntilMatchAllocated on MatchCapacityService handles reporting into Pragma Engine until a match is available. Once a match is found, it returns the associated match data.
  • Unreal SDK: You can now initialize Pragma without access to a World.
    • Description: PragmaSession no longer requires access to a World.
  • Unreal SDK: Internal SDK timers now sync to game tick to guarantee they persist across World transitions.
    • Description: All timers are based on engine game tick instead of World timers to ensure they persist across levels.
  • New endpoints for updating inventory items.
    • Description: Items can be updated given a playerID and a list of ServerItemUpdateV2. This list is a oneof including either a ServerInstancedItemUpdate or a StackableItemUpdate. This will return an InventorySegmentV1Data, which contains the updated item and a delta of changes. The Service call is UpdateItemsServiceV1.
    • Postman paths:
      • Game → RPC - Operator → Inventory → UpdateItemsOperatorV1
      • Game → RPC - Partner → Inventory → UpdateItemsPartnerV1

Deprecations #

  • UnpartitionedDaoNodeService and PartitionedDaoNodeService will now use executeSingle (single interaction) and transact (multiple statements).

    OriginalReplacementRemoval Patch
    executeexecuteSingle0.0.66
    executeTransactiontransact0.0.66
  • Session and WebSocket cleanup changes.

    OriginalReplacementRemoval Patch
    JumpData::longClassNameToShortName()ProtoUtils.protoShortName()0.0.66
    TokenUtils.createPragmaJWTuse PragmaJwtSigner methods0.0.66

Integrations #

  • Replace old PragmaClient methods.
    • Description: Several methods have been replaced as part of a WebSocket lifecycle code cleanup.
    • Integration steps: Refer to the following table. If you’ a’re using any method listed in the “Original” column, replace it with the corresponding method listed in the “Replacement” column.
      OriginalReplacement
      gameConnection.pragmaIdplayerId
      socialConnection.pragmaIdsocialId
      fun isConnectedToGame(): BooleangameConnection.isConnected()
      fun isConnectedToSocial(): BooleansocialConnection.isConnected()
      suspend fun logoutFromGame(notifyBackend: Boolean = true)gameConnection.stop()
      suspend fun logoutFromBoth(notifyBackend: Boolean = true)stopBoth()
  • Update implementations of EmailSenderPlugin to match the new signature.
    • Description: The return type of the EmailSenderPlugin has been changed. This is part of an effort to simplify and clean up our plugin interfaces.
    • Integration steps: Update any implementations of EmailSenderPlugin to throw an exception instead of returning a PragmaError.
OriginalReplacement
suspend fun sendVerificationEmail(recipient: String, verificationEmailEndpoint: String, uniqueCode: String): PragmaResult<EmailMessageSent, PragmaError>
suspend fun sendVerificationEmail(recipient: String, verificationEmailEndpoint: String, uniqueCode: String): EmailMessageSent
  • Use new ViewSocialIdentityPartnerV2Request service call.
    • Description: ViewSocialIdentityPartnerV1Request has been removed in favor of ViewSocialIdentityPartnerV2Request.
    • Integration steps:
      • Replace all instances of ViewSocialIdentityPartnerV1Request with ViewSocialIdentityPartnerV2Request.
OriginalReplacement
ViewSocialIdentityPartnerV1RequestViewSocialIdentityPartnerV2Request

Bugs and Fixes #

  • Unreal SDK: Fixed a bug where the Connection state would not return to Connected after being Degraded.

Docs #

  • [Feature] “Core Concepts” added to User Guides.
    • Description: New “Core Concepts” callouts on User Guides contain links to relevant Services guides. This should redirect beginner users to the appropriate service overview page before beginning the hyperspecific tutorial.
  • [Bug] Missing Match End services content has been readded.
  • [New User Guide] Unreal SDK: Authenticate with Steam added.
  • [New User Guide] Limited Grants added.