Management API Reference

Unreal Engine SDK

The Openfort SDK for UE helps you integrate your game.

SUPPORTED PLATFORMS
  • Windows (64-bit)
  • macOS (minimum version 10.5)
  • Android (minimum version 8.0)
  • iOS (minimum version 15.2)
SUPPORTED UNITY VERSIONS
  • Unreal Engine 5.4
  • Unreal Engine 5.3
  • Unreal Engine 5.2
  • Unreal Engine 5.0
Build PlatformUnreal Engine VersionWindowsMacOSiOSAndroid
Windows5.0.3
5.2.1??
5.3
5.4
macOS5.2.1
5.3
5.4

Installation​#

Since .uasset and .umap files are stored on Git Large File Storage, you must download and install git-lfs before cloning the repository.

  1. Clone the openfort-unreal-sdk repository.
  2. Copy the cloned repo into your project's Plugins folder, e.g.: MyGame/Plugins/openfort-unreal-sdk.
  3. Restart your project (Unreal Editor & Jetbrains Rider IDE), upon restart it should load the unreal-sdk-plugin and should be good to use.

The plugin currently makes use of the Web Browser runtime module which bundles CEF3. Changes to the engine are currently required for modern xcode targets as Unreal Engine does not properly link the framework during packaging. This requires either an engine patch or moving the framework post-build and then codesigning your build again.

In the CEF3.build.cs you need to bypass the if check for modern xcode. This can be accomplished by adding || true to the end of the if check on line 102.

Additionally, you need to add bCompileCEF3 = true; to your build target.

Setup#

Blueprint#

See the included sample widgets in All->Plugins->Openfort Content in the Unreal Editor content browser for examples of how to use the plugin in Blueprint. If you don't see a Plugins folder under All you may need to enable Show Plugin Content in the content browser's Settings menu.

ue-setup

C++#

Check out the OpenfortOpenfortSDK.h file for the C++ Identity API. In order to know the list of methods to call for the Identity Login Flow and the Identity Log out Flow, follow the same sequence of steps as the Blueprint widget examples below.

Quickstart#

Authentication with Openfort Auth#

We use the Device Code Authorization flow to authenticate and authorize users. To log in the user:

ue-auth

Call the Authenticate blueprint node. This will open the user's default browser and take them through the auth flow.

Log out of Openfort Auth#

To initiate the logout process, utilize the Logout node demonstrated below. Two logout options are available:

  • Hard Logout: This option clears sessions from both the SDK (local) and the browser used for login. The SDK will open a browser to clear the browser session during the logout process.
  • Soft Logout: If there is a desire to bypass opening the browser during the logout process, set the DoHardLogout parameter to false. This will perform only a local logout, and users will remain logged in to Identity in the browser until the session expires.

Supported Functionality#

MethodFunctionality
InitInitializes OpenfortSDK with various parameters
LogInWithEmailPasswordLogs the user in using email and password
SignUpWithEmailPasswordSigns up a new user with email and password
LinkEmailPasswordLinks an email and password to the user account
UnlinkEmailPasswordUnlinks an email and password from the user account
RequestResetPasswordRequests a password reset
ResetPasswordResets the user's password
RequestEmailVerificationRequests an email verification
VerifyEmailVerifies the user's email
InitOAuthInitializes OAuth for the user
AuthenticateWithOAuthAuthenticates the user with OAuth
UnlinkOAuthUnlinks OAuth from the user account
PoolOAuthPools OAuth for the user account
InitLinkOAuthInitializes the link OAuth process
AuthenticateWithThirdPartyProviderAuthenticates the user with a third-party provider
InitSiweInitializes Sign-In with Ethereum (SIWE)
AuthenticateWithSiweAuthenticates the user with SIWE
LinkWalletLinks a wallet to the user account
UnlinkWalletUnlinks a wallet from the user account
StoreCredentialsStores authentication credentials
GetUserGets the user information
LogoutLogs the user out and removes stored credentials
GetAccessTokenGets the currently saved access token
ValidateAndRefreshTokenValidates and refreshes the access token
SendSignatureTransactionIntentRequestSends a signature transaction intent request
SignMessageSigns a message
SignTypedDataSigns typed data
SendSignatureSessionRequestSends a transaction signed by a session
GetEmbeddedStateGets the embedded state
GetEthereumProviderGets the Ethereum provider
ConfigureEmbeddedSignerConfigures the embedded signer