lobbies - YoYoGames/GMEXT-EpicOnlineServices GitHub Wiki

Lobbies

Epic Online Services Interface: Lobby Interface

This module can be used to add lobbies to your game so players can create, join, leave, and manage lobbies.

Lobbies provide a persistent connection between players (also called "users") for the purpose of sharing game (or other software application) and player state with real-time updates. Typically, players can create or join lobbies to form teams, select pre-game options, and wait for additional players to join in before playing together. Using the Lobbies module, your players can create, join, leave, and manage lobbies.

Note

See the Lobbies Introduction for a more detailed guide.

Handles

Lobbies in Epic Online Services make use of lobby handles. Before you can use certain functions you need to obtain a valid handle for that which you're trying to do. The handles themselves are kept by the extension. However, whenever you request a handle, you should still manually release it afterwards, once you are done using it.

The following is an overview of the different lobby handles and the functions you can use to obtain and release them and the functions that require them.

LobbyDetails

LobbyModification

LobbySearch

Functions

This module offers a collection of functions designed to address specific tasks and provide utilities for various purposes. Explore the available functions to make the most of the functionalities provided by this module.

Structs

This module offers a collection of structs, which serve as custom data models for organizing and structuring data. Explore the provided structs to better understand the relationships between data elements and simplify your data manipulation tasks.

Constants

This module includes a set of predefined constants that can be utilized for various purposes. Browse through the available constants to find values relevant to your needs and enhance the efficiency of your code.



Back To Top

eos_lobby_add_notify_join_lobby_accepted

Epic Online Services Function: EOS_Lobby_AddNotifyJoinLobbyAccepted

This function registers to receive notifications about lobby "JOIN" performed by local user (when no invite) via the overlay.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_join_lobby_accepted when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_join_lobby_accepted()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_join_lobby_accepted"
local_user_id String The Product User ID of the local user who is joining
ui_event_id Int64 The UI Event associated with this Join Game event. This should be used with eos_lobby_copy_lobby_details_handle_by_ui_event_id to get a handle to be used when calling eos_lobby_join_lobby.



Back To Top

eos_lobby_add_notify_leave_lobby_requested

Epic Online Services Function: EOS_Lobby_AddNotifyLeaveLobbyRequested

This function registers to receive notifications about leave lobby requests performed by the local user via the overlay. When a user requests to leave the lobby in the social overlay, the SDK does not automatically leave the lobby, it is up to the game to perform any necessary cleanup and call the eos_lobby_leave_lobby method using the lobby_id sent in the Social Async Event.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_leave_lobby_requested()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_leave_lobby_requested"
local_user_id String The Product User ID of the local user who received the leave lobby notification.
lobby_id String The lobby ID associated with the leave lobby request.



Back To Top

eos_lobby_add_notify_lobby_invite_accepted

Epic Online Services Function: EOS_Lobby_AddNotifyLobbyInviteAccepted

This function registers to receive notifications about lobby invites accepted by local user via the overlay.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_lobby_invite_accepted()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_lobby_invite_accepted"
local_user_id String The Product User ID of the local user who received the invitation
lobby_id String Lobby ID that the user has been invited to
invite_id String The invite ID
target_user_id String The Product User ID of the user who sent the invitation



Back To Top

eos_lobby_add_notify_lobby_invite_received

Epic Online Services Function: EOS_Lobby_AddNotifyLobbyInviteReceived

This function registers to receive notifications about lobby invites sent to local users.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_lobby_invite_received()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_lobby_invite_received"
local_user_id String The Product User ID of the local user who received the invitation
invite_id String The ID of the invitation
target_user_id String The Product User ID of the user who sent the invitation



Back To Top

eos_lobby_add_notify_lobby_invite_rejected

Epic Online Services Function: EOS_Lobby_AddNotifyLobbyInviteRejected

This function registers to receive notifications about lobby invites rejected by local user.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_lobby_invite_rejected()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_lobby_invite_rejected"
local_user_id String The Product User ID of the local user who received the invitation
lobby_id String Lobby ID that the user has been invited to
invite_id String The invite ID
target_user_id String The Product User ID of the user who sent the invitation



Back To Top

eos_lobby_add_notify_lobby_member_status_received

Epic Online Services Function: EOS_Lobby_AddNotifyLobbyMemberStatusReceived

This function registers to receive notifications about the changing status of lobby members.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_lobby_member_status_received()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_lobby_member_status_received"
target_user_id String The Product User ID of the lobby member
lobby_id String The ID of the lobby
current_status EOS_LOBBY_MEMBER_STATUS The latest status of the user



Back To Top

eos_lobby_add_notify_lobby_member_update_received

Epic Online Services Function: EOS_Lobby_AddNotifyLobbyMemberUpdateReceived

This function registers to receive notifications when a lobby member updates the attributes associated with themselves inside the lobby.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_lobby_member_update_received()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_lobby_member_update_received"
target_user_id String The Product User ID of the lobby member
lobby_id String The ID of the lobby



Back To Top

eos_lobby_add_notify_lobby_update_received

Epic Online Services Function: EOS_Lobby_AddNotifyLobbyUpdateReceived

This function registers to receive notifications when a lobby owner updates the attributes associated with the lobby.

The function returns a notification ID.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_lobby_update_received()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_lobby_update_received"
lobby_id String The ID of the lobby



Back To Top

eos_lobby_add_notify_rtc_room_connection_changed

Epic Online Services Function: EOS_Lobby_AddNotifyRTCRoomConnectionChanged

This function registers to receive notifications of when the RTC Room for a particular lobby has a connection status change. The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting from the RTC room when a lobby is left or disconnected. This notification is entirely informational and requires no action in response by the application. If the connected status is offline (is_connected is false), the connection will automatically attempt to reconnect. The purpose of this notification is to allow applications to show the current connection status of the RTC room when the connection is not established. Unlike eos_rtc_add_notify_disconnected, eos_rtc_leave_room should not be called when the RTC room is disconnected. This function will only succeed when called on a lobby the local user is currently a member of.

