> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequence.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage Unreal Ecosystem Wallet Sessions

> Ecosystem Wallet Documentation for Sequence's Unreal SDK.

### Add Session

Add additional sessions to your existing login method. Every session shares the same wallet address with the possibility
of assigning different permissions for each session. You must provide a `IPermissions` object whenever you call `AddSession`.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/o-cdQA6Z--auxAAK/images/unreal/ecosystem/add_session.png?fit=max&auto=format&n=o-cdQA6Z--auxAAK&q=85&s=7b090eae38d5f78c22d1683e6f3e965a" width="967" height="500" data-path="images/unreal/ecosystem/add_session.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    const TSuccessCallback<bool> SuccessCallback = [OnSuccess](const bool& Result) { };
    const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    Wallet->AddSession(Permissions, SuccessCallback, FailureCallback);
    ```
  </Tab>
</Tabs>

### Check if Wallet Exists

Check if the user is already signed in with a wallet. If this returns false, you want the user to sign in.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/o-cdQA6Z--auxAAK/images/unreal/ecosystem/check_signedin.png?fit=max&auto=format&n=o-cdQA6Z--auxAAK&q=85&s=2ef4d57f3e1aa912b02c79fedb569e74" width="1908" height="992" data-path="images/unreal/ecosystem/check_signedin.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    bool Exists = Wallet->CheckIfWalletExists();
    ```
  </Tab>
</Tabs>

### Clear Sessions

Clear all sessions from storage. Use this for any 'Sign Out' functionality.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/o-cdQA6Z--auxAAK/images/unreal/ecosystem/clear_sessions.png?fit=max&auto=format&n=o-cdQA6Z--auxAAK&q=85&s=d1a651d75a3193601182585ac35bf8f7" width="1908" height="992" data-path="images/unreal/ecosystem/clear_sessions.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    Wallet->ClearSessions();
    ```
  </Tab>
</Tabs>

### Get Wallet Info

Get relevant information from the current wallet.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/o-cdQA6Z--auxAAK/images/unreal/ecosystem/wallet_info.png?fit=max&auto=format&n=o-cdQA6Z--auxAAK&q=85&s=d9a3b0b467aced4f5988cdc93c0b1249" width="1908" height="992" data-path="images/unreal/ecosystem/wallet_info.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    FWalletInfo WalletIno = Wallet->GetWalletInfo();
    ```
  </Tab>
</Tabs>
