> ## 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.

# game_chat_state_change

> game_chat_state_change

# game\_chat\_state\_change

Represents a generic, base structure for an event, change in state, or outgoing data.

<a id="syntaxSection" />

## Syntax

```cpp theme={null}
typedef struct game_chat_state_change {  
    game_chat_state_change_type state_change_type;  
} game_chat_state_change  
```

<a id="membersSection" />

### Members

*state\_change\_type*\
Type: [game\_chat\_state\_change\_type](/reference/chat/gamechat2/enums/game_chat_state_change_type)

The specific type of the state change represented. Use this field to determine which corresponding derived structure is represented by this *game\_chat\_state\_change* structure header.

<a id="remarksSection" />

## Remarks

This base structure represents a state change, such as the receipt of a text chat. `game_chat_state_change` structures are reported by the [chat\_manager::start\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_state_changes) method. The app handles the represented state changes, and then promptly passes them back by calling the [chat\_manager::finish\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes) method.

The *state\_change\_type* field indicates what kind of state change occurred. Your app should cast this base structure to the indicated derived structure to retrieve additional, event-specific information. The following structures are derived from this base structure:

* [game\_chat\_communication\_relationship\_adjuster\_changed\_state\_change](/reference/chat/gamechat2/structs/game_chat_communication_relationship_adjuster_changed_state_change)
* [game\_chat\_text\_chat\_received\_state\_change](/reference/chat/gamechat2/structs/game_chat_text_chat_received_state_change)
* [game\_chat\_text\_conversion\_preference\_changed\_state\_change](/reference/chat/gamechat2/structs/game_chat_text_conversion_preference_changed_state_change)
* [game\_chat\_transcribed\_chat\_received\_state\_change](/reference/chat/gamechat2/structs/game_chat_transcribed_chat_received_state_change)

<a id="array" />

### game\_chat\_state\_change\_array

The `game_chat_state_change_array` type is a constant array of `game_chat_state_change` pointers. This type is provided for convenience, and is used with the `chat_manager::start_processing_state_changes` and `chat_manager::finish_processing_state_changes` methods.

```cpp theme={null}
typedef const game_chat_state_change * const * game_chat_state_change_array;
```

<a id="requirementsSection" />

## Requirements

**Header:** GameChat2.h

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

<a id="seealsoSection" />

## Conceptual documentation

* [Intro to Game Chat 2](/services/xbox-services/multiplayer/chat/game-chat2/game-chat-2-intro)
* [Using the Game Chat 2 C++ API](/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2)

## See also

[Intro to Game Chat 2](/services/xbox-services/multiplayer/chat/game-chat2/game-chat-2-intro)\
[chat\_manager](/reference/chat/gamechat2/classes/chat_manager/chat_manager)\
[GameChat2 members](/reference/chat/gamechat2/gamechat2_members)


## Related topics

- [game_chat_state_change_type](/reference/chat/gamechat2/enums/game_chat_state_change_type.md)
- [chat_manager::start_processing_state_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_state_changes.md)
- [game_chat_text_chat_received_state_change](/reference/chat/gamechat2/structs/game_chat_text_chat_received_state_change.md)
- [game_chat_transcribed_chat_received_state_change](/reference/chat/gamechat2/structs/game_chat_transcribed_chat_received_state_change.md)
- [chat_manager::finish_processing_state_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes.md)
