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
onMatchCapacityService
handles reporting into Pragma Engine until a match is available. Once a match is found, it returns the associated match data.
- Description: The new method
- Unreal SDK: You can now initialize Pragma without access to a World.
- Description:
PragmaSession
no longer requires access to a World.
- Description:
- 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 ofServerItemUpdateV2
. This list is aoneof
including either aServerInstancedItemUpdate
or aStackableItemUpdate
. This will return anInventorySegmentV1Data
, which contains the updated item and a delta of changes. The Service call isUpdateItemsServiceV1
. - Postman paths:
Game → RPC - Operator → Inventory → UpdateItemsOperatorV1
Game → RPC - Partner → Inventory → UpdateItemsPartnerV1
- Description: Items can be updated given a
Deprecations #
UnpartitionedDaoNodeService
andPartitionedDaoNodeService
will now useexecuteSingle
(single interaction) andtransact
(multiple statements).Original Replacement Removal Patch execute
executeSingle
0.0.66 executeTransaction
transact
0.0.66 Session and WebSocket cleanup changes.
Original Replacement Removal Patch JumpData::longClassNameToShortName()
ProtoUtils.protoShortName()
0.0.66 TokenUtils.createPragmaJWT
use PragmaJwtSigner methods
0.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.
Original Replacement gameConnection.pragmaId
playerId
socialConnection.pragmaId
socialId
fun isConnectedToGame(): Boolean
gameConnection.isConnected()
fun isConnectedToSocial(): Boolean
socialConnection.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 aPragmaError
.
- Description: The return type of the
Original | Replacement |
---|---|
|
|
- Use new
ViewSocialIdentityPartnerV2Request
service call.- Description:
ViewSocialIdentityPartnerV1Request
has been removed in favor ofViewSocialIdentityPartnerV2Request
. - Integration steps:
- Replace all instances of
ViewSocialIdentityPartnerV1Request
withViewSocialIdentityPartnerV2Request
.
- Replace all instances of
- Description:
Original | Replacement |
---|---|
ViewSocialIdentityPartnerV1Request | ViewSocialIdentityPartnerV2Request |
Bugs and Fixes #
- Unreal SDK: Fixed a bug where the Connection state would not return to
Connected
after beingDegraded
.
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.