Sign-In with Epic Games
Sequence’s Unreal SDK supports the creation of wallets using Epic Games Auth. To get started, you integrate the EOS SDK into your project and make sure you login against the EOS Epic Account Services.
The big advantage of Epic Auth comes when you start your game from the Epic Games Launcher. That way, you can authenticate with Sequence and create non-custodial wallets for your users without any Sign-In interface. It’s completely headless.
Roadmap
- Epic Sign-In using the Exchange Code from the Epic Games Launcher
- When no code is present, Sign-In using Epic’s Account Portal
- Get the Epic Account Access Token and use it to authenticate with Sequence’s Unreal SDK
Learn how to integrate it
The native EOS SDK only supports C++ integrations, so we will focus on that in this guide. However, to use them in
your Blueprint setup, simply convert them to a UFUNCTION
. Alternatively, you can consider third party libraries such as the Redpoint EOS SDK.
Checkout our example integration.
1. Install the Required SDKs
Make sure you have the following SDKs installed in your Unreal Project.
- Sequence’s Unreal SDK
- Online Services EOS
- Online Subsystem EOS
2. Reference them in your Project
Add them to the Public Dependency Modules inside your .Build.cs
file.
3. Initialize the EOS SDK
Run EOS_Platform_Create
with the project credentials from the Epic Games Dev Portal
For security, we recommend reading these credentials from a config file such as EosConfig.ini
and add it to your .gitignore
4. Tick the EOS Platform
For the EOS SDK to update itself during the Sign-In process, we need to manually ‘tick’ it.
Use the platform handle EOS_HPlatform
to call EOS_Platform_Tick
5. Create an EOS Login function
Login with EOS by calling the EOS_Auth_Login
function.
6. Get the Epic Account Access Token
Let’s integrate a function to access the Epic account’s access token. This is a OIDC compatible Id Token.
7. Create a Wallet with Sequence
Now that we can Sign-In with Epic and access the account’s Access Token, let’s use it with Sequence’s Unreal SDK to create a non-custodial wallet.
Calling this function using the EOS_ELoginCredentialType::EOS_LCT_ExchangeCode
option needs to happen at the start
of the game. The code which is given by the Epic Games Launcher is a short-lived token and we need to access it quickly.
8. Let’s try it out!
We are done! Now create an instance of your UEOSManager
class and do the following.
- Call
Initialize()
at the start of your game. - Call
Tick()
every frame or at another rate. - Call
SignInWithEpic()