A valid notification ID if the callback handler was successfully registered, or EOS_INVALID_NOTIFICATIONID if the input was invalid, the lobby did not exist, or the lobby did not have an RTC room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_rtc_room_connection_changed()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_rtc_room_connection_changed"
local_user_id String The Product User ID of the local user who is in the lobby and registered for notifications
lobby_id String The ID of the lobby which had a RTC Room connection state change
disconnect_reason EOS_RESULT If is_connected is false, this result will be the reason we were disconnected. EOS_RESULT.SUCCESS: The room was left locally. This may be because: the associated lobby was left or destroyed, the connection to the lobby was interrupted, or because the SDK is being shutdown. If the lobby connection returns (lobby did not permanently go away), EOS will reconnect. EOS_RESULT.NO_CONNECTION: There was a network issue connecting to the server. EOS will attempt to reconnect soon. EOS_RESULT.RTC_USER_KICKED: The user has been kicked by the server. We will not reconnect. EOS_RESULT.RTC_USER_BANNED: The user has been banned by the server. We will not reconnect. EOS_RESULT.SERVICE_FAILURE: A known error occurred during interaction with the server. We will attempt to reconnect soon. EOS_RESULT.UNEXPECTED_ERROR: Unexpected error. We will attempt to reconnect soon.
is_connected Boolean The new connection state of the room



Back To Top

eos_lobby_add_notify_send_lobby_native_invite_requested

Epic Online Services Function: EOS_Lobby_AddNotifySendLobbyNativeInviteRequested

This function registers to receive notifications about a lobby "INVITE" performed by a local user via the overlay. This is only needed when a configured integrated platform has EOS_IPMF_DisableSDKManagedSessions set. The EOS SDK will then use the state of EOS_IPMF_PreferEOSIdentity and EOS_IPMF_PreferIntegratedIdentity to determine when the Social Async Event is called.

Note

If the returned notification ID is valid, you must call eos_lobby_remove_notify_leave_lobby_requested when you no longer wish to have the Social Async Event called.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_add_notify_send_lobby_native_invite_requested()



Returns:

Int64


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_add_notify_send_lobby_native_invite_requested"
local_user_id String The Product User ID of the local user who is inviting.
lobby_id String The lobby ID that the user is being invited to
target_native_account_type String The Native Platform Account Type, as a string. If only a single integrated platform is configured then this will always reference that platform.
target_user_native_account_id String The Native Platform Account ID of the target user being invited.
ui_event_id Int64 Identifies this event which will need to be acknowledged with eos_ui_acknowledge_event_id.



Back To Top

eos_lobby_copy_lobby_details_handle

Epic Online Services Function: EOS_Lobby_CopyLobbyDetailsHandle

This function creates a handle to an existing lobby. If the call returns an EOS_RESULT.SUCCESS result, the function eos_lobby_details_release to release the memory associated with the handle.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if the lobby handle was created successfully
  • EOS_RESULT.INVALID_PARAMETERS if any of the options are incorrect
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect
  • EOS_RESULT.NOT_FOUND if the lobby doesn't exist

Syntax:

eos_lobby_copy_lobby_details_handle(lobby_id, local_user_id)
Argument Type Description
lobby_id String The ID of the lobby
local_user_id String The Product User ID of the local user making the request



Returns:

EOS_RESULT




Back To Top

eos_lobby_copy_lobby_details_handle_by_invite_id

Epic Online Services Function: EOS_Lobby_CopyLobbyDetailsHandleByInviteId

This function is used to immediately retrieve a handle to the lobby information from after notification of an invite. If the call returns an EOS_RESULT.SUCCESS result, the lobby details handle must be freed with eos_lobby_details_release to release the memory associated with it after you're finished using it.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if the information is available
  • EOS_RESULT.INVALID_PARAMETERS if you pass an invalid invite ID
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect
  • EOS_RESULT.NOT_FOUND If the invite ID cannot be found

Syntax:

eos_lobby_copy_lobby_details_handle_by_invite_id(invite_id)
Argument Type Description
invite_id String The ID of an invitation to join the lobby



Returns:

EOS_RESULT




Back To Top

eos_lobby_copy_lobby_details_handle_by_ui_event_id

Epic Online Services Function: EOS_Lobby_CopyLobbyDetailsHandleByUiEventId

This function is used to immediately retrieve a handle to the lobby information from after notification of an join game. If the call returns an EOS_RESULT.SUCCESS result, the lobby details handle must be freed with eos_lobby_details_release to release the memory associated with it once you're done using it.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if the information is available and passed out in OutLobbyDetailsHandle
  • EOS_RESULT.INVALID_PARAMETERS if you pass an invalid UI event ID
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect
  • EOS_RESULT.NOT_FOUND If the invite ID cannot be found

Syntax:

eos_lobby_copy_lobby_details_handle_by_ui_event_id(ui_event_id)
Argument Type Description
ui_event_id Real The UI Event associated with the lobby



Returns:

EOS_RESULT




Back To Top

eos_lobby_create_lobby

Epic Online Services Function: EOS_Lobby_CreateLobby

This function creates a lobby and adds the user to the lobby membership. There is no data associated with the lobby at the start and can be added with eos_lobby_update_lobby_modification. If the lobby is successfully created with an RTC Room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the local user remains in the lobby. Applications can use the eos_lobby_get_rtc_room_name to get the name of the RTC Room associated with a lobby, which may be used with many of the eos_rtc_* suite of functions. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output; to block or unblock room participants; to set local audio device settings; and more.

Set the enable_rtc_room parameter to true to enable an RTC room. If set to true, you can also pass the parameters flags, use_manual_audio_input, use_manual_audio_output and local_audio_device_input_starts_muted to configure the RTC room.

