Pragma Engine 0.0.44
2021-11-09
Features:
- Many protos related to Inventory have been relocated to make the system more understandable for a designer. CONSULT INTEGRATION NOTES.
CreatePartnerTokenV1
has been updated to return a Partner Social token- Enabled server authoritative item update flow on match end. New
ExtInstancedItemServerUpdate
added toinventoryRpcExt.proto
. - Added new operator RPC
UpdateGameTitleV1
for editing a game title name or description. Part of the featureset for Portal Game Management. - Added new operator RPC
CreateGameTitleV1
for creating a new game title with a name and description. - Added new operator RPC
ViewGameTitlesV1
for listing all game titles and their game shards. - Added new operator RPC
ViewGameTitleV1
for retrieving a single game title and its game shard by id.
Integration Notes #
You will also need to sim-ship your client and server code when adopting this release. We try to avoid these sorts of breaking changes, so we would like to call specific attention to that.
Update
5-ext/ext-server/pom.xml
- remove the dependency with:groupId: pragma
artifactId: server
Within all Kotlin/proto code:
- Relocate
ExtCraftRequest
frominventoryExt.proto
toinventoryRpcExt.proto
- Add new message definition to
inventoryRpcExt.proto
in5-ext
:message ExtInstancedItemServerUpdate { }
- Relocate all protos from both
catalogExt.proto
andstoreContentExt.proto
toinventoryContentExt.proto
. - Delete
catalogExt.proto
- Delete
storeContentExt.proto
- Replace all references from
CatalogContent.GameCatalog
toInventoryContent.ItemCatalog
- Replace all references from both
pragma.catalog.CatalogContent
andpragma.store.StoreContent
topragma.inventory.InventoryContent
- Replace all references from
pragma.InventoryTestFactory.gameCatalog
topragma.InventoryTestFactory.itemCatalog
- Replace all import namespaces references from both
pragma.catalog
andpragma.store
topragma.inventory
- Update all references from
GameCatalog
toItemCatalog
when handlingLoginData
,GetLoginDataV1Response
, orGetCatalogOperatorV1Response
protos - Rebuild all protos and SDK types
- Relocate
Within your Unreal game:
- Replace all references from
Dto/PragmaCatalogContentDto.h
toDto/PragmaInventoryContentDto.h
- Replace all references from
FPragma_Catalog_GameCatalog
toFPragma_Inventory_ItemCatalog
- Replace all references from
FPragma_Catalog_StackableSpec
toFPragma_Inventory_StackableSpec
- Replace all references from
FPragma_Catalog_InstancedSpec
toFPragma_Inventory_InstancedSpec
- Replace all references from
FPragma_Store_Store
toFPragma_Inventory_Store
- Replace all references from
FPragma_Store_StoreEntry
toFPragma_Inventory_StoreEntry
- Replace all references from
FPragma_Store_PurchaseRequirements
toFPragma_Inventory_PurchaseRequirements
- Replace all references from
FPragma_Store_CraftingEntry
toFPragma_Inventory_CraftingEntry
- Replace all references from
FPragma_Store_CostEntry
toFPragma_Inventory_CostEntry
- Replace all references from
FPragma_Store_UpdateEntry
toFPragma_Inventory_UpdateEntry
- Replace all references from
FPragma_Catalog_ExtStackableSpec
toFPragma_Inventory_ExtStackableSpec
- Replace all references from
FPragma_Catalog_ExtInstancedSpec
toFPragma_Inventory_ExtInstancedSpec
- Replace all references from
FPragma_Store_ExtPurchaseRequirements
toFPragma_Inventory_ExtPurchaseRequirements
- Replace all references from
FPragma_Store_ExtUpdateEntry
toFPragma_Inventory_ExtUpdateEntry
- Replace all references from
FPragma_Store_ExtCraftingEntry
toFPragma_Inventory_ExtCraftingEntry
- Replace all references from
FPragma_GameData_GetLoginDataV1Response.Payload().LoginData.GameCatalog
toFPragma_GameData_GetLoginDataV1Response.Payload().LoginData.ItemCatalog
- Replace all references from
Within your Unity game:
- Delete any broken using statements and import new references after regenerating SDK types.
- Update references from
GameCatalog
toItemCatalog
.
Use
PlayerMatchEndV2.server_item_updates
instead of PlayerMatchEndV2.item_updates
Migrate existing
InstancedDataProviderPlugin
implementations to new nameInstancedItemPlugin
- Use the single new
newInstanced
method for all instanced item creation. Presence of therequestExt
indicates server or client pathway. - The
update
method now has arequestExt
for either a server or client pathway. - Change the parameter names of plugin implementations to match those found on the interface.
- Update plugin configuration with new name
InventoryService.instancedItemPlugin:
class: "YourPluginName"
- Remove old plugin configuration item
InventoryService.defaultInstancedDataProviderPlugin
- Use the single new
Deprecations #
- `PlayerMatchEndV2.item_updates` deprecated.
- `getDisplayNameForPragmaPlayerIdForPartnerV1` deprecated. Use match data for player display names.
- Renamed operator RPC `ViewGamesV0` to `ViewGameTitlesV1`. No change in behavior.