> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFLobbyDataUpdate

> Request structure used to update the shared portion of a PlayFab Multiplayer lobby, including properties, search data, and owner or membership settings.

A request to make an update to the shared portion of the lobby.

## Syntax

```cpp theme={null}
struct PFLobbyDataUpdate {  
    const PFEntityKey* newOwner;  
    const uint32_t* maxMemberCount;  
    const PFLobbyAccessPolicy* accessPolicy;  
    const PFLobbyMembershipLock* membershipLock;  
    uint32_t searchPropertyCount;  
    const char* const* searchPropertyKeys;  
    const char* const* searchPropertyValues;  
    uint32_t lobbyPropertyCount;  
    const char* const* lobbyPropertyKeys;  
    const char* const* lobbyPropertyValues;  
    const bool* restrictInvitesToLobbyOwner;  
}  
```

### Members

**`newOwner`**   const [PFEntityKey](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/pfentitykey_clientsdk)\*\
*may be nullptr*

An optional, new owner of the lobby.

This value can only be updated under one of the following conditions:

* The member updating this field is the lobby's current owner
* The owner migration policy is `PFLobbyOwnerMigrationPolicy::Manual` and there is currently no owner
* The owner migration policy is `PFLobbyOwnerMigrationPolicy::None` <br /><br /> If this lobby is client-owned (the current owner is a title\_player\_account entity), the new owner must also be a title\_player\_account entity. If this lobby is server-owned (the current owner is a game\_server entity), the new owner must also be a game\_server entity.

**`maxMemberCount`**   const uint32\_t\*\
*may be nullptr*

An optional, updated capacity for the number of members in this lobby.

This new value must be greater than the number of members currently in the lobby and less than `PFLobbyMaxMemberCountUpperLimit`. <br /><br /> This value can only be updated by the current lobby owner.

**`accessPolicy`**   const [PFLobbyAccessPolicy](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/enums/pflobbyaccesspolicy)\*\
*may be nullptr*

An optional, updated access policy for this lobby.

This value can only be updated by the current lobby owner.

**`membershipLock`**   const [PFLobbyMembershipLock](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/enums/pflobbymembershiplock)\*\
*may be nullptr*

An optional update to the membership lock on this lobby.

This value can only be updated by the current lobby owner.

**`searchPropertyCount`**   uint32\_t

The number of search properties to update.

Only the current lobby owner can update the search properties. <br /><br /> There may only be `PFLobbyMaxSearchPropertyCount` concurrent search properties at any given time. Therefore, at most, twice that many unique properties can be specified in this update if half of those properties are being deleted.   <br /><br /> If the property limits are violated, the entire update operation fails.

**`searchPropertyKeys`**   const char\* const\*\
*array of size `searchPropertyCount`*

The keys of the search properties to update.

Only the current lobby owner can update the lobby properties. <br /><br /> Search properties are visible to non-members of the lobby as metadata, which can be used to filter and sort lobby search results.   <br /><br /> Only the properties specified in this list of keys will be updated. If the key doesn't exist yet, the property is created. If the new property value is nullptr, the property is deleted. Any existing properties omitted from this list will be left unmodified.   <br /><br /> Search properties must be of the form string\_keyN or number\_keyN where "N" is a number between 1 and `PFLobbyMaxSearchPropertyCount`. e.g., string\_key1, number\_key14, etc. <br />
**`searchPropertyValues`**   const char\* const\*\
*array of size `searchPropertyCount`*

The values of the search properties to update.

Only the current lobby owner can update the search properties. <br /><br /> Search properties are visible to non-members of the lobby as metadata, which can be used to filter and sort lobby search results.   <br /><br /> To delete a value, provide nullptr as its new value.

**`lobbyPropertyCount`**   uint32\_t

The number of lobby properties to update.

Only the current lobby owner can update the lobby properties. <br /><br /> There may only be `PFLobbyMaxLobbyPropertyCount` concurrent lobby properties at any given time. Therefore, at most, twice that many unique properties can be specified in this update if half of those properties are being deleted.   <br /><br /> If the property limits are violated, the entire update operation fails.

**`lobbyPropertyKeys`**   const char\* const\*\
*array of size `lobbyPropertyCount`*

The keys of the lobby properties to update.

Only the current lobby owner can update the lobby properties. <br /><br /> Lobby properties are only visible to members of the lobby.   <br /><br /> Only the properties specified in this list of keys will be updated. If the key doesn't exist yet, the property is created. If the new property value is nullptr, the property is deleted. Any existing properties omitted from this list will be left unmodified.

**`lobbyPropertyValues`**   const char\* const\*\
*array of size `lobbyPropertyCount`*

The values of the lobby properties to update.

Only the current lobby owner can update the lobby properties. <br /><br /> Lobby properties are only visible to members of the lobby.   <br /><br /> To delete a value, provide nullptr as its new value.

**`restrictInvitesToLobbyOwner`**   const bool\*\
*may be nullptr*

An optional update to the policy for whether only the lobby owner can send invites to join the lobby.

When true, only the lobby owner can send invites. When false, any member can send invites. Can only be true for client-owned lobbies.

## Remarks

Most data in the shared portion of the lobby can only be updated by the owner. Check the documentation for each field for confirmation.

## Requirements

**Header:** PFLobby.h

## See also

[PFLobby members](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/pflobby_members)


## Related topics

- [PFLobbyServerPostUpdate](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbyserverpostupdate.md)
- [PFLobbyPostUpdate](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbypostupdate.md)
- [PFMultiplayer C/C++ API overview - PFLobby.h](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/pflobby_members.md)
- [PlayFab Multiplayer C++ SDK Release Notes](/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md)
- [LobbyDataUpdate](/services/playfab/multiplayer/lobby/unity-multiplayer-api-reference/PlayFab.Multiplayer/LobbyDataUpdate/LobbyDataUpdate.md)
