Skip to main content

Unreal SDK Reference

Immutable's Unreal SDK reference covers all publicly available Unreal SDK methods, enabling you to easily integrate Passport into your Unreal-based game.

Information includes method descriptions, parameters and return types.
sdk referencesdk reference
💡WHO IS THIS FOR?
Developers building a game in Unreal.

Passport


Initialize

Initialises Passport. This sets up the Passport instance, configures the web browser, and waits for the ready signal.

Method parameters


FImmutablePassportInitDataInitDataREQUIRED

Parameters to initialise the Passport with.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


Connect

Logs the user into Passport via Device Code Authorisation. This will open the user's default browser and take them through the Passport login flow.

Method parameters


boolIsConnectImxREQUIRED

If true, uses the "re-connect" method to authenticate with Immutable X. Otherwise, uses "re-login" for authentication. To access a wallet with Immutable X or zkEVM later, you must either call Connect again with this set to true or use ConnectEvm, respectively. Please set this value to false for use on Immutable zkEVM.

boolTryToReloginREQUIRED

If true, attempts to re-connect or re-login the user using a cached session, avoiding the need to open a web browser. If this fails, it will fall back to Device Code Authorisation.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ConnectPKCE

(Android, iOS, and macOS only) Logs into Passport using Authorization Code Flow with Proof Key for Code Exchange (PKCE).

Method parameters


boolIsConnectImxREQUIRED

If true, the game bridge will use a cached session to re-connect or re-login the user, avoiding the need to open a web browser. If this attempt fails, it will fall back to Device Code Authorisation. Please set this value to false for use on Immutable zkEVM.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


Logout

Logs the user out of Passport.

Method parameters


boolDoHardLogoutREQUIRED

If true, clears sessions and any stored credentials from both the SDK/plugin and the browser. Otherwise, only clears session and credentials from the SDK, leaving the browser session.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ConnectEvm

Initializes the zkEVM provider.

Method parameters


FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ZkEvmRequestAccounts

Authenticates the user and initializes their Passport wallet before returning an array of wallet addresses. Must be called before other zkEVM functions.

Method parameters


FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ZkEvmGetBalance

Returns the balance of the account of the given address in wei.

Method parameters


FImmutablePassportZkEvmGetBalanceDataDataREQUIRED

The address and block number for the request.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ZkEvmSendTransaction

Creates new message call transaction or a contract creation, if the data field contains code.

Method parameters


FImtblTransactionRequestRequestREQUIRED

The transaction request data.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ZkEvmSendTransactionWithConfirmation

Similar to ZkEvmSendTransaction. Creates new message call transaction or a contract creation, if the data field contains code, and signs it using the account specified in from. Additionally, it also resolves to the FZkEvmTransactionReceipt once the transaction has been included in the chain for confirms blocks. If confirms is 0, and the transaction has not been mined, null is returned. The callback response data may contain the receipt of the transaction or null if it is still processing.

Method parameters


FImtblTransactionRequestRequestREQUIRED

The transaction request data.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ZkEvmGetTransactionReceipt

Retrieves the transaction information of a given transaction hash. This function uses the Ethereum JSON-RPC eth_getTransactionReceipt method. Response will contain the receipt of the transaction or null if it is still processing.

Method parameters


FZkEvmTransactionReceiptRequestRequestREQUIRED

The request data(Hash) to perform the transaction.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


GetIdToken

Gets the currently saved ID token without verifying its validity.

Method parameters


FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


GetAccessToken

Gets the currently saved access token without verifying its validity.

Method parameters


FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


GetEmail

Retrieves the email address of the user whose credentials are currently stored.

Method parameters


FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


GetLinkedAddresses

Gets the list of external wallets the user has linked to their Passport account via the Dashboard.

Method parameters


FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


HasStoredCredentials

Checks if the user's credentials have been stored.

Method parameters


FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.


ZkEvmSignTypedDataV4

Generates a signature for a typed data V4 object. Signs the EIP-712 structured message in JSON string format using the logged-in Passport account.

Method parameters


FStringRequestJsonStringREQUIRED

The EIP-712 structured data in JSON string format.

FImtblPassportResponseDelegateResponseDelegateREQUIRED

The response delegate of type FImtblPassportResponseDelegate to call on response from JS.

Returns


void

No return value.



Orderbook


PrepareListing

Gets required transactions and messages for signing prior to creating a listing.

