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

> game_chat_communication_relationship_adjuster_changed_state_change

# game\_chat\_communication\_relationship\_adjuster\_changed\_state\_change

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

<a id="syntaxSection" />

## Syntax

```cpp theme={null}
typedef struct game_chat_communication_relationship_adjuster_changed_state_change {  
    chat_user* local_user;  
    chat_user* target_user;  
} game_chat_communication_relationship_adjuster_changed_state_change  
```

<a id="membersSection" />

### Members

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

A pointer to the `chat_user` object that represents the local user on which the relationship is based.

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.

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

A pointer to the `chat_user` object that represents the target user in the relationship. This user could be either local or remote.

<a id="remarksSection" />

## Remarks

This structure provides additional information for a [game\_chat\_state\_change\_type::text\_chat\_received](/reference/chat/gamechat2/enums/game_chat_state_change_type) state change in Game Chat 2. This state change occurs when a local user's communication relationship adjuster with respect to another user has changed. This state change can occur under the following conditions:

* A communication relationship between a particular pair of users has been set for the first time; the adjuster is expected to move into the `initializing` state.
* The adjuster has finished initializing.
* The adjuster has changed due to action by the user; for example, a privacy relationship has changed.

To determine the effective communication relationship and the adjuster that is applied, call the [chat\_user\_local::get\_effective\_communication\_relationship](/reference/chat/gamechat2/classes/chat_user/chat_user_local/methods/chat_user_local_get_effective_communication_relationship) method, as illustrated in the following code example.

```cpp theme={null}
game_chat_communication_relationship_flags effectiveRelationship;
game_chat_communication_relationship_adjuster adjuster; 
local_user->get_effective_communication_relationship(target_user, &effectiveRelationship, &adjuster);
```

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" />

## 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)\
[chat\_user\_local::set\_communication\_relationship](/reference/chat/gamechat2/classes/chat_user/chat_user_local/methods/chat_user_local_set_communication_relationship)\
[game\_chat\_communication\_relationship\_adjuster](/reference/chat/gamechat2/enums/game_chat_communication_relationship_adjuster)\
[GameChat2 members](/reference/chat/gamechat2/gamechat2_members)


## Related topics

- [game_chat_state_change](/reference/chat/gamechat2/structs/game_chat_state_change.md)
- [GameChat2 members](/reference/chat/gamechat2/gamechat2_members.md)
- [game_chat_communication_relationship_adjuster](/reference/chat/gamechat2/enums/game_chat_communication_relationship_adjuster.md)
- [game_chat_text_conversion_preference_changed_state_change](/reference/chat/gamechat2/structs/game_chat_text_conversion_preference_changed_state_change.md)
- [game_chat_state_change_type](/reference/chat/gamechat2/enums/game_chat_state_change_type.md)
