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

# XblMultiplayerManagerJoinGameFromLobby

> XblMultiplayerManagerJoinGameFromLobby

Creates a new game session for the lobby session, or joins an existing game session if one exists for the lobby session.

## Syntax

```cpp theme={null}
HRESULT XblMultiplayerManagerJoinGameFromLobby(  
         const char* sessionTemplateName  
)  
```

### Parameters

*sessionTemplateName*   \_In\_z\_\
Type: char\*

The name of the session template for the game session to be based on.

### Return value

Type: HRESULT

HRESULT return code for this API operation.

## Remarks

This function creates a new game session and adds the current members of the lobby session to the game session, if a game session doesn't already exist. If a new user joins the lobby session after a game session is already created, this function finds the existing game session in Multiplayer Session Directory (MPSD) by using a transfer handle in the lobby session, and then adds the new user to the game session using that transfer handle. For more information, see [Multiplayer concepts overview](https://docs.xbox.com/services/xbox-services/multiplayer/concepts/live-multiplayer-concepts.md). If a lobby session doesn't exist, likely because [XblMultiplayerManagerInitialize](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerinitialize.md) wasn't called before calling this function, an error occurs. An error also occurs if matchmaking is in progress. This function does not migrate existing lobby session properties to the game session. \
The result of this function is delivered as a multiplayer event with an event type set to `XblMultiplayerEventType::JoinGameCompleted`. You can call [XblMultiplayerManagerDoWork](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerdowork.md) to retrieve multiplayer events.  \
When attempting to join a lobby session, the service returns `HTTP_E_STATUS_BAD_REQUEST` if the server is full.  \
After joining, you can set the properties for the game session by calling [XblMultiplayerManagerGameSessionSetProperties](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionsetproperties.md) or [XblMultiplayerManagerGameSessionSetSynchronizedProperties](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionsetsynchronizedproperties.md), or you can set the host for the game session by calling [XblMultiplayerManagerGameSessionSetSynchronizedHost](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagergamesessionsetsynchronizedhost.md).

## Requirements

**Header:** multiplayer\_manager\_c.h

**Library:** Microsoft.Xbox.Services.142.C.lib or Microsoft.Xbox.Services.143.C.lib

## See also

[multiplayer\_manager\_c](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/multiplayer_manager_c_members.md)\
[XblMultiplayerManagerJoinability](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoinability.md)\
[XblMultiplayerManagerJoinGame](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingame.md)\
[XblMultiplayerManagerJoinLobby](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoinlobby.md)


## Related topics

- [XblMultiplayerManagerJoinLobby](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoinlobby.md)
- [XblMultiplayerManagerLobbySessionAddLocalUser](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionaddlocaluser.md)
- [XblMultiplayerManagerLeaveGame](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerleavegame.md)
- [Enable playing a multiplayer game with friends by using Multiplayer Manager](https://docs.xbox.com/services/xbox-services/multiplayer/mpm/how-to/live-play-multiplayer-with-friends.md)
- [XblMultiplayerManagerLobbySessionRemoveLocalUser](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionremovelocaluser.md)
