# Step 1 - Setup

### Enabling the Plugin <a href="#enabling-the-plugin" id="enabling-the-plugin"></a>

Download the plugin through the Epic Games Launcher and install it on an engine version. Once the plugin is installed, go to Edit -> Plugins, and under the "NextLevelPlugins" section, you should be able to see Advanced Steam Party. Please make sure that the plugin is enabled.

Make sure OnlineSubsystemSteam is also enabled.

### Now, let's ensure that you modify the DefaultEngine.ini

{% code title="DefaultEngine.ini" %}

```ini
[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="BeaconNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[/Script/OnlineSubsystemUtils.OnlineBeaconHost]
ListenPort=7787
BeaconConnectionInitialTimeout=120.0
BeaconConnectionTimeout=120.0

[/Script/OnlineSubsystemUtils.IpNetDriver]
MaxClientRate=120000
MaxInternetClientRate=120000
InitialConnectTimeout=120.0
ConnectionTimeout=120.0

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
bInitServerOnClient=true
GameServerQueryPort=27015
bRelaunchInSteam=false
bAllowP2PPacketRelay=true
P2PConnectionTimeout=120.0

[OnlineSubsystem]
DefaultPlatformService=Steam
```

{% endcode %}

### To enable voice chat, make sure to include the following additional configurations in the DefaultEngine.ini file.

{% code title="DefaultEngine.ini" %}

```ini
[OnlineSubsystem]
bHasVoiceEnabled=true

[Voice]
bEnabled=true

[/Script/Engine.GameSession]
bRequiresPushToTalk=false

[Audio]
UseAudioThread=true
```

{% endcode %}

We have custom project settings to verify if Steam is enabled before allowing clients to play your game.

Open the project settings window, then scroll down to the NLP Lobby System, which is usually located near the bottom.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nextlevelplugins.com/plugins/advanced-steam-party/step-1-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