The function returns the async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_create_lobby(local_user_id, allowed_platform_ids, lobby_id, bucket_id, max_lobby_members, permission_level, allow_invites, crossplay_opt_out, disable_host_migration, enable_join_by_id, presence_enabled, enable_rtc_room=false, flags=EOS_RTC_JOINROOMFLAGS_ENABLE_DATACHANNEL, use_manual_audio_input=false, use_manual_audio_output=false, local_audio_device_input_starts_muted=false)
Argument Type Description
local_user_id String The Product User ID of the local user creating the lobby; this user will automatically join the lobby as its owner
allowed_platform_ids Array An array of platform IDs indicating the player platforms allowed to register with the session. Platform IDs are found in the EOS header file. These values are of the form EOS_OPT_. For some platforms, the value will be in the EOS Platform specific header file. The lobby will be unrestricted if you pass an empty array.
lobby_id String Set to a globally unique value to override the backend assignment. If an empty string "" is specified, the backend service will assign one to the lobby. Do not mix and match override and non override settings. This value can be of size [EOS_LOBBY_MIN_LOBBYIDOVERRIDE_LENGTH, EOS_LOBBY_MAX_LOBBYIDOVERRIDE_LENGTH]
bucket_id String The bucket ID associated with the lobby
max_lobby_members Real The maximum number of users that can be in the lobby at a time
permission_level EOS_LOBBY_PERMISSION_LEVEL The initial permission level of the lobby
allow_invites Boolean Whether members of the lobby are allowed to invite others
crossplay_opt_out Boolean This value indicates whether or not the lobby owner allows crossplay interactions. If false, the lobby owner will be treated as allowing crossplay. If it is set to true, allowed_platform_ids must have a single entry that matches the platform of the lobby owner.
disable_host_migration Boolean Is host migration allowed (will the lobby stay open if the original host leaves?) NOTE: eos_lobby_promote_member is still allowed regardless of this setting.
enable_join_by_id Boolean Whether eos_lobby_join_lobby_by_id is allowed. This is provided to support cases where an integrated platform's invite system is used. In these cases the game should provide the lobby ID securely to the invited player. Such as by attaching the lobby ID to the integrated platform's session data or sending the lobby ID within the invite data.
presence_enabled Boolean If true, this lobby will be associated with the local user's presence information. A user's presence can only be associated with one lobby at a time. This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. * using the presence_enabled flags within the Sessions module * using the presence_enabled flags within the Lobby module * using eos_presence_modification_set_join_info.
enable_rtc_room Boolean Creates a real-time communication (RTC) room for all members of this lobby. All members of the lobby will automatically join the RTC room when they connect to the lobby and they will automatically leave the RTC room when they leave or are removed from the lobby. While the joining and leaving of the RTC room is automatic, applications will still need to use the EOS RTC interfaces to handle all other functionality for the room. The default is false.
flags EOS_RTC_JOINROOMFLAGS Flags for the local user in this room. Set to 0 to not specify any flags. See EOS_RTC_JOINROOMFLAGS. The default is EOS_RTC_JOINROOMFLAGS_ENABLE_DATACHANNEL.
use_manual_audio_input Boolean Set to true to enable Manual Audio Input. If manual audio input is enabled, audio recording is not started and the audio buffers must be passed manually using eos_rtc_audio_send_audio. The default is false.
use_manual_audio_output Boolean Set to true to enable Manual Audio Output. If manual audio output is enabled, audio rendering is not started and the audio buffers must be received with eos_rtc_audio_add_notify_audio_before_render and rendered manually. The default is false.
local_audio_device_input_starts_muted Boolean Set to true to start the audio input device's stream as muted when first connecting to the RTC room. It must be manually unmuted with a call to eos_rtc_audio_update_sending. If manual audio output is enabled, this value is ignored. The default is false.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_create_lobby"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The new lobby's ID



Back To Top

eos_lobby_create_lobby_search

Epic Online Services Function: EOS_Lobby_CreateLobbySearch

This function creates a lobby search handle. This handle may be modified to include various search parameters. Searching is possible in three methods, all mutually exclusive:

  • set the lobby ID to find a specific lobby
  • set the target user ID to find a specific user
  • set lobby parameters to find an array of lobbies that match the search criteria

The function returns EOS_RESULT.SUCCESS if the search creation completes successfully, or EOS_RESULT.INVALID_PARAMETERS if any of the options are incorrect.

Note

You should make sure to free the handle when no longer needed with eos_lobby_search_release.


Syntax:

eos_lobby_create_lobby_search(max_results)
Argument Type Description
max_results Real The maximum number of results allowed from the search



Returns:

EOS_RESULT




Back To Top

eos_lobby_destroy_lobby

Epic Online Services Function: EOS_Lobby_DestroyLobby

This function destroys a lobby given a lobby ID. It returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_destroy_lobby(lobby_id, local_user_id)
Argument Type Description
lobby_id String The ID of the lobby to destroy
local_user_id String The Product User ID of the local user requesting destruction of the lobby; this user must currently own the lobby



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_destroy_lobby"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The destroyed lobby's ID



Back To Top

eos_lobby_get_connect_string

Epic Online Services Function: EOS_Lobby_GetConnectString

This function gets the connection string for an EOS lobby. The connection string describes the presence of a player in terms of game state. Xbox platforms expect titles to embed this into their MultiplayerActivity at creation. When present, the SDK will use this value to populate session presence in the social overlay and facilitate platform invitations.


Syntax:

eos_lobby_get_connect_string(lobby_id, local_user_id)
Argument Type Description
lobby_id String The ID of the lobby to generate a connection string for
local_user_id String The Product User ID of the local user requesting the connection string generated from the lobby; this user must currently own the lobby



Returns:

String




Back To Top

eos_lobby_get_invite_count

Epic Online Services Function: EOS_Lobby_GetInviteCount

This function gets the number of known invites for a given user. It returns the number of known invites for a given user or 0 if there is an error.


Syntax:

eos_lobby_get_invite_count(local_user_id)
Argument Type Description
local_user_id String The Product User ID of the local user whose cached lobby invitations you want to count



Returns:

Real




Back To Top

eos_lobby_get_invite_id_by_index

Epic Online Services Function: EOS_Lobby_GetInviteIdByIndex

This function retrieves an invite ID from a list of active invites for a given user.


Syntax:

eos_lobby_get_invite_id_by_index(local_user_id, index)
Argument Type Description
local_user_id String The Product User ID of the local user who received the cached invitation
index Real The index of the invitation ID to retrieve



Returns:

String




Back To Top

eos_lobby_get_rtc_room_name

Epic Online Services Function: EOS_Lobby_GetRTCRoomName

This function gets the name of the RTC room associated with a specific lobby a local user belongs to. This value can be used whenever you need a room_name value in the rtc_* suite of functions. RTC room names must not be used with eos_rtc_join_room, eos_rtc_leave_room, or eos_rtc_add_notify_disconnected. Doing so will return EOS_RESULT.ACCESS_DENIED or EOS_INVALID_NOTIFICATIONID if used with those functions. This function will only succeed when called on a lobby the local user is currently a member of.


