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

> game_chat_transcribed_chat_received_state_change

# game\_chat\_transcribed\_chat\_received\_state\_change

Represents information specific to the [game\_chat\_state\_change\_type::transcribed\_chat\_received](/reference/chat/gamechat2/enums/game_chat_state_change_type) state change.

<a id="syntaxSection" />

## Syntax

```cpp theme={null}
typedef struct game_chat_transcribed_chat_received_state_change {  
    chat_user* speaker;  
    uint32_t receiver_count;  
    chat_user_array receivers;  
    PCWSTR message;  
} game_chat_transcribed_chat_received_state_change  
```

<a id="membersSection" />

### Members

*speaker*  \
Type: [chat\_user](/reference/chat/gamechat2/classes/chat_user/chat_user)\*

A pointer to the `chat_user` object that originated the text message.

Pointers for `chat_user` objects remain valid until the user has been removed from the local [chat\_manager](/reference/chat/gamechat2/classes/chat_manager/chat_manager) instance via the [chat\_manager::remove\_user](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_remove_user) method.

*receiver\_count*  \
Type: uint32\_t

The number of array elements in *receivers*.

*receivers*  \_Field\_size\_(receiver\_count)\
Type: [chat\_user\_array](/reference/chat/gamechat2/classes/chat_user/chat_user#array)

An array of `chat_user` pointers to one or more local destination players to whom the text message is addressed.

The memory for the `chat_user_array` object remains valid until this object has been returned by calling  [chat\_manager::finish\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes). Individual `chat_user` object pointers remain valid until the user has been removed from the local `chat_manager` instance via the `chat_manager::remove_user` method.

*message*  \
Type: PCWSTR

A pointer to the text string that was generated by transcribing the audio of the user associated with the *speaker* object. The string may be up to `c_maxChatTextMessageLength` characters long, not including the null terminator.

<Note>`c_maxChatTextMessageLength` is a `constexpr uint16_t` with a value of 1023.</Note>

The string remains valid until this object has been returned by calling `chat_manager::finish_processing_state_changes`. The app should make a copy of the text to display in a manner and duration described in the Game Chat communication policy guide document.

<a id="remarksSection" />

## Remarks

This structure provides additional information for a [game\_chat\_state\_change\_type::transcribed\_chat\_received](/reference/chat/gamechat2/enums/game_chat_state_change_type) state change in Game Chat 2. This state change occurs when a remote player's voice communication has been transcribed and should be displayed to one or more local users.

If this state change occurs, this structure is returned as a [game\_chat\_state\_change](/reference/chat/gamechat2/structs/game_chat_state_change) element in the [game\_chat\_state\_change\_array](/reference/chat/gamechat2/structs/game_chat_state_change#array) array retrieved when [chat\_manager::start\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_start_processing_state_changes) is called by your app. After confirming the state change type by checking the value of the `state_change_type` member for that `game_chat_state_change` element, you can then cast that element to this structure. You can then use this structure to obtain more information about and process the state change before the array is passed back to Game Chat 2 from your app, by calling [chat\_manager::finish\_processing\_state\_changes](/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_finish_processing_state_changes).

For more information about processing state changes, see [Using the Game Chat 2 C++ API](/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2).

<a id="requirementsSection" />

## Requirements

**Header:** GameChat2.h

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

<a id="seealsoSection" />

## Conceptual documentation

* [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)
- [game_chat_state_change](/reference/chat/gamechat2/structs/game_chat_state_change.md)
- [Using the Game Chat 2 C++ API](/services/xbox-services/multiplayer/chat/game-chat2/using-game-chat-2.md)
- [GameChat2 members](/reference/chat/gamechat2/gamechat2_members.md)
- [game_chat_speech_to_text_conversion_mode](/reference/chat/gamechat2/enums/game_chat_speech_to_text_conversion_mode.md)
