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

# PFMatchmakingStateChange

> Generic base structure representing an event or state change delivered by the PlayFab Multiplayer Matchmaking library, dispatched to specific derived types.

A generic, base structure representation of an event or change in state in the Matchmaking library.

## Syntax

```cpp theme={null}
struct PFMatchmakingStateChange {  
    PFMatchmakingStateChangeType stateChangeType;  
}  
```

### Members

**`stateChangeType`**   [PFMatchmakingStateChangeType](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/enums/pfmatchmakingstatechangetype.md)

The specific type of the state change represented.

Use this field to determine which corresponding derived structure is represented by this PFMatchmakingStateChange structure header.

## Remarks

PFMatchmakingStateChange structures are reported by [PFMultiplayerStartProcessingMatchmakingStateChanges()](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerstartprocessingmatchmakingstatechanges.md) for the title to handle and then promptly pass back via the [PFMultiplayerFinishProcessingMatchmakingStateChanges()](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerfinishprocessingmatchmakingstatechanges.md) method. \
\
&#x20;The `stateChangeType` field indicates which kind of state change occurred, and this base structure should then be cast to a more specific derived structure to retrieve additional event-specific information.

## Requirements

**Header:** PFMatchmaking.h

## See also

[PFMatchmaking members](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/pfmatchmaking_members.md)\
[PFMultiplayerStartProcessingMatchmakingStateChanges](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerstartprocessingmatchmakingstatechanges.md)\
[PFMultiplayerFinishProcessingMatchmakingStateChanges](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerfinishprocessingmatchmakingstatechanges.md)


## Related topics

- [PFMatchmakingStateChangeType](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/enums/pfmatchmakingstatechangetype.md)
- [PFMultiplayerStartProcessingMatchmakingStateChanges](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerstartprocessingmatchmakingstatechanges.md)
- [PFMultiplayerFinishProcessingMatchmakingStateChanges](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/functions/pfmultiplayerfinishprocessingmatchmakingstatechanges.md)
- [Asynchronous Lobby and Matchmaking C++ SDK operations and notifications](https://docs.xbox.com/services/playfab/multiplayer/lobby/lobby-and-matchmaking-client-sdk-async.md)
- [PFMultiplayer C/C++ API overview - PFMatchmaking.h](https://docs.xbox.com/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/pfmatchmaking_members.md)
