Configuring the Plugin
Overview
This guide provides comprehensive instructions for configuring the SteamCore plugin in your Unreal Engine project. Proper configuration is essential for enabling Steam functionality and ensuring optimal performance in both development and production environments.
Video Tutorial
For a visual walkthrough of the configuration process, please refer to our Getting Started Video Tutorial.
Configuration Process
Step 1: Locate Configuration File
Navigate to your project's configuration directory and open the DefaultEngine.ini
file located at:
Project/Config/DefaultEngine.ini
Step 2: Prepare Configuration Environment
Before adding new configuration values, ensure a clean configuration environment:
- Remove Legacy Settings: Delete any existing Steam-related configuration entries to prevent conflicts
- Backup Configuration: Create a backup of your current
DefaultEngine.ini
file before making changes - Verify File Permissions: Ensure the configuration file is not read-only
Duplicate or conflicting entries in the configuration file will cause plugin initialization failures. Always remove old Steam-related settings before adding new ones.
Configuration Options
Recommended Configuration
For typical multiplayer projects, use the following comprehensive configuration:
[OnlineSubsystemSteamCore]
SteamDevAppId=480
SteamAppId=480
bVACEnabled=True
bEnabled=True
bUseSteamNetworking=True
bAllowP2PPacketRelay=True
bRelaunchInSteam=False
P2PConnectionTimeout=90
GameServerQueryPort=27015
GameVersion=1.0.0.0
[OnlineSubsystem]
DefaultPlatformService=SteamCore
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamCoreSockets.SteamCoreSocketsNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
Minimal Configuration
For basic usage during development and testing, the following minimal configuration is sufficient:
[OnlineSubsystemSteamCore]
bEnabled=True
SteamDevAppId=480
SteamAppId=480
[OnlineSubsystem]
DefaultPlatformService=SteamCore
Configuration Parameters Reference
Core Settings
Parameter | Type | Description | Default |
---|---|---|---|
bEnabled | Boolean | Enable or disable the SteamCore plugin | True |
SteamAppId | Integer | Your application's Steam ID for production | 480 |
SteamDevAppId | Integer | Development Steam ID used during testing | 480 |
Port | Integer | Server port for Steam networking | 7777 |
Networking Configuration
Parameter | Type | Description | Default |
---|---|---|---|
bUseSteamNetworking | Boolean | Enable Steam's networking layer | True |
bAllowP2PPacketRelay | Boolean | Allow fallback to Steam relay servers | True |
P2PConnectionTimeout | Integer | Timeout duration for P2P connections (seconds) | 90 |
GameServerQueryPort | Integer | Steam server query port | 27015 |
Security and Anti-Cheat
Parameter | Type | Description | Default |
---|---|---|---|
bVACEnabled | Boolean | Enable Steam VAC (Valve Anti-Cheat) | True |
bRelaunchInSteam | Boolean | Relaunch game through Steam if not started via Steam | False |
Development Settings
Parameter | Type | Description | Default |
---|---|---|---|
bCopySteamDlls | Boolean | Copy Steam client DLLs when packaging (Windows only) | True |
GameVersion | String | Game version identifier | 1.0.0.0 |
Advanced Handshake Configuration
Parameter | Type | Description | Default |
---|---|---|---|
bOverrideMinHandshakeVersion | Boolean | Override minimum handshake version | True |
MinHandshakeVersion | Integer | Minimum handshake version | 0 |
bOverrideCurrentHandshakeVersion | Boolean | Override current handshake version | True |
CurrentHandshakeVersion | Integer | Current handshake version | 0 |
Complete Configuration Example
[OnlineSubsystemSteamCore]
bEnabled=True
SteamAppId=480
SteamDevAppId=480
Port=7777
bCopySteamDlls=True
bVACEnabled=True
bUseSteamNetworking=True
bAllowP2PPacketRelay=True
bRelaunchInSteam=False
P2PConnectionTimeout=90
GameServerQueryPort=27015
GameVersion=1.0.0.0
bOverrideMinHandshakeVersion=True
MinHandshakeVersion=0
bOverrideCurrentHandshakeVersion=True
CurrentHandshakeVersion=0
Additional Configuration Requirements
Multiplayer Setup
For multiplayer functionality, ensure you also configure SteamCoreSockets in addition to the basic plugin configuration.
Project Settings Migration
Recent versions of the SteamCore plugin no longer support configuration through the Project Settings interface. All configuration must be performed through the DefaultEngine.ini
file.
Validation and Testing
Configuration Verification
After applying configuration changes:
- Syntax Check: Verify the configuration file syntax is correct
- Plugin Load: Confirm the plugin loads successfully in the editor
- Steam Integration: Test basic Steam functionality (if Steam client is running)
- Multiplayer Testing: Verify networking functionality if applicable
Common Configuration Issues
Issue | Cause | Solution |
---|---|---|
Plugin fails to load | Duplicate configuration entries | Remove conflicting entries |
Steam features unavailable | Incorrect App ID configuration | Verify SteamAppId and SteamDevAppId values |
Networking errors | Missing networking configuration | Add complete networking settings |
Next Steps
Once configuration is complete:
- Restart Editor: Restart the Unreal Editor to apply changes
- Test Functionality: Verify Steam integration works as expected
- Configure Networking: Set up multiplayer features if required
- Deploy Testing: Test configuration in packaged builds
For advanced networking configuration, proceed to the SteamCoreSockets Configuration guide.