Skip to main content

Authenticating with itch.io

To enable itch.io authentication, you just need to configure itch.io in the Epic Games Developer portal.

Add the required scope to your itch.io game

To authenticate with itch.io, you have to tell the itch.io app to provide the JWT as an environment variable at runtime.

You need to add the following to your .itch.toml file, located in the root of the packaged build that you upload. If you don't have an .itch.toml file, create one:

[[actions]]
name = "play"
path = "YourGame.exe"
scope = "profile:me"

If you don't set up .itch.toml correctly, or if you launch your game outside of the itch.io app, you'll see the following error in the logs:

LogRedpointItchIo: Error: Can't sign in with itch.io, ITCHIO_API_KEY environment variable is missing.

Set up itch.io authentication in the Epic Games Dev Portal

  1. Open the Epic Games Dev Portal.
  2. Navigate to your product.
  3. Click "Product Settings".
  4. Under the "Identity Providers" tab, click "Add Identity Provider".
  5. Select "itch.io" as the identity provider.
  6. Set the "Description" to any value you like.
  7. Set the "Game ID" to the ID of your itch.io game. When you are editing the game on itch.io, it will be located in the URL like so: https://itch.io/game/edit/<GAME_ID_HERE>.
  8. Click "Save & Exit".
  9. Under the "Environments" tab, click "Identity Providers" next to the Live sandbox.
  10. For itch.io, select the new credential you just made.

Enable the itch.io online subsystem in your game

In your DefaultEngine.ini file (or WindowsEngine.ini if you want to configure it for a specific platform), you need to add the following settings:

[OnlineSubsystemRedpointItchIo]
bEnabled=True

Enable itch.io avatars

You don't need to do any additional configuration to get itch.io authentication working, but if you'd like to have itch.io avatars displayed, you can add itch.io to the list of delegated subsystems in DefaultEngine.ini or WindowsEngine.ini:

[EpicOnlineServices]
; This is a comma-separated list, so append ",RedpointItchIo" if you already have delegated subsystems set.
DelegatedSubsystems=RedpointItchIo

Use itch.io authentication at runtime

The Default authentication graph will automatically use itch.io authentication if your game is launched through the itch.io app.

If you specifically want to use itch.io authentication, you can set the authentication graph in Project Settings to "itch.io Only", or set it in a platform-specific INI file with:

[EpicOnlineServices]
AuthenticationGraph=ItchIo

Testing itch.io authentication

To test itch.io authentication, you will need to launch your game through the itch.io app.