Skip to main content

Authentication: Steam

Requirements

  • Your own AppId on Steam
  • Configure your Product to allow Steam as your Identity Provider in the EOS Dev Portal
  • A method to acquire Steam Encrypted App Tickets

Configuring your Project

  • Login Epic Dev Portal

Image

Image

  • Configure the Steam Identity Provider and add a New Entry, the Encryption key needed is found in the next secion of this tutorial

Steam Appticket Key

  • Login to your Steamworks account and select your Game/Application, under Technical Tools click on Edit Steamworks Settings.
  • Inside your Applications Steamworks Settings, go to the Security tab and click on SDK Auth, here you will be able to generate the Encryption Key that you need for your EOS Product to Authenticate.
  • Login to Steamworks

Image

Image

Configuring the Identity Provider

  • Next up we’ll configure our Product to allow Steam as an Identity Provider, go to your Product Settings, click on Environments and then click on IDENTITY PROVIDERS

Image

  • Select the Steam App that we created in our previous step My Steam App

Image

Logging in with Steam

  • First we need to request a Encrypted App Ticket from Steam so that we can authenticate with EOS. In this example we're going to use the SteamCore PRO Plugin plugin to retrieve a Encrypted App Ticket from Steam that we can use to authenticate.

Image

  • SteamCore PRO Plugin on the Unreal Marketplace

  • After Receiving a Encrypted App Ticket from Steam, we will attempt to login with the Ticket but if this is your first time connecting then you will get a failure with “Invalid User” as a result, all you need to do then is to call Create User (one time process), after the user has been created you should be able to login.

Using SteamCore PRO and EOSCore together (DefaultEngine.ini)

  • In addition to configuring SteamCore PRO plugin you'll need to set the NativePlatformService to SteamCore which allows the SteamCore plugin to initialize.
[OnlineSubsystem]
DefaultPlatformService=EOSCore
NativePlatformService=SteamCore

Steam Login (Async node)

Image

Creating a Steam User

  • If you're not using the Login node you will have to also create the players steam user manually

Image