> For the complete documentation index, see [llms.txt](/llms.txt).

# Advanced configuration

The Embedded Wallets SDK provides extensive configuration options that allow you to customize authentication flows, UI appearance, blockchain integrations, and security features to meet your Unreal application's specific requirements.

## Configuration structure[​](#configuration-structure "Direct link to Configuration structure")

When setting up Web3Auth, you'll pass in the options to the constructor. This consists of:

```
#include "Web3AuthSDK.h"

FWeb3AuthOptions Options;
Options.ClientId = TEXT("YOUR_CLIENT_ID"); // Get your Client ID from the MetaMask Developer Dashboard
Options.Network = TEXT("sapphire_mainnet"); // or "sapphire_devnet"
Options.RedirectUrl = TEXT("YOUR_SCHEMA://YOUR_APP_PACKAGE_NAME");

UWeb3AuthSDK::GetInstance()->Initialize(Options);

```

### `FWeb3AuthOptions`[​](#fweb3authoptions "Direct link to fweb3authoptions")

The Web3Auth Constructor takes an object with `FWeb3AuthOptions` as input.

- Table
- Struct

| Parameter          | Description                                                                                                                       |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| ClientId           | Your Web3Auth Client ID from the [Dashboard](https://developer.metamask.io/). It's a mandatory field of type FString.             |
| Network            | Web3Auth Network: "sapphire_mainnet", "sapphire_devnet", "mainnet", "cyan", "aqua" or "testnet". Mandatory field of type FString. |
| RedirectUrl        | URL that Web3Auth will redirect API responses upon successful authentication. It's a mandatory field of type FString.             |
| WhiteLabelOptions? | Whitelabel options for custom UI, branding, and translations. Takes FWeb3AuthWhiteLabelOptions as a value.                        |
| SessionTime?       | Configure session management time in seconds. Default is 86400 seconds (1 day). Max 30 days.                                      |

```
USTRUCT(BlueprintType)
struct FWeb3AuthOptions
{
    GENERATED_BODY()

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    FString ClientId;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    FString Network;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    FString RedirectUrl;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    FWeb3AuthWhiteLabelOptions WhiteLabelOptions;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    int32 SessionTime = 86400;
};

```

## Session management[​](#session-management "Direct link to Session management")

Control how long users stay authenticated and how sessions persist in Unreal Engine.

**Key Configuration Options:**

- `SessionTime` - Session duration in seconds. Controls how long users remain authenticated before needing to log in again.  
  - Minimum: 1 second (`1`).
  - Maximum: 30 days (`86400 * 30`).
  - Default: 1 day (`86400`).

```
FWeb3AuthOptions Options;
Options.ClientId = TEXT("YOUR_CLIENT_ID");
Options.Network = TEXT("sapphire_mainnet");
Options.SessionTime = 86400 * 7; // 7 days (in seconds)
Options.RedirectUrl = TEXT("YOUR_SCHEMA://YOUR_APP_PACKAGE_NAME");

UWeb3AuthSDK::GetInstance()->Initialize(Options);

```

## Custom authentication methods[​](#custom-authentication-methods "Direct link to Custom authentication methods")

Control the login options presented to your users. For detailed configuration options and implementation examples, see the [custom authentication](/embedded-wallets/sdk/unreal/advanced/custom-authentication/) section.

## UI customization[​](#ui-customization "Direct link to UI customization")

Create a seamless brand experience by customizing the Web3Auth Login Screens to match your Unreal application's design. For complete customization options, refer to the [whitelabeling and UI customization](/embedded-wallets/sdk/unreal/advanced/whitelabel/) section.

## Multi-Factor Authentication (MFA)[​](#multi-factor-authentication-mfa "Direct link to Multi-Factor Authentication (MFA)")

Add additional security layers to protect user accounts with two-factor authentication. For detailed configuration options and implementation examples, see the [Multi-Factor Authentication](/embedded-wallets/sdk/unreal/advanced/mfa/) section.

**Key Configuration Options:**

- `MfaSettings` - Configure MFA settings for different authentication flows
- `MfaLevel` - Control when users are prompted to set up MFA
