# Enable MFA

> Web3Auth Unity SDK - enableMFA | Embedded Wallets

The `enableMFA` method is used to trigger MFA setup flow for users. The method takes `LoginParams` which will used during custom verifiers. If you are using default login providers, you don't need to pass `LoginParams`. If you are using custom JWT verifiers, you need to pass the JWT token in `loginParams` as well.

:::tip

Additionally you can associate a function to be triggered on successful MFA Enabled.

```cs
void Start()
{
    web3Auth = GetComponent<Web3Auth>();
    web3Auth.setOptions(new Web3AuthOptions()
    {

    });
    // focus-next-line
    web3Auth.onMFASetup += onMFASetup;
}
//focus-start
private void onMFASetup(bool response)
{
    // Functions to be called after MFA setup
}
//focus-end
```

:::

## Usage

<Tabs
  defaultValue="default-verifier"
  values={[
    { label: "Default Verifier", value: "default-verifier" },
    { label: "Custom JWT Verifier", value: "custom-jwt-verifier" },
  ]}
>

<TabItem value="default-verifier">

```cs
{
    var selectedProvider = Provider.GOOGLE;

    var options = new LoginParams()
    {
        loginProvider = selectedProvider,
    };

    web3Auth.enableMFA(options);
}
```

</TabItem>

<TabItem value="custom-jwt-verifier">

```cs
{
    var selectedProvider = Provider.JWT;

    var options = new LoginParams()
    {
        loginProvider = selectedProvider,
        extraLoginOptions = new ExtraLoginOptions()
        {
            domain = "https://web3auth.au.auth0.com",
            verifierIdField = "sub",
            prompt = Prompt.LOGIN,
        }
    };

    web3Auth.enableMFA(options);
}

```

</TabItem>
</Tabs>
