Particle Auth for Unreal Engine
Extending beyond directly programmatic implementations, Particle Auth also features full support for Unreal Engine 5 through a no-code interface, enabling the integration of Particle’s Wallet-as-a-Service in a familiar and straightforward environment when building games on Unreal Engine.Getting Started
Getting started with the Particle Auth Unreal Engine SDK is simple, although you must manually download and install the SDK using theparticle-unreal GitHub repository.
To install:
- Open your project’s root directly (you’ll find your
.uprojectfile here). - Create a new directory,
Plugins, or skip this step ifPluginsalready exists. - Navigate to
Plugins/ParticleSDKwithinparticle-unrealand copy it to yourPluginsdirectory. - Open the Unreal Engine 5 editor, head over to Menu, then Edit, and finally Plugins, in which you’ll find an option to enable ParticleSDK.
Examples of utilization
Initialization
To begin, you’ll need to create a config object with yourprojectId, clientKey, and appId filled in.
Find a guide on how to set up a project and find the required keys: Dashboard Guide.
Init function to complete the initialization. The Init function accepts the following parameters:
- Default Browser Widget: Typically set to
W_ExecuteWebBrowser. If you prefer to use a customWebBrowserblueprint, you can do so if it follows the structure ofW_ExecuteWebBrowser. - In Config: This links to the previously defined configuration object containing
projectId,clientKey, andappId. - In Theme: An optional JSON string for customization. For more details, see Particle Auth Set Auth Theme.
- In Language: Specifies the language used in the modal. Options include
en,zh-cn,zh-tw,ja, orko. - In Chain Name & In Chain Id: Defines the primary chain to be used, either EVM or Solana. For details on specific
chainIdandchainNameconfigurations, refer to EVM Chains Structure.

Login
TheLogin function is the core method for onboarding and account creation/sign-in within Particle Auth on Unreal Engine. It supports social logins and includes the following parameters:
-
Preferred Auth Type: (Optional) Specifies the authentication method. Options include:
phonefor phone-based logins (sends a verification text and links the account to a phone number).emailfor email-based logins (sends a verification email and links the account to an email address).jwtfor custom authentication using JWTs.
- Account: (Optional) Used to pass the expected values for an email address, phone number, or JWT.

Sign Message
To prompt a standard message signature (for general strings, not typed data), you can use theSignMessage blueprint.
This blueprint displays a signature request for the end user to confirm. The SignMessage function includes the following parameter:
Message: The message to be signed by the user. For EVM chains, this should be a standard UTF-8 string. For Solana, it should be a base58 string.
OnSignMessageEvent.

Sign and Send Transaction
SignAndSendTransaction is the core method for sending transactions on EVM and Solana.
When called, it prompts the user with a transaction, allowing them to either confirm and push it to the network or reject and cancel the operation. The SignAndSendTransaction blueprint includes the following parameter:
Transaction: A string representing the transaction object/structure to be sent. For EVM, this should be a standard UTF-8 string; for Solana, it should be a base58 string (it can be a stringified object).
MakeEvmTransaction helper method to generate an EVM transaction, which can then be attached to the Transaction parameter in SignAndSendTransaction for no-code transaction creation.
Upon a successful signature, the event data, including the signature, is returned via OnSignAndSendTransactionEvent.

Sign Typed Data
On EVM chains, you can useSignTypedData as an alternative to SignMessage for signing structured (typed) data.
The SignTypedData blueprint includes the following parameters:
Message:The data to be signed is provided as a standard JSON string containing the data structure.Version: Particle Auth supports all three versions ofeth_signTypedData:v1,v3, andv4. By default,v4is used.
OnSignTypedDataEvent.

Sign Transaction
SignTransaction is a Solana-specific method for signing a transaction without pushing it to the network. The SignTransaction blueprint includes the following parameters:
Transaction: A base58 string representing a valid transaction structure to be signed.
OnSignTransactionEvent.

Sign All Transactions
The plural counterpart,SignAllTransactions, is another Solana-specific method for signing multiple transactions collectively without pushing them to the network.
The SignAllTransactions blueprint includes the following parameters:
Transactions: An array of base58 strings, each representing a valid transaction to be signed.
OnSignAllTransactionsEvent.
.