Syntax:

eos_lobby_get_rtc_room_name(local_user_id, lobby_id)
Argument Type Description
local_user_id String The Product User ID of the local user in the lobby
lobby_id String The ID of the lobby to get the RTC room name for



Returns:

String




Back To Top

eos_lobby_hard_mute_member

Epic Online Services Function: EOS_Lobby_HardMuteMember

This function hard mutes an existing member in the lobby, can't speak but can hear other members of the lobby.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_hard_mute_member(hard_mute, lobby_id, local_user_id, target_user_id)
Argument Type Description
hard_mute Boolean The target_user_id hard mute status (mute on or off)
lobby_id String The ID of the lobby
local_user_id String The Product User ID of the local user requesting the hard mute; this user must be the lobby owner
target_user_id String The Product User ID of the lobby member to hard mute



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_hard_mute_member"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby
target_user_id String The Product User ID of the lobby member whose mute status has been updated



Back To Top

eos_lobby_is_rtc_room_connected

Epic Online Services Function: EOS_Lobby_IsRTCRoomConnected

This function gets the current connection status of the RTC Room for a lobby. The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting from the RTC room when a lobby is left or disconnected. This function will only succeed when called on a lobby the local user is currently a member of.


Syntax:

eos_lobby_is_rtc_room_connected(lobby_id, local_user_id)
Argument Type Description
lobby_id String The ID of the lobby to get the RTC Room name for
local_user_id String The Product User ID of the local user in the lobby



Returns:

Boolean




Back To Top

eos_lobby_join_lobby

Epic Online Services Function: EOS_Lobby_JoinLobby

This function joins a lobby, creating a local instance under a given lobby ID. The backend will validate various conditions to make sure it is possible to join the lobby. If the lobby is successfully join has an RTC room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the local user remains in the lobby. Applications can use the eos_lobby_get_rtc_room_name to get the name of the RTC room associated with a lobby, which may be used with many of the eos_rtc_* suite of functions. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output; to block or unblock room participants; to set local audio device settings; and more.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_join_lobby(local_user_id, crossplay_opt_out, presence_enabled, enable_rtc_room, local_audio_device_input_starts_muted, use_manual_audio_input, use_manual_audio_output, flags)
Argument Type Description
local_user_id String The Product User ID of the local user joining the lobby
crossplay_opt_out Boolean This value indicates whether or not the local user allows crossplay interactions. If it is false, the local user will be treated as allowing crossplay.
presence_enabled Boolean If true, this lobby will be associated with the local user's presence information. A user can only associate one lobby at a time with their presence information. This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. * using the presence_enabled flags within the Sessions interface * using the presence_enabled flags within the Lobby interface * using eos_presence_modification_set_join_info
enable_rtc_room Boolean Creates a real-time communication (RTC) room for all members of this lobby. All members of the lobby will automatically join the RTC room when they connect to the lobby and they will automatically leave the RTC room when they leave or are removed from the lobby. While the joining and leaving of the RTC room is automatic, applications will still need to use the EOS RTC interfaces to handle all other functionality for the room.
local_audio_device_input_starts_muted Boolean Set to true to start the audio input device's stream as muted when first connecting to the RTC room. It must be manually unmuted with a call to eos_rtc_audio_update_sending. If manual audio output is enabled, this value is ignored.
use_manual_audio_input Boolean Set to true to enable Manual Audio Input. If manual audio input is enabled, audio recording is not started and the audio buffers must be passed manually using eos_rtc_audio_send_audio.
use_manual_audio_output Boolean Set to true to enable Manual Audio Output. If manual audio output is enabled, audio rendering is not started and the audio buffers must be received with eos_rtc_audio_add_notify_audio_before_render and rendered manually.
flags EOS_RTC_JOINROOMFLAGS Flags for the local user in this room. Set to 0 to not specify any flags. See EOS_RTC_JOINROOMFLAGS.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_join_lobby"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby



Back To Top

eos_lobby_join_lobby_by_id

Epic Online Services Function: EOS_Lobby_JoinLobbyById

This function is a special case of eos_lobby_join_lobby. It should only be used if the lobby has had Join-by-ID enabled. Additionally, Join-by-ID should only be enabled to support native invites on an integrated platform.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_join_lobby_by_id(local_user_id, crossplay_opt_out, presence_enabled, lobby_id, enable_rtc_room, local_audio_device_input_starts_muted, use_manual_audio_input, use_manual_audio_output, flags)
Argument Type Description
local_user_id String The Product User ID of the local user joining the lobby
crossplay_opt_out Boolean This value indicates whether or not the local user allows crossplay interactions. If it is false, the local user will be treated as allowing crossplay.
presence_enabled Boolean If true, this lobby will be associated with the user's presence information. A user can only associate one lobby at a time with their presence information. This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. * using the presence_enabled flags within the Sessions interface * using the presence_enabled flags within the Lobby interface * using eos_presence_modification_set_join_info
lobby_id String The ID of the lobby
enable_rtc_room Boolean Creates a real-time communication (RTC) room for all members of this lobby. All members of the lobby will automatically join the RTC room when they connect to the lobby and they will automatically leave the RTC room when they leave or are removed from the lobby. While the joining and leaving of the RTC room is automatic, applications will still need to use the EOS RTC interfaces to handle all other functionality for the room.
local_audio_device_input_starts_muted Boolean Set to true to start the audio input device's stream as muted when first connecting to the RTC room. It must be manually unmuted with a call to eos_rtc_audio_update_sending. If manual audio output is enabled, this value is ignored.
use_manual_audio_input Boolean Set to true to enable Manual Audio Input. If manual audio input is enabled, audio recording is not started and the audio buffers must be passed manually using eos_rtc_audio_send_audio.
use_manual_audio_output Boolean Set to true to enable Manual Audio Output. If manual audio output is enabled, audio rendering is not started and the audio buffers must be received with eos_rtc_audio_add_notify_audio_before_render and rendered manually.
flags EOS_RTC_JOINROOMFLAGS Flags for the local user in this room. Set to 0 to not specify any flags. See EOS_RTC_JOINROOMFLAGS.



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_join_lobby_by_id"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby



