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

# PartySetTextToSpeechProfileCompletedStateChange

> Information specific to the *SetTextToSpeechProfileCompleted* type of state change.

Information specific to the *SetTextToSpeechProfileCompleted* type of state change.

## Syntax

```cpp theme={null}
struct PartySetTextToSpeechProfileCompletedStateChange : PartyStateChange {  
    PartyStateChangeResult result;  
    PartyError errorDetail;  
    PartyLocalChatControl* localChatControl;  
    PartySynthesizeTextToSpeechType type;  
    PartyString profileIdentifier;  
    void* asyncIdentifier;  
}  
```

### Members

**`result`**   [PartyStateChangeResult](/services/playfab/multiplayer/networking/reference/enums/partystatechangeresult)

Indicates that the operation Succeeded or the reason that it failed.

On success, [PartyLocalChatControl::GetTextToSpeechProfile()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_gettexttospeechprofile) will return the full profile object corresponding to the profile identifier provided to the [PartyLocalChatControl::SetTextToSpeechProfile()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settexttospeechprofile) call associated with this state change. On failure, PartyLocalChatControl::GetTextToSpeechProfile() will return null.

**`errorDetail`**   PartyError

A diagnostic value providing additional troubleshooting information regarding any potential error condition.

The human-readable form of this error detail can be retrieved via [PartyManager::GetErrorMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_geterrormessage).

**`localChatControl`**   [PartyLocalChatControl](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/partylocalchatcontrol)\*

The chat control used in the call associated with this state change.

**`type`**   [PartySynthesizeTextToSpeechType](/services/playfab/multiplayer/networking/reference/enums/partysynthesizetexttospeechtype)

The type of text-to-speech operation provided to the call associated with this state change.

**`profileIdentifier`**   [PartyString](/services/playfab/multiplayer/networking/reference/typedefs)

The profile identifier provided to the call associated with this state change.

**`asyncIdentifier`**   void\*

The async identifier provided to the call associated with this state change.

## Remarks

At most, one PartySetTextToSpeechProfileCompletedStateChange object will be returned in any state change batch from [PartyManager::StartProcessingStateChanges()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_startprocessingstatechanges).

## Requirements

**Header:** Party.h

## See also

[Party members](/services/playfab/multiplayer/networking/reference/party_members)\
[PartyLocalChatControl::SetTextToSpeechProfile](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settexttospeechprofile)


## Related topics

- [PartyLocalChatControl::SetTextToSpeechProfile](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_settexttospeechprofile.md)
- [PartyLocalChatControl::GetTextToSpeechProfile](/services/playfab/multiplayer/networking/reference/classes/PartyLocalChatControl/methods/partylocalchatcontrol_gettexttospeechprofile.md)
- [PlayFab Party text-to-speech and text input UX Guidelines](/services/playfab/community/voice-communications/party-text-to-speech-ux-guidelines.md)
- [PartyRegionUpdateMode](/services/playfab/multiplayer/networking/reference/enums/partyregionupdatemode.md)
- [Party C/C++ API overview](/services/playfab/multiplayer/networking/reference/party_members.md)