Method parameters


APIPrepareListingRequestRequestREQUIRED

Request object for preparing a listing containing details about the listing to be created:

See APIPrepareListingRequest for more information.

Returns


APIPrepareListing200Response

A response object for the prepare listing endpoint containing properties:

See APIPrepareListing200Response for more information.


CreateListing

Creates a listing.

Method parameters


APICreateListingRequestRequestREQUIRED

Request object containing parameters for creating a listing:

See APICreateListingRequest for more information.

Returns


APICreateListing200Response

A response object for the create listing endpoint containing properties:

See APICreateListing200Response for further information.


FulfillOrder

Gets unsigned transactions that can be submitted to fulfil an open order. If the approval transaction exists it must be signed and submitted to the chain before the fulfilment transaction can be submitted or it will be reverted.

Method parameters


APIFulfillOrderRequestRequestREQUIRED

Request object containing parameters for fulfilling an order:

  • ListingId of type FString - the listing ID to fulfil
  • TakerAddress of type FString - the address of the account fulfilling the order
  • TakerFees of type TArray<APIFulfillOrderRequestTakerFeesInner> - taker ecosystem fees to be paid.
  • AmountToFill of type TOptional<FString> - amount of the order to fill, defaults to sell item amount (only applies to ERC1155 orders)

See APIFulfillOrderRequest for more information.

Returns


APIFulfillOrder200Response

A response object for the fulfill order endpoint containing properties:

See APIFulfillOrder200Response for more information.


PrepareOrderCancellations

Prepares cancellations for one or more orders.

Cancelling orders is a gasless alternative to on-chain cancellation exposed with CancelOrdersOnChain. For the orderbook to authenticate the cancellation, the creator of the orders must sign an EIP712 message containing the orderIds.

Method parameters


APIPrepareOrderCancellationsRequestRequestREQUIRED

Request object containing parameters for preparing order cancellations:

  • OrderIds of type TArray<FString> - the ID's of the orders to attempt to cancel

See APIPrepareOrderCancellationsRequest for more information.

Returns


APIPrepareOrderCancellations200Response

A response object for the prepare order cancellations endpoint containing properties:

See APIPrepareOrderCancellations200Response for further information.


CancelOrders

Cancels one or more orders.

Cancelling orders is a gasless alternative to on-chain cancellation exposed with CancelOrdersOnChain. Orders cancelled this way cannot be fulfilled and will be removed from the orderbook. If there is pending fulfillment data outstanding for the order, its cancellation will be pending until the fulfillment window has passed. PrepareOrderCancellations can be used to get the signable action that is signed to get the signature required for this call.

Method parameters


APICancelOrdersRequestRequestREQUIRED

Request object containing parameters for cancelling orders:

  • OrderIds of type TArray<FString> - the order IDs to attempt to cancel
  • AccountAddress of type FString - the address of the account cancelling the orders
  • Signature of type FString - the signature obtained by signing the message obtained from PrepareOrderCancellations

See APICancelOrdersRequest for more information.

Returns


APICancelOrders200Response

A response object for the cancel orders endpoint containing properties:

See APICancelOrders200Response for further information.


CancelOrdersOnChain

Cancels one or more orders on the blockchain.

Get an unsigned order cancellation transaction. Orders can only be cancelled by the account that created them. All of the orders must be from the same seaport contract. If trying to cancel orders from multiple seaport contracts, group the orderIds by seaport contract and call this method for each group.

Method parameters


APICancelOrdersOnChainRequestRequestREQUIRED

Request object containing parameters for cancelling orders on the blockchain:

  • OrderIds of type TArray<FString> - the order IDs to cancel
  • AccountAddress of type FString - the address of the account cancelling the order

See APICancelOrdersOnChainRequest for more information.

Returns


APICancelOrdersOnChain200Response

A response object for the cancel orders on chain endpoint containing properties:

See APICancelOrdersOnChain200Response for further information.


TokenBalance

Retrieves the token balance for a specified wallet and contract address.

Method parameters


FStringWalletAddressREQUIRED

The wallet address to query for the token balance.

FStringContractAddressREQUIRED

The contract address of the token.

Returns


APITokenBalance200Response

A response object for the token balance endpoint containing properties:

  • Quantity of type FString - the quantity of the given token that the user has in their wallet.

See APITokenBalance200Response for further information.