Back To Top

eos_lobby_kick_member

Epic Online Services Function: EOS_Lobby_KickMember

This function kicks an existing member from the lobby.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_kick_member(lobby_id, local_user_id, target_user_id)
Argument Type Description
lobby_id String The ID of the lobby
local_user_id String The Product User ID of the local user requesting the removal; this user must be the lobby owner
target_user_id String The Product User ID of the lobby member to remove



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_kick_member"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby



Back To Top

eos_lobby_leave_lobby

Epic Online Services Function: EOS_Lobby_LeaveLobby

This function leaves a lobby given a lobby ID. If the lobby you are leaving had an RTC Room enabled, leaving the lobby will also automatically leave the RTC room.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_leave_lobby(lobby_id, local_user_id)
Argument Type Description
lobby_id String The ID of the lobby
local_user_id String The Product User ID of the local user leaving the lobby



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_leave_lobby"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby



Back To Top

eos_lobby_parse_connect_string

Epic Online Services Function: EOS_Lobby_ParseConnectString

This function parses the ConnectString for an EOS lobby invitation to extract just the lobby ID. Used for joining a lobby from a connection string (as generated by eos_lobby_get_connect_string) found in a platform invitation or presence.


Syntax:

eos_lobby_parse_connect_string()



Returns:

String




Back To Top

eos_lobby_promote_member

Epic Online Services Function: EOS_Lobby_PromoteMember

This function promotes an existing member of the lobby to owner, allowing them to make lobby data modifications.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_promote_member(lobby_id, local_user_id, target_user_id)
Argument Type Description
lobby_id String The ID of the lobby
local_user_id String The Product User ID of the local user making the request
target_user_id String The Product User ID of the member to promote to owner of the lobby



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_promote_member"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby where the user was promoted



Back To Top

eos_lobby_query_invites

Epic Online Services Function: EOS_Lobby_QueryInvites

This function retrieves all existing invites for a single user.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_query_invites(local_user_id)
Argument Type Description
local_user_id String The Product User ID of the local user whose invitations you want to retrieve



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_query_invites"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
local_user_id String The Product User ID of the local user that made the request



Back To Top

eos_lobby_reject_invite

Epic Online Services Function: EOS_Lobby_RejectInvite

This function rejects an invite from another user.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_reject_invite(invite_id, local_user_id)
Argument Type Description
invite_id String The ID of the lobby associated with the invitation
local_user_id String The Product User ID of the local user who is rejecting the invitation



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_reject_invite"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
invite_id String The ID of the invitation being rejected



Back To Top

eos_lobby_remove_notify_join_lobby_accepted

Epic Online Services Function: EOS_Lobby_RemoveNotifyJoinLobbyAccepted

This function unregisters from receiving notifications when a user accepts a lobby invitation via the overlay.


Syntax:

