This is to prevent subsystem from reading other achievements that may be defined in parent. Just like the setting block above, you will need to add/set these settings in your DefaultEngine.ini file. Now that we told UE4 to use the Steam Subsystem for your project, we need to configure the OnlineSubsystemSteam module. The VoiceNotificationDelta setting is an Epic recommended default when using Steam, however, I'm not sure of the exact impact of this setting at this time. I have left these commented lines in so that if you would like to switch between OnlineSubsystemNull and OnlineSubsystemSteam, you can do so easily. The character allows you to leave comments in config files. Otherwise, edit your existing block to look like the one I provided. If you don't have an block of settings in your config, go ahead and add this to the very top of your config.
Uncomment the following lines to use the Steam Subsystem Uncomment the following line to use the Null Subsystem In this case, we are setting it to Steam. These settings here tell the engine what OnlineSubsystem to use for this project. The first batch of settings that we need to add to DefaultEngine.ini is the block of settings. If you see these, be sure to change these sections of the config instead of creating new sections as described in the next step. Look through your config file and see if you can find config sections named or. If you are using a project such as GenericShooter, you may have some of these settings already defined. If you are using an Epic provided template, OnlineSubsystem settings should not exist in your DefaultEngine.ini config. Look For Existing OnlineSubsystem Settings Open up this file in a text editor such as (Notepad++) and make the following changes. You should see a list of config files including DefaultEngine.ini. To find DefaultEngine.ini, navigate to your project's directory then enter the Config subdirectory. ImplementationĪll the changes required for basic Steam implementation are done purely in the config files of your project, namely DefaultEngine.ini. If you need to test a multiplayer game locally, you should disable Steam by running -nosteam as a command argument or by switching back to OnlineSubsystemNull. Instead, you will have to have multiple machines to test or run your game clients in isolated Virtual Machines. Once you enable OnlineSubsystemSteam, testing your multiplayer games locally by having multiple clients run on the same machine will cause all sorts of failures as Steam is very against the idea of running multiple games under the same Steam account simultaneously. (At the time of this writing, GenericPlatformTools documentation does not exist.) Warning To correct this, please refer to my GenericPlatformTools plugin. If you enable Steam and are unable to see your buddy's server that happens to be on the other side of Earth, it is not an issue with your configuration but how Epic handles Steam sessions. PLEASE NOTE: By default, Steam sessions are created using 'Steam Presence', what this means is that instead of using Steam's master server list for global server searching, Steam will only return sessions within your Steam region and sometimes sessions related to the people on your friends list. your server browser works on LAN using OnlineSubsystemNull) then your session management logic should also work with Steam. If you already have session management working without Steam (i.e. This does not set up any session or server list management, however.
How to fix steam api init failed how to#
Spacewar is a test game on Steam that everyone owns and eases Steam development.įor Server builds, this covers how to get the server to initialize Steam correctly. The result of this guide should leave you with a project that has the Steam Overlay working correctly for client builds, with Steam showing you as playing Spacewar. These steps are the first part in enabling a Steam integration into your Unreal Engine 4 Project whether its Blueprint or C++.
It does not cover session creation, session management, app id association, or anything specific to OnlineSubsystemSteam.
How to fix steam api init failed series#
This is the first step in a series of guides that will show you how to enable the OnlineSubsystemSteam module for your project.