eos_lobby_remove_notify_join_lobby_accepted(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_leave_lobby_requested

Epic Online Services Function: EOS_Lobby_RemoveNotifyLeaveLobbyRequested

This function unregisters from receiving notifications when a user performs a leave lobby action via the overlay.


Syntax:

eos_lobby_remove_notify_leave_lobby_requested(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_lobby_invite_accepted

Epic Online Services Function: EOS_Lobby_RemoveNotifyLobbyInviteAccepted

This function unregisters from receiving notifications when a user accepts a lobby invitation via the overlay.


Syntax:

eos_lobby_remove_notify_lobby_invite_accepted(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_lobby_invite_received

Epic Online Services Function: EOS_Lobby_RemoveNotifyLobbyInviteReceived

This function unregisters from receiving notifications when a user receives a lobby invitation.


Syntax:

eos_lobby_remove_notify_lobby_invite_received(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_lobby_invite_rejected

Epic Online Services Function: EOS_Lobby_RemoveNotifyLobbyInviteRejected

This function unregisters from receiving notifications when a user rejects a lobby invitation via the overlay.


Syntax:

eos_lobby_remove_notify_lobby_invite_rejected(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_lobby_member_status_received

Epic Online Services Function: EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived

This function unregisters from receiving notifications when lobby members status change.


Syntax:

eos_lobby_remove_notify_lobby_member_status_received(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_lobby_member_update_received

Epic Online Services Function: EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived

This function unregisters from receiving notifications when lobby members change their data.


Syntax:

eos_lobby_remove_notify_lobby_member_update_received(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_lobby_update_received

Epic Online Services Function: EOS_Lobby_RemoveNotifyLobbyUpdateReceived

This function unregisters from receiving notifications when a lobby changes its data.


Syntax:

eos_lobby_remove_notify_lobby_update_received(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_rtc_room_connection_changed

Epic Online Services Function: EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged

This function unregisters from receiving notifications when an RTC Room's connection status changes. This should be called when the local user is leaving a lobby.


Syntax:

eos_lobby_remove_notify_rtc_room_connection_changed(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_remove_notify_send_lobby_native_invite_requested

Epic Online Services Function: EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested

This function unregisters from receiving notifications when a user requests a send invite via the overlay.


Syntax:

eos_lobby_remove_notify_send_lobby_native_invite_requested(notification_id)
Argument Type Description
notification_id Real A handle representing the registered callback



Returns:

N/A




Back To Top

eos_lobby_send_invite

Epic Online Services Function: EOS_Lobby_SendInvite

This function sends an invite to another user. The user must be a member of the lobby or else the call will fail.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_send_invite(lobby_id, local_user_id, target_user_id)
Argument Type Description
lobby_id String The ID of the lobby associated with the invitation
local_user_id String The Product User ID of the local user sending the invitation
target_user_id String The Product User ID of the user receiving the invitation



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_send_invite"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby



Back To Top

eos_lobby_update_lobby

Epic Online Services Function: EOS_Lobby_UpdateLobby

This function updates a lobby given a lobby modification handle created by eos_lobby_update_lobby_modification.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_update_lobby()



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_update_lobby"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original call to the function
lobby_id String The ID of the lobby



Back To Top

eos_lobby_update_lobby_modification

Epic Online Services Function: EOS_Lobby_UpdateLobbyModification

This function creates a lobby modification handle. The lobby modification handle is used to modify an existing lobby and can be applied with eos_lobby_update_lobby. The handle must be released by calling eos_lobby_modification_release once it is no longer needed.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if EOS successfully created the lobby modification handle, or an error result if the input data was invalid
  • EOS_RESULT.INVALID_PARAMETERS if any of the options are incorrect

Syntax:

eos_lobby_update_lobby_modification(lobby_id, local_user_id)
Argument Type Description
lobby_id String The ID of the lobby
local_user_id String The ID of the local user making modifications. Must be the owner to modify lobby data, but any lobby member can modify their own attributes.



Returns:

EOS_RESULT




Back To Top

eos_lobby_details_copy_attribute_by_index

Epic Online Services Function: EOS_LobbyDetails_CopyAttributeByIndex

This function is used to immediately retrieve a copy of a lobby attribute from a given source such as a existing lobby or a search result.


Syntax:

eos_lobby_details_copy_attribute_by_index(index)
Argument Type Description
index Real The index of the attribute to retrieve



Returns:

EOS_Lobby_Attribute




Back To Top

eos_lobby_details_copy_attribute_by_key

Epic Online Services Function: EOS_LobbyDetails_CopyAttributeByKey

This function is used to immediately retrieve a copy of a lobby attribute from a given source such as a existing lobby or a search result.


Syntax:

eos_lobby_details_copy_attribute_by_key(attr_key)
Argument Type Description
attr_key String The name of the attribute



Returns:

EOS_Lobby_Attribute




Back To Top

eos_lobby_details_copy_info

Epic Online Services Function: EOS_LobbyDetails_CopyInfo

This function is used to immediately retrieve a copy of lobby information from a given source such as a existing lobby or a search result.


Syntax:

eos_lobby_details_copy_info()



Returns:

EOS_LobbyDetails_Info




Back To Top

eos_lobby_details_copy_member_attribute_by_index

Epic Online Services Function: EOS_LobbyDetails_CopyMemberAttributeByIndex

This function is used to immediately retrieve a copy of a lobby member attribute from an existing lobby.

Note

this information is only available if you are actively in the lobby. It is not available for search results.


Syntax:

eos_lobby_details_copy_member_attribute_by_index(index, target_user_id)
Argument Type Description
index Real The index of the attribute to copy
target_user_id String The Product User ID of the lobby member



Returns:

EOS_Lobby_Attribute




Back To Top

eos_lobby_details_copy_member_attribute_by_key

Epic Online Services Function: EOS_LobbyDetails_CopyMemberAttributeByKey

This function is used to immediately retrieve a copy of a lobby member attribute from an existing lobby.

Note

this information is only available if you are actively in the lobby. It is not available for search results.


Syntax:

eos_lobby_details_copy_member_attribute_by_key(attr_key, target_user_id)
Argument Type Description
attr_key String The name of the attribute to copy
target_user_id String The Product User ID of the lobby member



Returns:

EOS_Lobby_Attribute




Back To Top

eos_lobby_details_copy_member_info

Epic Online Services Function: EOS_LobbyDetails_CopyMemberInfo

This function is used to immediately retrieve a copy of lobby member information from an existing lobby.

Note

this information is only available if you are actively in the lobby. It is not available for search results.


Syntax:

eos_lobby_details_copy_member_info(target_user_id)
Argument Type Description
target_user_id String The Product User ID of the lobby member to copy



Returns:

EOS_LobbyDetails_MemberInfo




Back To Top

eos_lobby_details_get_attribute_count

Epic Online Services Function: EOS_LobbyDetails_GetAttributeCount

This function gets the number of attributes associated with this lobby. It returns the number of attributes on the lobby or 0 if there is an error.


Syntax:

eos_lobby_details_get_attribute_count()



Returns:

Real




Back To Top

eos_lobby_details_get_lobby_owner

Epic Online Services Function: EOS_LobbyDetails_GetLobbyOwner

This function gets the product user ID of the current owner for a given lobby, or an empty string "" if the input parameters are invalid.


Syntax:

eos_lobby_details_get_lobby_owner()



Returns:

String




Back To Top

eos_lobby_details_get_member_attribute_count

Epic Online Services Function: EOS_LobbyDetails_GetMemberAttributeCount

This function is used to immediately retrieve the attribute count for members in a lobby. It returns the number of attributes associated with a given lobby member or 0 if that member is invalid.

Note

this information is only available if you are actively in the lobby. It is not available for search results.


Syntax:

eos_lobby_details_get_member_attribute_count(target_user_id)
Argument Type Description
target_user_id String The Product User ID of the lobby member



Returns:

Real




Back To Top

eos_lobby_details_get_member_by_index

Epic Online Services Function: EOS_LobbyDetails_GetMemberByIndex

This function is used to immediately retrieve individual members registered with a lobby.

Note

this information is only available if you are actively in the lobby. It is not available for search results.


Syntax:

eos_lobby_details_get_member_by_index(index)
Argument Type Description
index Real The index of the member to retrieve



Returns:

String




Back To Top

eos_lobby_details_get_member_count

Epic Online Services Function: EOS_LobbyDetails_GetMemberCount

This function gets the number of members associated with this lobby.


Syntax:

eos_lobby_details_get_member_count()



Returns:

Real




Back To Top

eos_lobby_details_release

Epic Online Services Function: EOS_LobbyDetails_Info_Release

This function releases previously retrieved lobby details.


Syntax:

eos_lobby_details_release()



Returns:

Real




Back To Top

eos_lobby_modification_add_attribute

Epic Online Services Function: EOS_LobbyModification_AddAttribute

This function associates an attribute with this lobby. An attribute is something that may be public or private with the lobby. If public, it can be queried for in a search, otherwise the data remains known only to lobby members.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this parameter was successful
  • EOS_RESULT.INVALID_PARAMETERS if the attribute is missing information or otherwise invalid
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_add_attribute(visibility, attribute)
Argument Type Description
visibility EOS_LOBBY_ATTRIBUTE_VISIBILITY Whether this attribute is public or private to the lobby and its members
attribute Struct A struct that defines a single key/value pair describing the attribute to add to the lobby. The struct must contain the following variables:

* key (String)
* value_type (EOS_ATTRIBUTE_TYPE)
* value (a value of the given value_type)



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_add_member_attribute

Epic Online Services Function: EOS_LobbyModification_AddMemberAttribute

This function associates an attribute with a member of the lobby. Lobby member data is always private to the lobby.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this parameter was successful
  • EOS_RESULT.INVALID_PARAMETERS if the attribute is missing information or otherwise invalid
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_add_member_attribute(visibility, attribute)
Argument Type Description
visibility EOS_LOBBY_ATTRIBUTE_VISIBILITY Whether this attribute is public or private to the rest of the lobby members
attribute Struct A struct that defines a single key/value pair describing the attribute to add to the lobby member. The struct must contain the following variables:

* key (String)
* value_type (EOS_ATTRIBUTE_TYPE)
* value (a value of the given value_type)



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_release

Epic Online Services Function: EOS_LobbyModification_Release

This function releases a previously obtained lobby modification.


Syntax:

eos_lobby_modification_release()



Returns:

N/A




Back To Top

eos_lobby_modification_remove_attribute

Epic Online Services Function: EOS_LobbyModification_RemoveAttribute

This function removes an attribute associated with the lobby.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if removing this parameter was successful
  • EOS_RESULT.INVALID_PARAMETERS if the key is empty
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_remove_attribute(key)
Argument Type Description
key String The name of the key



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_remove_member_attribute

Epic Online Services Function: EOS_LobbyModification_RemoveMemberAttribute

This function removes an attribute associated with of member of the lobby.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if removing this parameter was successful
  • EOS_RESULT.INVALID_PARAMETERS if the key is empty
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_remove_member_attribute(key)
Argument Type Description
key String The name of the key



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_set_allowed_platform_ids

Epic Online Services Function: EOS_LobbyModification_SetAllowedPlatformIds

This function sets the Allowed Platform IDs for the lobby.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this parameter was successful
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect
  • EOS_RESULT.INVALID_PARAMETERS if the parameter is invalid

Syntax:

eos_lobby_modification_set_allowed_platform_ids(allowed_platform_ids)
Argument Type Description
allowed_platform_ids Array of EOS_ONLINE_PLATFORM_TYPE An array of platform IDs indicating the player platforms allowed to register with the session. The lobby will be unrestricted if you pass an empty array.



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_set_bucket_id

Epic Online Services Function: EOS_LobbyModification_SetBucketId

This function sets the bucket ID associated with this lobby. Values such as region, game mode, etc., can be combined here depending on game need. Setting this is strongly recommended to improve search performance.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this parameter was successful
  • EOS_RESULT.INVALID_PARAMETERS if the bucket ID is invalid
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_set_bucket_id(bucket_id)
Argument Type Description
bucket_id String The new bucket ID associated with the lobby



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_set_invites_allowed

Epic Online Services Function: EOS_LobbyModification_SetInvitesAllowed

This function allows enabling or disabling invites for this lobby. The lobby will also need to have presence_enabled set to true.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this parameter was successful
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_set_invites_allowed(invites_allowed)
Argument Type Description
invites_allowed Boolean If true then invites can currently be sent for the associated lobby



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_set_max_members

Epic Online Services Function: EOS_LobbyModification_SetMaxMembers

This function sets the maximum number of members allowed in this lobby. When updating the lobby, it is not possible to reduce this number below the current number of existing members.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this parameter was successful
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_set_max_members(max_members)
Argument Type Description
max_members Real The new maximum number of lobby members



Returns:

EOS_RESULT




Back To Top

eos_lobby_modification_set_permission_level

Epic Online Services Function: EOS_LobbyModification_SetPermissionLevel

This function sets the permissions associated with this lobby. The permissions range from "public" to "invite only" and are described by EOS_LOBBY_PERMISSION_LEVEL.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this parameter was successful
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_modification_set_permission_level(permission_level)
Argument Type Description
permission_level EOS_LOBBY_PERMISSION_LEVEL The permission level of the lobby



Returns:

EOS_RESULT




Back To Top

eos_lobby_search_copy_search_result_by_index

Epic Online Services Function: EOS_LobbySearch_CopySearchResultByIndex

This function is used to immediately retrieve a handle to the lobby information from a given search result. If the call returns an EOS_RESULT.SUCCESS result, the lobby details handle must be released with eos_lobby_details_release to release the memory associated with it once you are done using it.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if the information is available
  • EOS_RESULT.INVALID_PARAMETERS if you pass an invalid index
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_search_copy_search_result_by_index(lobby_index)
Argument Type Description
lobby_index Real The index of the lobby to retrieve within the completed search query



Returns:

EOS_RESULT




Back To Top

eos_lobby_search_find

Epic Online Services Function: EOS_LobbySearch_Find

This function finds lobbies matching the search criteria setup via this lobby search handle. When the operation completes, this handle will have the search results that can be parsed.

The function returns an async identifier.

This function operates asynchronously, which means that it does not immediately return the requested result. Instead, upon completion of the task, it will trigger the Social Async Event.


Syntax:

eos_lobby_search_find(local_user_id)
Argument Type Description
local_user_id String The Product User ID of the user making the search request



Returns:

Real


Triggers:

Social Async Event

Key Type Description
type String the string "eos_lobby_search_find"
status EOS_RESULT The result code for the operation. EOS_RESULT.SUCCESS indicates that the operation succeeded; other codes indicate errors.
status_message String Text representation of the status code
identifier Real The identifier returned by the original function call



Back To Top

eos_lobby_search_get_search_result_count

Epic Online Services Function: EOS_LobbySearch_GetSearchResultCount

This function gets the number of search results found by the search parameters in this search. It returns the number of search results found by the query or 0 if search is not complete.


Syntax:

eos_lobby_search_get_search_result_count()



Returns:

Real




Back To Top

eos_lobby_search_release

Epic Online Services Function: EOS_LobbySearch_Release

This function releases the memory associated with a lobby search. This must be called on data retrieved from eos_lobby_create_lobby_search.


Syntax:

eos_lobby_search_release()



Returns:

N/A




Back To Top

eos_lobby_search_remove_parameter

Epic Online Services Function: EOS_LobbySearch_RemoveParameter

This function removes a parameter from the array of search criteria.


Syntax:

eos_lobby_search_remove_parameter(key, comparison_op)
Argument Type Description
key String The search parameter key to remove from the search
comparison_op EOS_COMPARISON_OP The search comparison operation associated with the key to remove



Returns:

N/A




Back To Top

eos_lobby_search_set_lobby_id

Epic Online Services Function: EOS_LobbySearch_SetLobbyId

This function sets a lobby ID to find and will return at most one search result. Setting TargetUserId or SearchParameters will result in eos_lobby_search_find failing.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this lobby ID was successful
  • EOS_RESULT.INVALID_PARAMETERS if the lobby ID is invalid
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_search_set_lobby_id(lobby_id)
Argument Type Description
lobby_id String The ID of the lobby to find



Returns:

EOS_RESULT




Back To Top

eos_lobby_search_set_max_results

Epic Online Services Function: EOS_LobbySearch_SetMaxResults

This function sets the maximum number of search results to return in the query, can't be more than EOS_LOBBY_MAX_SEARCH_RESULTS.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting the max results was successful
  • EOS_RESULT.INVALID_PARAMETERS if the number of results requested is invalid
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_search_set_max_results(max_results)
Argument Type Description
max_results Real The maximum number of search results to return from the query



Returns:

EOS_RESULT




Back To Top

eos_lobby_search_set_parameter

Epic Online Services Function: EOS_LobbySearch_SetParameter

This function adds a parameter to an array of search criteria combined via an implicit AND operator. Setting LobbyId or TargetUserId will result in eos_lobby_search_find failing.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this search parameter was successful
  • EOS_RESULT.INVALID_PARAMETERS if the search criteria is invalid
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_search_set_parameter(comparison_op, parameter)
Argument Type Description
comparison_op EOS_COMPARISON_OP The type of comparison to make against the search parameter
parameter EOS_Lobby_Attribute A search parameter describing a key and a value to compare



Returns:

EOS_RESULT




Back To Top

eos_lobby_search_set_target_user_id

Epic Online Services Function: EOS_LobbySearch_SetTargetUserId

This function sets a target user ID to find. Setting LobbyId or SearchParameters will result in eos_lobby_search_find failing.

The function returns one of the following:

  • EOS_RESULT.SUCCESS if setting this target user ID was successful
  • EOS_RESULT.INVALID_PARAMETERS if the target user ID is invalid
  • EOS_RESULT.INCOMPATIBLE_VERSION if the API version passed in is incorrect

Syntax:

eos_lobby_search_set_target_user_id(target_user_id)
Argument Type Description
target_user_id String Search lobbies for the given user by Product User ID, returning any lobbies where this user is currently registered



Returns:

EOS_RESULT




Back To Top

EOS_LOBBY_MEMBER_STATUS

Epic Online Services Function: EOS_ELobbyMemberStatus

This enumeration holds the possible types of lobby member status.

These constants are referenced by the following functions:


Member Description
JOINED The user has joined the lobby
LEFT The user has explicitly left the lobby
DISCONNECTED The user has unexpectedly left the lobby
KICKED The user has been kicked from the lobby
PROMOTED The user has been promoted to lobby owner
CLOSED The lobby has been closed and user has been removed


Back To Top

EOS_LOBBY_ATTRIBUTE_VISIBILITY

Epic Online Services Enumeration: EOS_ELobbyAttributeVisibility

This enum holds the possible advertisement properties for a single attribute associated with a lobby.

These constants are referenced by the following functions:

These constants are referenced by the following structs:


Member Description
PUBLIC Data is visible to lobby members, searchable and visible in search results.
PRIVATE Data is only visible to the user setting the data. Data is not visible to lobby members, not searchable, and not visible in search results.


Back To Top

EOS_LOBBY_PERMISSION_LEVEL

Epic Online Services Struct: EOS_ELobbyPermissionLevel

These constants are referenced by the following functions:

These constants are referenced by the following structs:


Member Description
PUBLIC_ADVERTISED Anyone can find this lobby as long as it isn't full
JOIN_VIA_PRESENCE Players who have access to presence can see this lobby
INVITE_ONLY Only players with invites registered can see this lobby


Back To Top

EOS_LOBBY_MAX_SEARCH_RESULTS

This macro holds the maximum number of lobby search results.




Back To Top

EOS_ONLINE_PLATFORM_TYPE

These constants are referenced by the following functions:

These constants are referenced by the following structs:


Member Description
UNKNOWN The platform type is unknown
EPIC The platform type is Epic Games
STEAM The platform type is Steam


Back To Top

EOS_Lobby_Attribute

Epic Online Services Struct: EOS_Lobby_Attribute

This struct stores an attribute and its visibility setting stored with a lobby. Used to store both lobby and lobby member data.

This struct is referenced by the following functions:


Member Type Description
key String The name of the lobby attribute
value Any The value of the lobby attribute
visibility EOS_LOBBY_ATTRIBUTE_VISIBILITY Whether this attribute is public or private to the lobby and its members


Back To Top

EOS_LobbyDetails_Info

Epic Online Services Struct: EOS_LobbyDetails_Info

This struct holds details on a lobby.

This struct is referenced by the following functions:


Member Type Description
available_slots Real The current available space
allow_host_migration Boolean Whether host migration is allowed
allow_invites Boolean If true, users can invite others to this lobby
allow_join_by_id Boolean Whether eos_lobby_join_lobby_by_id is allowed
presence_enabled Boolean If true, this lobby will be associated with the local user's presence information.
rejoin_after_kick_requires_invite Boolean Whether rejoining after being kicked requires an invite
rtc_room_enabled Boolean Was a Real-Time Communication (RTC) room enabled at lobby creation?
bucket_id String The main indexed parameter for this lobby, can be any string (i.e. "Region:GameMode")
lobby_id String The lobby ID
lobby_owner_user_id String The Product User ID of the current owner of the lobby
max_members Real Max allowed members in the lobby
permission_level EOS_LOBBY_PERMISSION_LEVEL The permission level of the lobby


Back To Top

EOS_LobbyDetails_MemberInfo

Epic Online Services Function: EOS_LobbyDetails_MemberInfo

This struct holds information on a lobby member.

This struct is referenced by the following functions:


Member Type Description
allows_crossplay Boolean Whether this member allows crossplay
platform EOS_ONLINE_PLATFORM_TYPE The platform of the lobby member
user_id String The Product User ID of the lobby member

⚠️ **GitHub.com Fallback** ⚠️