diff --git a/sdk/unity/power/advanced/clients.mdx b/sdk/unity/advanced/clients.mdx
similarity index 100%
rename from sdk/unity/power/advanced/clients.mdx
rename to sdk/unity/advanced/clients.mdx
diff --git a/sdk/unity/power/advanced/contracts.mdx b/sdk/unity/advanced/contracts.mdx
similarity index 100%
rename from sdk/unity/power/advanced/contracts.mdx
rename to sdk/unity/advanced/contracts.mdx
diff --git a/sdk/unity/power/deploy-contracts.mdx b/sdk/unity/advanced/deploy-contracts.mdx
similarity index 100%
rename from sdk/unity/power/deploy-contracts.mdx
rename to sdk/unity/advanced/deploy-contracts.mdx
diff --git a/sdk/unity/power/advanced/introduction.mdx b/sdk/unity/advanced/introduction.mdx
similarity index 100%
rename from sdk/unity/power/advanced/introduction.mdx
rename to sdk/unity/advanced/introduction.mdx
diff --git a/sdk/unity/onboard/recovering-sessions.mdx b/sdk/unity/advanced/recovering-sessions.mdx
similarity index 83%
rename from sdk/unity/onboard/recovering-sessions.mdx
rename to sdk/unity/advanced/recovering-sessions.mdx
index f65c68c8..1f919814 100644
--- a/sdk/unity/onboard/recovering-sessions.mdx
+++ b/sdk/unity/advanced/recovering-sessions.mdx
@@ -9,26 +9,8 @@ By default, the SDK will require users to sign in everytime the app is closed co
However, on select platforms, we have integrated with the platform's native secure storage offering.
-If you enable `StoreSessionPrivateKeyInSecureStorage` in your `SequenceConfig` ScriptableObject, we will automatically store the session wallet information for you (on supported platforms) and expose the ability to attempt to recover the session in `SequenceLogin`. The default `SequenceLoginWindow` will automatically handle the UI flow for this as well (see [Authentication](/sdk/unity/onboard/authentication/intro)). If the platform is not supported, this flag will have no effect.
-
See below the supported platforms and to learn about the platform's secure storage solution - it is important to understand the basics of how these systems work and think carefully about the security implications of storing private keys (or any secret for that matter) in persistent storage.
-## Integration
-
-You have two options to recover a wallet from storage. First is to use the `EmbeddedWalletAdapter` class. If this call succeeds, the `EmbeddedWalletAdapter` contains the Wallet instance.
-
-```csharp
-bool recovered = await EmbeddedWalletAdapter.GetInstance().TryRecoverWalletFromStorage();
-```
-
-Otherwise, use the underlying `SequenceLogin` class.
-
-```csharp
-(bool storageEnabled, IWallet wallet) = await SequenceLogin.GetInstance().TryToRestoreSessionAsync();
-```
-
-In both cases, you can listen to the `SequenceWallet.OnWalletCreated` event whenever a wallet was recovered from storage or created during the sign-in process.
-
## Platform Details
### Editor
diff --git a/sdk/unity/power/advanced/tokens.mdx b/sdk/unity/advanced/tokens.mdx
similarity index 100%
rename from sdk/unity/power/advanced/tokens.mdx
rename to sdk/unity/advanced/tokens.mdx
diff --git a/sdk/unity/power/advanced/transfers.mdx b/sdk/unity/advanced/transfers.mdx
similarity index 100%
rename from sdk/unity/power/advanced/transfers.mdx
rename to sdk/unity/advanced/transfers.mdx
diff --git a/sdk/unity/power/advanced/wallets.mdx b/sdk/unity/advanced/wallets.mdx
similarity index 100%
rename from sdk/unity/power/advanced/wallets.mdx
rename to sdk/unity/advanced/wallets.mdx
diff --git a/sdk/unity/bootstrap_game.mdx b/sdk/unity/bootstrap.mdx
similarity index 69%
rename from sdk/unity/bootstrap_game.mdx
rename to sdk/unity/bootstrap.mdx
index e6903fe4..ac048f35 100644
--- a/sdk/unity/bootstrap_game.mdx
+++ b/sdk/unity/bootstrap.mdx
@@ -1,6 +1,7 @@
---
-title: Boostrap your Game
+title: Boostrap your Ecosystem Wallet Game
description: Using the provided boilerplates to quickly get your integration up and running.
+sidebarTitle: Bootstrap
---
Sequence's Unity SDK includes a range of features to help you bootstrap your game.
@@ -11,16 +12,85 @@ Ensure that your codebase has access to the `Sequence.Boilerplates.asmdef` assem
Checkout the `BoilerplateController.cs` for more integration examples.
-
- Boilerplates use Arbitrum Sepolia by default. To switch them to your preferred chain, set it like this:
- `EmbeddedWalletAdapter.GetInstance().Chain = Chain.TestnetPolygonAmoy;`
-
+## Ecosystem Wallet
-## Login
+### Login Window
-Create the `SequenceLoginWindow` prefab to authenticate users as a Guest, with Email OTP, Google- or Apple Sign In.
+Create the `EcosystemWalletLoginWindow` prefab to authenticate users as a Guest, with Email OTP, Google- or Apple Sign In.
-[Checkout the Authentication section](/sdk/unity/onboard/authentication/intro) for more details on how to configure
+[Checkout the Ecosystem Wallet Setup section](/sdk/unity/wallets/ecosystem-wallet/setup) for more details on how to configure
+your project to connect to an Ecosytem of your choice.
+
+
+
+
+
+```csharp
+BoilerplateFactory.OpenEcosystemWalletLoginWindow(parent);
+```
+
+
+ **parent (Transform)**
+
+ Transform inside of a Canvas object.
+
+
+### Profile
+
+Create the `EcosystemWalletProfile` prefab to sign messages, add more sessions and view wallet details.
+
+
+
+
+
+```csharp
+BoilerplateFactory.OpenEcosystemWalletProfile(parent, wallet);
+```
+
+
+ **parent (Transform)**
+
+ Transform inside of a Canvas object.
+
+ **wallet (EcosystemWallet.IWallet)**
+
+ The Ecosystem Wallet instance.
+
+
+### Transactions
+
+Create the `EcosystemWalletTransactions` prefab to test sending transactions with pre-configured permissions.
+
+
+
+
+
+```csharp
+BoilerplateFactory.OpenEcosystemWalletTransactions(parent, wallet);
+```
+
+
+ **parent (Transform)**
+
+ Transform inside of a Canvas object.
+
+ **wallet (EcosystemWallet.IWallet)**
+
+ The Ecosystem Wallet instance.
+
+
+## Embedded Wallet
+
+
+ Embedded Wallet Boilerplates use Arbitrum Sepolia by default. Do the following to switch them to your preferred
+ chain `EmbeddedWalletAdapter.GetInstance().Chain = Chain.TestnetPolygonAmoy;`
+
+
+### Login Window
+
+Create the `EmbeddedWalletLoginWindow` prefab to authenticate users as a Guest, with Email OTP, Google- or Apple Sign In.
+
+[Checkout the Authentication section](/sdk/unity/wallets/embedded-wallet/onboard/authentication/intro) for more details on how to configure
your project for each login option.
@@ -28,7 +98,7 @@ your project for each login option.
```csharp
-BoilerplateFactory.OpenSequenceLoginWindow(parent);
+BoilerplateFactory.OpenEmbeddedWalletLoginWindow(parent);
```
@@ -37,7 +107,7 @@ BoilerplateFactory.OpenSequenceLoginWindow(parent);
Transform inside of a Canvas object.
-## In-Game Shop
+### In-Game Shop
Accelerate your game growth by selling items directly to your players. Create the `SequencePlayerProfile` prefab to
show an In-Game Shop that utilizes game items from a ERC1155 contract, which users purchase using any custom or
@@ -50,7 +120,7 @@ existing ERC20 currency.
```csharp
-BoilerplateFactory.OpenSequenceLoginWindow(parent, wallet, chain, collectionAddress, saleContractAddress, itemsForSale, onClose);
+BoilerplateFactory.OpenSequenceInGameShop(parent, wallet, chain, collectionAddress, saleContractAddress, itemsForSale, onClose);
```
@@ -83,7 +153,7 @@ BoilerplateFactory.OpenSequenceLoginWindow(parent, wallet, chain, collectionAddr
Optional. Callback when the user closes this window.
-## Daily Rewards
+### Daily Rewards
Reward users with NFTs or Collectibles for playing your game for consecutive days. Deploy our server boilerplate
which performs the mint transaction whenever they claim their reward.
@@ -120,7 +190,7 @@ BoilerplateFactory.OpenSequenceDailyRewards(parent, wallet, chain, apiUrl, onClo
Optional. Callback when the user closes this window.
-## Player Profile
+### Player Profile
Create the `SequencePlayerProfile` prefab to manage your current profile. This includes functionalities such as Sign Out,
linking external wallets, sending native tokens, and QR code to receive funds.
@@ -151,7 +221,7 @@ BoilerplateFactory.OpenSequencePlayerProfile(parent, wallet, chain, onClose);
Optional. Callback when the user closes this window.
-## Inventory
+### Inventory
Create the `SequenceInventory` prefab to show all items owned by a user from any ERC1155 or ERC721 contract.
@@ -185,7 +255,7 @@ BoilerplateFactory.OpenSequenceInventory(parent, wallet, chain, collections, onC
Optional. Callback when the user closes this window.
-## Sign Messages
+### Sign Messages
Create the `SequenceSignMessage` prefab to show a modal that lets you sign a specified text.
diff --git a/sdk/unity/ecosystem-wallet/setup.mdx b/sdk/unity/ecosystem-wallet/setup.mdx
deleted file mode 100644
index 8e4ef5d3..00000000
--- a/sdk/unity/ecosystem-wallet/setup.mdx
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: "Unity Ecosystem Wallet Setup"
-description: Ecosystem Wallet Documentation for Sequence's Unity SDK.
-sidebarTitle: Setup
----
-
-### Configure your Ecosystem
-
-First, download [v5 from the SDK's GitHub Releases](https://github.com/0xsequence/sequence-unity/releases/tag/v5-beta)
-to access Ecosystem Wallets. You can download it as a `.unitypackage` file and simply add it to your Unity project.
-
-Create a SequenceConfig file by [following our Quickstart guide](/sdk/unity/quickstart) or simply create a new file in Unity via `Create` > `Sequence` > `SequenceConfig`
-
-Next, fill in the required fields:
-
-- **Builder API Key:** Your Project Access Key from your [Builder project.](https://sequence.build/)
-- **Wallet App Url:** The URL of the Ecosystem you want to connect to. If you are unsure, use `https://v3.sequence-dev.app` as a default.
-
-### Try our Built-In Demo
-
-Import the `Ecosystem Wallet Demo` sample from Unity's Package Manager. Additionally, checkout our boilerplate
-script `SequenceEcosystemWalletWindow` for integration details.
-
-If you have installed the SDK as a `.unitypackage` file, please locate the Demo scene inside
-Unity's `Project` window under `Packages > Sequence Embedded Wallet SDK > Sequence > Samples > Demo`
-
-
-
-
-
-
-
-
diff --git a/sdk/unity/power/contract-events.mdx b/sdk/unity/indexer/contract-events.mdx
similarity index 100%
rename from sdk/unity/power/contract-events.mdx
rename to sdk/unity/indexer/contract-events.mdx
diff --git a/sdk/unity/power/read-from-blockchain.mdx b/sdk/unity/indexer/read-from-blockchain.mdx
similarity index 100%
rename from sdk/unity/power/read-from-blockchain.mdx
rename to sdk/unity/indexer/read-from-blockchain.mdx
diff --git a/sdk/unity/monetization/checkout-ui.mdx b/sdk/unity/monetization/checkout-ui.mdx
index 951fde0a..650ac90e 100644
--- a/sdk/unity/monetization/checkout-ui.mdx
+++ b/sdk/unity/monetization/checkout-ui.mdx
@@ -6,7 +6,7 @@ The SDK comes with a default Checkout UI that we recommend starting with and cus
## Working with the Built-in Checkout UI
-We've provided a `CheckoutPanel` as part of our Boilerplates assembly. As with the rest of the boilerplates, these are accessed via our `BoilerplatesFactory`, see [Bootstrap Your Game](/sdk/unity/bootstrap_game) for more info.
+We've provided a `CheckoutPanel` as part of our Boilerplates assembly. As with the rest of the boilerplates, these are accessed via our `BoilerplatesFactory`, see [Bootstrap Your Game](/sdk/unity/bootstrap) for more info.
In short, with the `CheckoutPanel` prefab located at `Assets/**/Resources/Checkout/CheckoutPanel`, you can easily open the `CheckoutPanel` using the `BoilerplateFactory`:
diff --git a/sdk/unity/monetization/secondary-sales/creating-listings.mdx b/sdk/unity/monetization/secondary-sales/creating-listings.mdx
index dfff61b4..827d9bb5 100644
--- a/sdk/unity/monetization/secondary-sales/creating-listings.mdx
+++ b/sdk/unity/monetization/secondary-sales/creating-listings.mdx
@@ -2,7 +2,7 @@
title: Creating Listings
---
-In order to allow your users to create listings to populate your marketplace, you'll first want to [read from the blockchain](/sdk/unity/power/read-from-blockchain) to determine your users' token balances. Once you've retrieved your users' token balances, you'll likely want to display them to the user in your UI.
+In order to allow your users to create listings to populate your marketplace, you'll first want to [read from the blockchain](/sdk/unity/indexer/read-from-blockchain) to determine your users' token balances. Once you've retrieved your users' token balances, you'll likely want to display them to the user in your UI.
Once your user has selected the collectible, amount, and price they'd like to list for sale, you'll want to create the listing.
diff --git a/sdk/unity/monetization/secondary-sales/how-it-works/reading-orders.mdx b/sdk/unity/monetization/secondary-sales/how-it-works/reading-orders.mdx
index 2d0c069d..b62f8923 100644
--- a/sdk/unity/monetization/secondary-sales/how-it-works/reading-orders.mdx
+++ b/sdk/unity/monetization/secondary-sales/how-it-works/reading-orders.mdx
@@ -86,7 +86,7 @@ IMarketplaceReader reader = new MarketplaceReader(_chain);
CollectibleOrder[] purchasableListings = await reader.ListAllPurchasableListings(userWalletAddress, collectionContractAddress);
```
-This method will handle pagination for you, continuing to make requests until all `CollectibleOrder`s have been fetched. Be careful to use it on collections with a small amount of listings (as with other helper methods that handle pagination for you) so that you do not use too much memory. This method's implementation can also serve as an example for how you can work with the [Indexer](/sdk/unity/power/read-from-blockchain) in conjunction with the peer to peer marketplaces.
+This method will handle pagination for you, continuing to make requests until all `CollectibleOrder`s have been fetched. Be careful to use it on collections with a small amount of listings (as with other helper methods that handle pagination for you) so that you do not use too much memory. This method's implementation can also serve as an example for how you can work with the [Indexer](/sdk/unity/indexer/read-from-blockchain) in conjunction with the peer to peer marketplaces.
### Fetching Offers
diff --git a/sdk/unity/quickstart.mdx b/sdk/unity/quickstart.mdx
deleted file mode 100644
index 66cf5c94..00000000
--- a/sdk/unity/quickstart.mdx
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: "Quickstart"
-description: Quickstart Documentation for Sequence's Unity SDK.
----
-
-
-
-Install the latest version of Sequence's Unity SDK from [OpenUPM](/sdk/unity/installation#openupm),
-or use [Unity's Package Manager UI](/sdk/unity/installation#or-using-package-manager-ui)
-and use the following Git URL `https://github.com/0xsequence/sequence-unity.git?path=/Packages/Sequence-Unity`
-
-
-
- Sign in and create a project on [Sequence Builder](https://sequence.build).
-
- Download your config file from Builder as shown below.
-
-
-
-
- Place this file in the root of a `Resources` folder.
-
-
- Start by checking if a wallet session is available from storage:
-
- ```csharp
- bool recovered = await EmbeddedWalletAdapter.GetInstance().TryRecoverWalletFromStorage();
- ```
-
- If that returns `false` you should ask the user to sign. Import the `Setup` Sample from the Package Manager UI
- which will place a set of boilerplates into your project in a `Resources/` directory.
- Create the [Login Boilerplate](/sdk/unity/bootstrap_game#login) to send a one-time password to the specified email address.
-
- Once you’ve your first features integrated, you can continue with [additional login providers](/sdk/unity/onboard/authentication/intro)
- such as Google, Apple, or PlayFab.
-
- ```csharp
- BoilerplateFactory.OpenSequenceLoginWindow(parent);
- ```
-
-
-
-
-
-
- Sequence's Unity SDK includes a variety of [Boilerplates](/sdk/unity/bootstrap_game) to help you quickly start your game.
- Once everything is configured, you can create prefabs to display an Player Profile, Inventory, or In-Game Shop.
- Checkout [how to integrate a Player Profile.](/sdk/unity/bootstrap_game#player-profile)
-
- ```csharp
- BoilerplateFactory.OpenSequencePlayerProfile(parent, wallet, chain);
- ```
-
-
-
-
-
-
-
- Start with the `EmbeddedWalletAdapter` to quickstart your integration with a few one-liners and you are ready to go.
- When you want to customize your integration, checkout our other docs such as [authenticating users](/sdk/unity/onboard/authentication/intro) or [how to send transactions.](/sdk/unity/power/write-to-blockchain)
-
- ```csharp
- EmbeddedWalletAdapter adapter = EmbeddedWalletAdapter.GetInstance();
-
- // Recover your wallet from storage
- bool recovered = await adapter.TryRecoverWalletFromStorage();
-
- // Otherwise, create a new session via Google Sign-In
- bool successful = await adapter.GoogleLogin();
-
- // Next, let's send a transaction
- string recipientAddress = "0xabc123..";
- string currencyAddress = "0xabc123..";
- BigInteger amount = 1000;
-
- await adapter.SendToken(recipientAddress, amount, currencyAddress);
- ```
-
-
diff --git a/sdk/unity/setup.mdx b/sdk/unity/setup.mdx
deleted file mode 100644
index 72e0a953..00000000
--- a/sdk/unity/setup.mdx
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Setup
-description: Documentation for Unity SDK setup for the Sequence infrastructure stack for web3 gaming.
----
-
-# Setup
-1. [Configure your Embedded Wallet](/sdk/headless-wallet/quickstart) in the Sequence Builder
-2. Download the Unity configuration ScriptableObject `SequenceConfig.asset` from the Builder UI
-
-
-
-3. Place your newly downloaded `SequenceConfig.asset` ScriptableObject in the root of a Resources folder. It will be loaded using [Resources.Load](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Resources.Load.html). Double check your config values, namely:
-
- a) `Url Scheme` - You must replace this with a string that is unique to your application. This is very important. Failure to do so will cause unexpected behaviour when signing in with social sign in and it will not work.
-
- b) `StoreSessionPrivateKeyInSecureStorage` - Available on select platforms: we have integrated with the platform's native secure storage system. If enabled, we will store session wallet info (including the private key) in secure storage and automatically attempt to recover the session for the user after closing the app (so they won't need to login again). With this disabled (default) or on an unsupported platform, the session wallet's private keys never leave the application's runtime memory; however, your user will need to sign in again anytime they close the app. The default `SequenceLoginWindow` Boilerplate (see [Bootstrap your Game](/sdk/unity/bootstrap_game)) will handle this behaviour for you automatically, navigating to the appropriate page.
-
- c) `EnableMultipleAccountsPerEmail` - By default, the SDK will only allow users to create one account per email. The account is initially associated with the login method used (email + OTP, PlayFab, Google, etc.); the user can associate additional login methods with their account (more on this in the [Authentication section](/sdk/unity/onboard/authentication/federated-accounts)). If `EnableMultipleAccountsPerEmail` is enabled, users have the option to create multiple accounts per email address (associated with different login methods). While we have enabled this functionality, we, in general, feel this behaviour may be confusing to end-users and recommend integrators keep this option in the default disabled status.
-
-Before proceeding, please make sure you have properly configured the Embedded Wallet in the Builder. See this [guide](/solutions/builder/embedded-wallet/configuration).
-
-Please double check that you have copy and pasted the configuration keys from the Builder correctly! This is the most common issue reported when integrating our SDK. If you receive an "invalid tenant" response, you have messed up your configuration! See this [guide](/solutions/builder/embedded-wallet/configuration).
\ No newline at end of file
diff --git a/sdk/unity/sidekick.mdx b/sdk/unity/sidekick.mdx
deleted file mode 100644
index 7080f718..00000000
--- a/sdk/unity/sidekick.mdx
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: Sidekick
-description: How to set up and use Sequence Sidekick inside Unity
----
-
-# Summary
-
-Sequence Sidekick enables seamless interaction with blockchain functionality directly within the Unity Editor — no need to run the game or leave the Unity environment.
-
-Test blockchain features with wallets, contracts, and more — all from within Unity. For advanced usage and API details, check the full [Sequence Sidekick documentation](https://docs.sequence.xyz/solutions/infrastructure/sidekick/overview).
-
-## Prerequisites
-
-Before using the Unity integration, you need to install and configure the Sequence Sidekick service on your system. Follow the official guide here:
-
-**[Sequence Sidekick Setup Guide](https://docs.sequence.xyz/solutions/infrastructure/sidekick/overview)**
-
-This will walk you through downloading and launching Sidekick.
-
-## Unity Setup Instructions
-
-Once Sidekick is set up, follow these steps to integrate it with Unity:
-
-### 1. Create a SidekickConfig ScriptableObject
-
-In the Unity Editor:
-
-- Open the `Assets > Create > Sequence > SidekickConfig` menu.
-- Create a new `SidekickConfig` asset.
-- In the Inspector, set the path to your local Sidekick directory.
-
-This path tells the Unity integration how to launch the Sidekick service from the editor.
-
-### 2. Use the SequenceDev Tab
-
-After configuring the Sidekick path:
-
-- Open the `SequenceDev` tab in the Unity Editor toolbar.
-- You can **Start** and **Stop** the Sidekick service directly from here.
-
-This gives you full control of the Sidekick runtime within the Unity environment.
-
-### 3. Add SidekickEditorController to Your Scene
-
-To begin interacting with the blockchain:
-
-- Add the `SidekickEditorController` script into any scene.
-- This component enables communication between Unity and the Sidekick backend.
-
-> You do **not** need to enter Play mode to use Sidekick features.
-
-
diff --git a/sdk/unity/v2-to-v3-upgrade-guide.mdx b/sdk/unity/v2-to-v3-upgrade-guide.mdx
deleted file mode 100644
index 582957d5..00000000
--- a/sdk/unity/v2-to-v3-upgrade-guide.mdx
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Upgrading from v2 to v3
----
-
-## Installation
-
-If you've installed via Package Manager using the git url, please perform the following:
-
-1. Remove Sequence-Unity package
-2. Re-install using `https://github.com/0xsequence/sequence-unity.git?path=/Packages/Sequence-Unity` as the link
-
-## Resolving Compile Errors
-
-1. Delete `Samples/Sequence WaaS SDK/version/Setup/Editor` - this is now included in the SDK
-2. All namespaces (using statements) that contain `WaaS` have been replaced with `Sequence.EmbeddedWallet`
-
-For example, if you have
-```csharp
-using Sequence.WaaS;
-using Sequence.WaaS.Authentication;
-using SequenceSDK.WaaS;
-```
-Replace this with
-```csharp
-using Sequence.EmbeddedWallet;
-```
-3. `WaaSTransactionQueuer` -> `SequenceWalletTransactionQueuer`
-4. `WaaSWallet` -> `SequenceWallet`
-5. In general, any class, method, or event that contains `WaaS` in the name and gives you a compile error has had `WaaS` removed from its name (with the exception of the few previously mentioned classes)
- Examples:
- `OnWaaSWalletCreated` -> `OnWalletCreated`
- `WaaSSession` -> `Session`
- `EthWallet` -> `EOAWallet`
-6. For any existing `LoginPanel` instances
-
- a. Attach the `WaaSSessionManager` prefab (as Session Manager Prefab) under `Sequence > SequenceSDK > EmbeddedWallet > WaaSSessionManager` (if it isn’t already there)
-
- b. Attach the `FederatedAuthPopupPanel` prefab under `Sequence > SequenceFrontend > Prefabs`
diff --git a/sdk/unity/ecosystem-wallet/authentication.mdx b/sdk/unity/wallets/ecosystem-wallet/authentication.mdx
similarity index 88%
rename from sdk/unity/ecosystem-wallet/authentication.mdx
rename to sdk/unity/wallets/ecosystem-wallet/authentication.mdx
index caee65e7..82725fd6 100644
--- a/sdk/unity/ecosystem-wallet/authentication.mdx
+++ b/sdk/unity/wallets/ecosystem-wallet/authentication.mdx
@@ -8,7 +8,7 @@ Start with an implicit session which is restricted to contracts built by Sequenc
Alternatively, you can choose to add a `IPermissions` object to each Sign In call, if you want to connect to an
explicit session directly.
-[Learn how to construct permissions.](/sdk/unity/ecosystem-wallet/permissions)
+[Learn how to construct permissions.](/sdk/unity/wallets/ecosystem-wallet/permissions)
### Recover wallet from storage
diff --git a/sdk/unity/ecosystem-wallet/blockchain.mdx b/sdk/unity/wallets/ecosystem-wallet/blockchain-interactions.mdx
similarity index 100%
rename from sdk/unity/ecosystem-wallet/blockchain.mdx
rename to sdk/unity/wallets/ecosystem-wallet/blockchain-interactions.mdx
diff --git a/sdk/unity/ecosystem-wallet/manage-sessions.mdx b/sdk/unity/wallets/ecosystem-wallet/manage-sessions.mdx
similarity index 91%
rename from sdk/unity/ecosystem-wallet/manage-sessions.mdx
rename to sdk/unity/wallets/ecosystem-wallet/manage-sessions.mdx
index 88640195..dcd88179 100644
--- a/sdk/unity/ecosystem-wallet/manage-sessions.mdx
+++ b/sdk/unity/wallets/ecosystem-wallet/manage-sessions.mdx
@@ -9,7 +9,7 @@ sidebarTitle: Manage Sessions
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`.
-[Learn how to construct permissions.](/sdk/unity/ecosystem-wallet/permissions)
+[Learn how to construct permissions.](/sdk/unity/wallets/ecosystem-wallet/permissions)
```csharp
Address contractAddress = new Address("0x33985d320809E26274a72E03268c8a29927Bc6dA");
diff --git a/sdk/unity/ecosystem-wallet/permissions.mdx b/sdk/unity/wallets/ecosystem-wallet/permissions.mdx
similarity index 100%
rename from sdk/unity/ecosystem-wallet/permissions.mdx
rename to sdk/unity/wallets/ecosystem-wallet/permissions.mdx
diff --git a/sdk/unity/wallets/ecosystem-wallet/setup.mdx b/sdk/unity/wallets/ecosystem-wallet/setup.mdx
new file mode 100644
index 00000000..9846bb3c
--- /dev/null
+++ b/sdk/unity/wallets/ecosystem-wallet/setup.mdx
@@ -0,0 +1,36 @@
+---
+title: "Unity SDK Setup for Ecosystem Wallets"
+description: Ecosystem Wallet Documentation for Sequence's Unity SDK.
+sidebarTitle: Setup
+---
+
+
+
+ Sign in and create a project on [Sequence Builder](https://sequence.build).
+
+ Download your config file from Builder as shown below.
+
+
+
+
+ Make sure you have the required fields:
+
+ - **Builder API Key:** Your Project Access Key from your [Builder project.](https://sequence.build/)
+ - **Wallet App Url:** The URL of the Ecosystem you want to connect to. If you are unsure, use `https://v3.sequence-dev.app` as a default.
+
+
+ Import the `Ecosystem Wallet Demo` sample from Unity's Package Manager. Additionally, checkout our boilerplate
+ script `SequenceEcosystemWalletWindow` for integration details.
+
+ If you have installed the SDK as a `.unitypackage` file, please locate the Demo scene inside
+ Unity's `Project` window under `Packages > Sequence Embedded Wallet SDK > Sequence > Samples > Demo`
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/unity/power/write-to-blockchain.mdx b/sdk/unity/wallets/embedded-wallet/blockchain-interactions.mdx
similarity index 97%
rename from sdk/unity/power/write-to-blockchain.mdx
rename to sdk/unity/wallets/embedded-wallet/blockchain-interactions.mdx
index a1ed7ea0..095c45f3 100644
--- a/sdk/unity/power/write-to-blockchain.mdx
+++ b/sdk/unity/wallets/embedded-wallet/blockchain-interactions.mdx
@@ -1,10 +1,8 @@
---
-title: Write to Blockchain
+title: Blockchain Interactions
description: The content provides detailed instructions on writing to a blockchain using the Sequence SDK. It explains how to handle transactions asynchronously, including raw transactions, ERC20, ERC721, and ERC1155 token transfers, as well as smart contract interactions.
---
-# Write to Blockchain
-
The blockchain can be thought of as a general-purpose, publically viewable and verified, database. To write to a blockchain, similar to with a typical database, you must make a transaction.
Typically, creating a blockchain transaction is rather complex, but Embedded Wallet handles that complexity for you and exposes 5 types of `Transactions`.
@@ -238,7 +236,7 @@ Transaction[] transactions = new Transaction[]
FeeOptionsResponse response = await _wallet.GetFeeOptions(chain, transactions);
```
-The `FeeOptionsResponse` contains a FeeQuote (string) that locks in the price for each `FeeOptionReturn` in the FeeOptions array that is returned for a limited time; you'll need this in a moment when submitting your transactions. For your convenience, the SDK will automatically query the user's wallet to see which of the FeeOptions the user can afford using the [Indexer](/sdk/unity/power/read-from-blockchain).
+The `FeeOptionsResponse` contains a FeeQuote (string) that locks in the price for each `FeeOptionReturn` in the FeeOptions array that is returned for a limited time; you'll need this in a moment when submitting your transactions. For your convenience, the SDK will automatically query the user's wallet to see which of the FeeOptions the user can afford using the [Indexer](/sdk/unity/indexer/read-from-blockchain).
From here, you can display a UI to the user to allow them to select how they would like to pay the fee for their transactions.
@@ -275,7 +273,7 @@ private async Task WaitForFeeOptionsAndSubmitFirstAvailable(Address toAddress, s
## Transaction Queuers
-When working with the blockchain, it is important to [batch transactions](/sdk/unity/power/write-to-blockchain#batch-transactions) in order to minimize gas fees. In order to make this easier to do, we've provided a flexible `TransactionQueuer` with the SDK that can be configured or extended to suit your needs. To learn more about Building Transaction Heavy Games in Unity and what to consider, please checkout [our guide on the topic](/guides/building-transaction-heavy-games-with-unity).
+When working with the blockchain, it is important to [batch transactions](/sdk/unity/wallets/embedded-wallet/blockchain-interactions#batch-transactions) in order to minimize gas fees. In order to make this easier to do, we've provided a flexible `TransactionQueuer` with the SDK that can be configured or extended to suit your needs. To learn more about Building Transaction Heavy Games in Unity and what to consider, please checkout [our guide on the topic](/guides/building-transaction-heavy-games-with-unity).
When you add a `TransactionQueuer` MonoBehaviour to your scene, there are a few config variables you can set.
diff --git a/sdk/unity/onboard/connecting-external-wallets.mdx b/sdk/unity/wallets/embedded-wallet/connecting-external-wallets.mdx
similarity index 100%
rename from sdk/unity/onboard/connecting-external-wallets.mdx
rename to sdk/unity/wallets/embedded-wallet/connecting-external-wallets.mdx
diff --git a/sdk/unity/onboard/authentication/email.mdx b/sdk/unity/wallets/embedded-wallet/onboard/authentication/email.mdx
similarity index 94%
rename from sdk/unity/onboard/authentication/email.mdx
rename to sdk/unity/wallets/embedded-wallet/onboard/authentication/email.mdx
index c555902c..bed90146 100644
--- a/sdk/unity/onboard/authentication/email.mdx
+++ b/sdk/unity/wallets/embedded-wallet/onboard/authentication/email.mdx
@@ -6,7 +6,7 @@ Available on all platforms, email sign in provides the user with a One-Time-Pass
First, you'll want to [enable email sign in for your project in the builder](/solutions/builder/embedded-wallet/configuration).
-If you're using the built-in [SequenceLoginWindow](/sdk/unity/bootstrap_game#login), the UI will manage email + OTP sign in for you automatically.
+If you're using the built-in [SequenceLoginWindow](/sdk/unity/bootstrap#login), the UI will manage email + OTP sign in for you automatically.
Don't forget to subscribe to the `SequenceWallet.OnWalletCreated` event to receive your newly created wallet!
diff --git a/sdk/unity/onboard/authentication/federated-accounts.mdx b/sdk/unity/wallets/embedded-wallet/onboard/authentication/federated-accounts.mdx
similarity index 93%
rename from sdk/unity/onboard/authentication/federated-accounts.mdx
rename to sdk/unity/wallets/embedded-wallet/onboard/authentication/federated-accounts.mdx
index fb965100..0b676485 100644
--- a/sdk/unity/onboard/authentication/federated-accounts.mdx
+++ b/sdk/unity/wallets/embedded-wallet/onboard/authentication/federated-accounts.mdx
@@ -6,7 +6,7 @@ By default, the WaaS API only allows one account per email. If a user attempts t
For example: if the user created their account using Google Sign In and then attempts to sign in with Email + OTP using the same method, they will receive this error.
-By default (if using the default `SequenceLoginWindow`), the SDK will automatically open the `FederatedAuthPopupPanel` prefab located at `SequenceFrontend > Prefabs > FederatedAuthPopupPanel`. This prefab can be customized to your linking or replaced in the [SequenceLoginWindow](/sdk/unity/bootstrap_game#login) prefab. This panel will explain to the user that duplicate login methods are not allowed and prompt them to return to the login screen and sign in with their associated login method (or a different email altogether).
+By default (if using the default `SequenceLoginWindow`), the SDK will automatically open the `FederatedAuthPopupPanel` prefab located at `SequenceFrontend > Prefabs > FederatedAuthPopupPanel`. This prefab can be customized to your linking or replaced in the [SequenceLoginWindow](/sdk/unity/bootstrap#login) prefab. This panel will explain to the user that duplicate login methods are not allowed and prompt them to return to the login screen and sign in with their associated login method (or a different email altogether).
If `EnableMultipleAccountsPerEmail` is enabled in `SequenceConfig` the `FederatedAuthPopupPanel` will give the user the option to create another account associated with their email.
diff --git a/sdk/unity/onboard/authentication/guest.mdx b/sdk/unity/wallets/embedded-wallet/onboard/authentication/guest.mdx
similarity index 74%
rename from sdk/unity/onboard/authentication/guest.mdx
rename to sdk/unity/wallets/embedded-wallet/onboard/authentication/guest.mdx
index 76827b53..c37a6fe2 100644
--- a/sdk/unity/onboard/authentication/guest.mdx
+++ b/sdk/unity/wallets/embedded-wallet/onboard/authentication/guest.mdx
@@ -12,6 +12,6 @@ SequenceLogin login = SequenceLogin.GetInstance();
login.GuestLogin();
```
-Reminder: since guest login users have no persisting credentials, when the session ends, the user will be unable to access their embedded wallet again. Before ending the session, be sure to prompt the user to [federate their account](/sdk/unity/onboard/authentication/federated-accounts) and associate a login method + credentials with it for subsequent sessions!
+Reminder: since guest login users have no persisting credentials, when the session ends, the user will be unable to access their embedded wallet again. Before ending the session, be sure to prompt the user to [federate their account](/sdk/unity/wallets/embedded-wallet/onboard/authentication/federated-accounts) and associate a login method + credentials with it for subsequent sessions!
Don't forget to subscribe to the `SequenceWallet.OnWalletCreated` event to receive your newly created wallet!
\ No newline at end of file
diff --git a/sdk/unity/onboard/authentication/intro.mdx b/sdk/unity/wallets/embedded-wallet/onboard/authentication/intro.mdx
similarity index 83%
rename from sdk/unity/onboard/authentication/intro.mdx
rename to sdk/unity/wallets/embedded-wallet/onboard/authentication/intro.mdx
index 17598977..12fe8be8 100644
--- a/sdk/unity/onboard/authentication/intro.mdx
+++ b/sdk/unity/wallets/embedded-wallet/onboard/authentication/intro.mdx
@@ -2,20 +2,20 @@
As an Embedded Wallet SDK, authentication is extremely important. Authentication works by establishing a session signing wallet through association with user credentials. For more on how our Embedded Wallet works, please [see Embedded Wallet docs](/solutions/wallets/developers/embedded-wallet/overview).
-To implement authentication, we recommend using our [SequenceLoginWindow](/sdk/unity/bootstrap_game#login) boilerplate.
+To implement authentication, we recommend using our [SequenceLoginWindow](/sdk/unity/bootstrap#login) boilerplate.
We recommend having the `Canvas Scaler` component attached to your `Canvas` use the "Scale with Screen Size" UI Scale Mode. This will make it so that the login window (and any other UI elements under this Canvas) are scaled automatically when switching between build targets.
This will provide you easy access to two authentication methods:
-1. [Email + OTP Sign In](/sdk/unity/onboard/authentication/email)
+1. [Email + OTP Sign In](/sdk/unity/wallets/embedded-wallet/onboard/authentication/email)
-2. [OIDC-based Social Sign In](/sdk/unity/onboard/authentication/oidc)
+2. [OIDC-based Social Sign In](/sdk/unity/wallets/embedded-wallet/onboard/authentication/oidc)
The SDK also provides support for:
-3. [PlayFab Sign In](/sdk/unity/onboard/authentication/playfab)
+3. [PlayFab Sign In](/sdk/unity/wallets/embedded-wallet/onboard/authentication/playfab)
-4. [Guest Sign In](/sdk/unity/onboard/authentication/guest)
+4. [Guest Sign In](/sdk/unity/wallets/embedded-wallet/onboard/authentication/guest)
## Retrieving the `SequenceWallet`
diff --git a/sdk/unity/onboard/authentication/oidc.mdx b/sdk/unity/wallets/embedded-wallet/onboard/authentication/oidc.mdx
similarity index 100%
rename from sdk/unity/onboard/authentication/oidc.mdx
rename to sdk/unity/wallets/embedded-wallet/onboard/authentication/oidc.mdx
diff --git a/sdk/unity/onboard/authentication/playfab.mdx b/sdk/unity/wallets/embedded-wallet/onboard/authentication/playfab.mdx
similarity index 100%
rename from sdk/unity/onboard/authentication/playfab.mdx
rename to sdk/unity/wallets/embedded-wallet/onboard/authentication/playfab.mdx
diff --git a/sdk/unity/onboard/wallet-types.mdx b/sdk/unity/wallets/embedded-wallet/onboard/wallet-types.mdx
similarity index 100%
rename from sdk/unity/onboard/wallet-types.mdx
rename to sdk/unity/wallets/embedded-wallet/onboard/wallet-types.mdx
diff --git a/sdk/unity/wallets/embedded-wallet/recovering-sessions.mdx b/sdk/unity/wallets/embedded-wallet/recovering-sessions.mdx
new file mode 100644
index 00000000..afc9a67d
--- /dev/null
+++ b/sdk/unity/wallets/embedded-wallet/recovering-sessions.mdx
@@ -0,0 +1,28 @@
+---
+title: Recover Embedded Wallet Sessions
+sidebarTitle: Recovering Sessions
+---
+
+Once you've authenticated your user with the Sequence APIs and established a session, there are a number of methods available to you to manage the session.
+
+## Setup
+
+If you enable `StoreSessionPrivateKeyInSecureStorage` in your `SequenceConfig` ScriptableObject, we will automatically store the session wallet information for you (on supported platforms) and expose the ability to attempt to recover the session in `SequenceLogin`. The default `SequenceLoginWindow` will automatically handle the UI flow for this as well (see [Authentication](/sdk/unity/wallets/embedded-wallet/onboard/authentication/intro)). If the platform is not supported, this flag will have no effect.
+
+Read our [Recovering Sessions](/sdk/unity/advanced/recovering-sessions) page for more details on what platforms tools we use to securely store player details.
+
+## Integration
+
+You have two options to recover a wallet from storage. First is to use the `EmbeddedWalletAdapter` class. If this call succeeds, the `EmbeddedWalletAdapter` contains the Wallet instance.
+
+```csharp
+bool recovered = await EmbeddedWalletAdapter.GetInstance().TryRecoverWalletFromStorage();
+```
+
+Otherwise, use the underlying `SequenceLogin` class.
+
+```csharp
+(bool storageEnabled, IWallet wallet) = await SequenceLogin.GetInstance().TryToRestoreSessionAsync();
+```
+
+In both cases, you can listen to the `SequenceWallet.OnWalletCreated` event whenever a wallet was recovered from storage or created during the sign-in process.
diff --git a/sdk/unity/onboard/session-management.mdx b/sdk/unity/wallets/embedded-wallet/session-management.mdx
similarity index 91%
rename from sdk/unity/onboard/session-management.mdx
rename to sdk/unity/wallets/embedded-wallet/session-management.mdx
index 734d102d..c019f4dc 100644
--- a/sdk/unity/onboard/session-management.mdx
+++ b/sdk/unity/wallets/embedded-wallet/session-management.mdx
@@ -1,5 +1,6 @@
---
-title: Session Management
+title: Unity Session Management — Sequence Docs
+sidebarTitle: Session Management
---
Once you've authenticated your user with the Sequence APIs and established a session, there are a number of methods available to you to manage the session.
diff --git a/sdk/unity/wallets/embedded-wallet/setup.mdx b/sdk/unity/wallets/embedded-wallet/setup.mdx
new file mode 100644
index 00000000..be6cea4b
--- /dev/null
+++ b/sdk/unity/wallets/embedded-wallet/setup.mdx
@@ -0,0 +1,95 @@
+---
+title: "Unity SDK Setup for Embedded Wallets"
+description: Documentation for Unity SDK setup for the Sequence infrastructure stack for web3 gaming.
+sidebarTitle: "Setup"
+---
+
+
+
+ [Configure your Embedded Wallet](/sdk/headless-wallet/quickstart) in the Sequence Builder
+
+
+ Install the latest version of Sequence's Unity SDK from [OpenUPM](/sdk/unity/installation#openupm),
+ or use [Unity's Package Manager UI](/sdk/unity/installation#or-using-package-manager-ui)
+ and use the following Git URL `https://github.com/0xsequence/sequence-unity.git?path=/Packages/Sequence-Unity`
+
+
+ Sign in and create a project on [Sequence Builder](https://sequence.build).
+
+ Download your config file from Builder as shown below.
+
+
+
+
+ Place this file in the root of a `Resources` folder.
+
+
+ Start by checking if a wallet session is available from storage:
+
+ ```csharp
+ bool recovered = await EmbeddedWalletAdapter.GetInstance().TryRecoverWalletFromStorage();
+ ```
+
+ If that returns `false` you should ask the user to sign. Import the `Setup` Sample from the Package Manager UI
+ which will place a set of boilerplates into your project in a `Resources/` directory.
+ Create the [Login Boilerplate](/sdk/unity/bootstrap) to send a one-time password to the specified email address.
+
+ Once you’ve your first features integrated, you can continue with [additional login providers](/sdk/unity/wallets/embedded-wallet/onboard/authentication/intro)
+ such as Google, Apple, or PlayFab.
+
+ ```csharp
+ BoilerplateFactory.OpenSequenceLoginWindow(parent);
+ ```
+
+
+
+
+
+
+ Sequence's Unity SDK includes a variety of [Boilerplates](/sdk/unity/bootstrap) to help you quickly start your game.
+ Once everything is configured, you can create prefabs to display an Player Profile, Inventory, or In-Game Shop.
+ Checkout [how to integrate a Player Profile.](/sdk/unity/bootstrap)
+
+ ```csharp
+ BoilerplateFactory.OpenSequencePlayerProfile(parent, wallet, chain);
+ ```
+
+
+
+
+
+
+
+ Start with the `EmbeddedWalletAdapter` to quickstart your integration with a few one-liners and you are ready to go.
+ When you want to customize your integration, checkout our other docs such as [authenticating users](/sdk/unity/wallets/embedded-wallet/onboard/authentication/intro) or [how to send transactions.](/sdk/unity/wallets/embedded-wallet/blockchain-interactions)
+
+ ```csharp
+ EmbeddedWalletAdapter adapter = EmbeddedWalletAdapter.GetInstance();
+
+ // Recover your wallet from storage
+ bool recovered = await adapter.TryRecoverWalletFromStorage();
+
+ // Otherwise, create a new session via Google Sign-In
+ bool successful = await adapter.GoogleLogin();
+
+ // Next, let's send a transaction
+ string recipientAddress = "0xabc123..";
+ string currencyAddress = "0xabc123..";
+ BigInteger amount = 1000;
+
+ await adapter.SendToken(recipientAddress, amount, currencyAddress);
+ ```
+
+
+
+## Configuration Parameters
+
+`Url Scheme` - You must replace this with a string that is unique to your application. This is very important. Failure to do so will cause unexpected behaviour when signing in with social sign in and it will not work.
+
+`StoreSessionPrivateKeyInSecureStorage` - Available on select platforms: we have integrated with the platform's native secure storage system. If enabled, we will store session wallet info (including the private key) in secure storage and automatically attempt to recover the session for the user after closing the app (so they won't need to login again). With this disabled (default) or on an unsupported platform, the session wallet's private keys never leave the application's runtime memory; however, your user will need to sign in again anytime they close the app. The default `SequenceLoginWindow` Boilerplate (see [Bootstrap your Game](/sdk/unity/bootstrap)) will handle this behaviour for you automatically, navigating to the appropriate page.
+
+`EnableMultipleAccountsPerEmail` - By default, the SDK will only allow users to create one account per email. The account is initially associated with the login method used (email + OTP, PlayFab, Google, etc.); the user can associate additional login methods with their account (more on this in the [Authentication section](/sdk/unity/wallets/embedded-wallet/onboard/authentication/federated-accounts)). If `EnableMultipleAccountsPerEmail` is enabled, users have the option to create multiple accounts per email address (associated with different login methods). While we have enabled this functionality, we, in general, feel this behaviour may be confusing to end-users and recommend integrators keep this option in the default disabled status.
+
+Before proceeding, please make sure you have properly configured the Embedded Wallet in the Builder. See this [guide](/solutions/builder/embedded-wallet/configuration).
+
+Please double check that you have copy and pasted the configuration keys from the Builder correctly! This is the most common issue reported when integrating our SDK. If you receive an "invalid tenant" response, you have messed up your configuration! See this [guide](/solutions/builder/embedded-wallet/configuration).
\ No newline at end of file
diff --git a/sdk/unity/power/sign-messages.mdx b/sdk/unity/wallets/embedded-wallet/sign-messages.mdx
similarity index 100%
rename from sdk/unity/power/sign-messages.mdx
rename to sdk/unity/wallets/embedded-wallet/sign-messages.mdx
diff --git a/sdk/unreal/migration.mdx b/sdk/unreal/advanced/migration.mdx
similarity index 64%
rename from sdk/unreal/migration.mdx
rename to sdk/unreal/advanced/migration.mdx
index 20fb071c..f98317a1 100644
--- a/sdk/unreal/migration.mdx
+++ b/sdk/unreal/advanced/migration.mdx
@@ -1,7 +1,31 @@
---
-title: "Migrate from v1 to v2"
+title: "Migrate from a previous Major Version"
+sidebarTitle: Version Migration
---
+## From v2 to v3
+
+### Unreal Engine Version
+
+Starting with v3, we are not supporting Unreal Engine 5.2 and 5.3 any longer. Please update to Unreal Engine 5.4 or later.
+
+### SequenceWallet class
+
+When you used the `SequenceWallet` (C++) or `SequenceWalletBP` (Blueprint) classes in 2.x.x, those referred to our Embedded Wallet Architecture.
+If you’re using version 3, use the `SequenceEmbeddedWallet` (C++) and `SequenceEmbeddedWalletBP` (Blueprints) classes instead.
+`SequenceWallet` classes now refer to our Ecosystem Wallet architecture.
+
+### Large Numbers (BigInteger)
+
+When defining values such as tokenId, amount, or chainId, they were previously referenced as `uint64`.
+This imposed a limitation, because uint64 cannot represent the full range of `uint256` values used in blockchain interactions.
+
+We have now replaced all BigInteger references with string types. Please update your code and Blueprints to reflect this change.
+
+If you need to perform mathematical operations on BigIntegers, use our `FBigInt.h` class in C++.
+
+## From v1 to v2
+
Sequence Unreal SDK v2 adds a lot structural improvements. Here is everything you need to know on how to migrate
from a previous 1.x.x version. If you have any questions or concerns, please reach out to us.
@@ -17,7 +41,7 @@ We have removed support for the old Sign In Widget and its Pawn dependency.
If you have previously used the `BP_CustomSpectatorPawn`, `GM_Sequence` or any of the widgets, make sure to save your files in your project directory,
because the SDK no longer includes these files, and you will lose any changes you made.
-- For an integrated Login UI, switch to our [Login Boilerplate](/sdk/unreal/bootstrap_game#login)
+- For an integrated Login UI, switch to our [Login Boilerplate](/sdk/unreal/bootstrap#login)
- Remove all references in your pawn that uses the `SequenceAuthenticator` and `SequenceBackendManager`.
- Make sure to exchange existing function calls to our Subsystems as mentioned in the next sections.
diff --git a/sdk/unreal/power/smart-contracts.mdx b/sdk/unreal/advanced/smart-contracts.mdx
similarity index 100%
rename from sdk/unreal/power/smart-contracts.mdx
rename to sdk/unreal/advanced/smart-contracts.mdx
diff --git a/sdk/unreal/bootstrap_game.mdx b/sdk/unreal/bootstrap.mdx
similarity index 71%
rename from sdk/unreal/bootstrap_game.mdx
rename to sdk/unreal/bootstrap.mdx
index c4eb1bd9..1d400c50 100644
--- a/sdk/unreal/bootstrap_game.mdx
+++ b/sdk/unreal/bootstrap.mdx
@@ -1,16 +1,56 @@
---
-
-title: "Unreal Game Bootstrap"
+title: "Bootstrap your Unreal Game"
description: Documentation for Unreal SDK API for reading from the blockchain with the Sequence infrastructure stack for web3 gaming.
+sidebarTitle: Bootstrap
---
Sequence's Unreal SDK includes a range of features to help you bootstrap your game.
You can create them as shown below or duplicate the `.uasset` files from the `Plugins/SequencePlugin Content/Samples/`
folder and customize them to fit your needs.
-## Login
+## Ecosystem Wallet
+
+### Login Window
+
+Create the `Ecosystem Wallet Login` widget to bootstrap your Ecosystem Wallet login integration.
+
+
+
+
+
+
+
+
+
+### Profile
+
+Create the `Ecosystem Wallet Profile` widget to bootstrap your login integration.
+
+
+
+
+
+
+
+
+
+### Transactions
+
+Create the `Ecosystem Wallet Transactions` widget to bootstrap your Embedded Wallet login integration.
+
+
+
+
+
+
+
+
+
+## Embedded Wallet
+
+### Login Window
-Create the `Sequence Login` widget to bootstrap your login integration.
+Create the `Embedded Wallet Login` widget to bootstrap your login integration.
@@ -20,7 +60,7 @@ Create the `Sequence Login` widget to bootstrap your login integration.
-## Inventory
+### Inventory
Create the `Sequence Inventory` widget to show all items owned by a user from any ERC1155 or ERC721 contract.
@@ -46,7 +86,7 @@ Create the `Sequence Inventory` widget to show all items owned by a user from an
The address of an ERC1155 or ERC721 contract where the specified wallet address owns items.
-## Primary Sale
+### Primary Sale
Accelerate your game growth by selling items directly to your players. Create the `Sequence Primary Sale` widget to show an In-Game Shop that utilizes game items
from a ERC1155 contract, which users purchase using any custom or existing ERC20 currency.
@@ -86,7 +126,7 @@ from a ERC1155 contract, which users purchase using any custom or existing ERC20
A list of token IDs (e.g. [0, 1, 2]) that you display in your user interface.
-## Player Profile
+### Player Profile
Create the `Sequence Profile` widget to display a QR code to receive funds or send funds to other wallets.
diff --git a/sdk/unreal/ecosystem-wallet/setup.mdx b/sdk/unreal/ecosystem-wallet/setup.mdx
deleted file mode 100644
index ba9e04d8..00000000
--- a/sdk/unreal/ecosystem-wallet/setup.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: "Unreal Ecosystem Wallet Setup"
-description: Ecosystem Wallet Documentation for Sequence's Unreal SDK.
-sidebarTitle: Setup
----
-
-### Configure your Ecosystem
-
-First, download [v3 from the SDK's GitHub Releases](https://github.com/0xsequence/sequence-unreal/releases/tag/v3.0.0-beta)
-to access Ecosystem Wallets. You can download one of the `.zip` files, depending on the Unreal Engine version you are using.
-
-Create a `SequenceConfig.init` file by [following our Quickstart guide](/sdk/unreal/getting_started)
-
-Next, fill in the required fields:
-
-- **ProjectAccessKey:** Your Project Access Key from your [Builder project.](https://sequence.build/)
-- **WalletAppUrl:** The URL of the Ecosystem you want to connect to. If you are unsure, use `https://v3.sequence-dev.app` as a default.
-
-
- If you used v1 or v2 of the Unreal SDK: `SequenceWallet` classes now refer to the Ecosystem Wallet. Use `SequenceEmbeddedWallet` instead, if you want to continue with your Embedded Wallet integration.
-
-
-### Try our Built-In Demo
-
-The Unreal SDK comes with a set of boilerplate widgets to get you started.
-Make sure to enable `Enable Plugin Content` in your Content Browser's settings.
-
-
-
-
diff --git a/sdk/unreal/getting_started.mdx b/sdk/unreal/getting_started.mdx
deleted file mode 100644
index ed1efdb7..00000000
--- a/sdk/unreal/getting_started.mdx
+++ /dev/null
@@ -1,54 +0,0 @@
----
-
-title: "Getting Started"
-description: Quickstart Documentation for Sequence's Unreal SDK.
----
-
-
-
- Download the SDK from the [Epic Games Marketplace](https://www.unrealengine.com/marketplace/en-US/product/sequence-embedded-wallets)
-
- Alternatively, you have the following options:
- 1) [GitHub Release](sdk/unreal/installation#using-the-latest-github-release): Manual installation. This release is always up to date.
- 2) [Project Boilerplate](https://github.com/0xsequence/unreal-embedded-wallet-boilerplate): Start a project from scratch.
-
-
- Create a project on [Sequence Builder](https://sequence.build) and download your config file as shown below.
-
-
-
-
-
- In your Project's `Build.cs` file ([where to find](https://forums.unrealengine.com/t/where-are-build-cs-and-target-cs/302665)) please check the private Dependency module such that it includes "SequencePlugin":
-
- ```cpp
- public SequenceTest(ReadOnlyTargetRules Target) : base(Target)
- {
- PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
- PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
- PrivateDependencyModuleNames.AddRange(new string[] { "SequencePlugin" });
- }
- ```
-
-
-Start by creating the [Sequence Login Window](/sdk/unreal/bootstrap_game#login) widget. This gives you quick access
-to our login methods. Checkout the [authentication](/sdk/unreal/onboarding/authentication#requirements) section on how to
-configure each login method.
-
-Learn how to manually [integrate login methods](/sdk/unreal/onboarding/authentication) such as Google, Apple, or PlayFab.
-
-
-
-
-
-
-Sequence's Unreal SDK includes a variety of Boilerplates to help you quickly start your game.
-Once everything is configured, you can create widgets to display an Inventory, Wallet View, or In-Game Store.
-Checkout [how to integrate a Player Profile](/sdk/unreal/bootstrap_game#player-profile) using just three Blueprint nodes to view and send funds.
-
-
-
-
-
-
-
diff --git a/sdk/unreal/power/read-from-blockchain.mdx b/sdk/unreal/indexer/read-from-blockchain.mdx
similarity index 100%
rename from sdk/unreal/power/read-from-blockchain.mdx
rename to sdk/unreal/indexer/read-from-blockchain.mdx
diff --git a/sdk/unreal/overview.mdx b/sdk/unreal/overview.mdx
index fcaf88f5..00b866b5 100644
--- a/sdk/unreal/overview.mdx
+++ b/sdk/unreal/overview.mdx
@@ -8,8 +8,6 @@ Are you using V1 of our Unreal SDK? [Checkout the relevant docs here.](/sdk/unre
The Sequence Unreal Embedded Wallet SDK provides full Sequence [Embedded Wallet](/solutions/wallets/developers/embedded-wallet/overview), [Indexer](/api-references/indexer/overview), integration for games built on the Unreal Framework.
-Get started with our [Quickstart Guide.](/sdk/unreal/getting_started)
-
## Architecture
We provide full support for both Blueprint and C++ integrations.
@@ -22,7 +20,7 @@ We provide full support for both Blueprint and C++ integrations.
Please view our [Platform Requirements](/sdk/unreal/advanced/platforms)
-- Unreal Engine 5.2 or later
+- Unreal Engine 5.4 or later
- Android
- iOS
- PC Standalone
diff --git a/sdk/unreal/v1/introduction.mdx b/sdk/unreal/v1/introduction.mdx
index 3bd04f06..81f68e63 100644
--- a/sdk/unreal/v1/introduction.mdx
+++ b/sdk/unreal/v1/introduction.mdx
@@ -2,7 +2,7 @@
title: "Sequence's Unreal SDK V1"
---
-V1 of Sequence's Unreal SDK is deprecated, consider [migrating to V2.](/sdk/unreal/migration)
+V1 of Sequence's Unreal SDK is deprecated, consider [migrating to V2.](/sdk/unreal/advanced/migration)
The Sequence Unreal Embedded Wallet SDK provides full Sequence [Embedded Wallet](/solutions/wallets/developers/embedded-wallet/overview) and [Indexer](/api-references/indexer/overview) integration
for games built on the Unreal Framework. We provide full Blueprint support for a seamless integration experience.
diff --git a/sdk/unreal/ecosystem-wallet/authentication.mdx b/sdk/unreal/wallets/ecosystem-wallet/authentication.mdx
similarity index 94%
rename from sdk/unreal/ecosystem-wallet/authentication.mdx
rename to sdk/unreal/wallets/ecosystem-wallet/authentication.mdx
index b27d79a9..9c4b4e23 100644
--- a/sdk/unreal/ecosystem-wallet/authentication.mdx
+++ b/sdk/unreal/wallets/ecosystem-wallet/authentication.mdx
@@ -5,7 +5,7 @@ sidebarTitle: Authentication
---
Start with an implicit session which is restricted to contracts built by Sequence.
-Alternatively, you can choose to add a [Permissions](/sdk/unreal/ecosystem-wallet/permissions) object to each Sign In call, if you want to connect to an
+Alternatively, you can choose to add a [Permissions](/sdk/unreal/wallets/ecosystem-wallet/permissions) object to each Sign In call, if you want to connect to an
explicit session directly.
## Sign In with Email
diff --git a/sdk/unreal/ecosystem-wallet/blockchain.mdx b/sdk/unreal/wallets/ecosystem-wallet/blockchain-interactions.mdx
similarity index 62%
rename from sdk/unreal/ecosystem-wallet/blockchain.mdx
rename to sdk/unreal/wallets/ecosystem-wallet/blockchain-interactions.mdx
index ff85f892..ad573c99 100644
--- a/sdk/unreal/ecosystem-wallet/blockchain.mdx
+++ b/sdk/unreal/wallets/ecosystem-wallet/blockchain-interactions.mdx
@@ -25,7 +25,9 @@ Sign messages on an external browser.
-## Get fee options
+## Transactions
+
+### Get fee options
@@ -36,8 +38,8 @@ Sign messages on an external browser.
```cpp
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
+ const FString Value = TEXT("0");
const FString FunctionSignature = TEXT("explicitEmit()");
- const int64 Value = 0;
const TArray Values = { };
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
@@ -51,7 +53,7 @@ Sign messages on an external browser.
-## Send transactions
+### Send transactions
@@ -62,8 +64,8 @@ Sign messages on an external browser.
```cpp
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
+ const FString Value = TEXT("0");
const FString FunctionSignature = TEXT("explicitEmit()");
- const int64 Value = 0;
const TArray Values = { };
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
@@ -79,7 +81,7 @@ Sign messages on an external browser.
-## Send transactions without Permissions
+### Send transactions without Permissions
Send transactions on an external browser.
@@ -92,8 +94,8 @@ Send transactions on an external browser.
```cpp
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
+ const FString Value = TEXT("0");
const FString FunctionSignature = TEXT("explicitEmit()");
- const int64 Value = 0;
const TArray Values = { };
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
@@ -106,3 +108,62 @@ Send transactions on an external browser.
```
+
+## Transaction Factory
+
+### Create Contract Transaction
+
+
+
+
+
+
+
+
+ ```cpp
+ const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
+ const FString Value = TEXT("0");
+ const FString FunctionSignature = TEXT("explicitEmit()");
+ const TArray Values = { };
+
+ UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
+ ```
+
+
+
+### Create Call Data Transaction
+
+
+
+
+
+
+
+
+ ```cpp
+ const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
+ const FString Value = TEXT("0");
+ const FString Data = TEXT("0x00...");
+
+ UCallDataTransaction* Transaction = UCallDataTransaction::CreateCallDataTransaction(To, Value, Data);
+ ```
+
+
+
+### Create Transaction Batch
+
+
+
+
+
+
+
+
+ ```cpp
+ TArray> Transactions;
+ Transactions.Add(UCallDataTransaction::CreateCallDataTransaction("0x123...", "0", "0x00.."));
+
+ UTransactionBatch* Transaction = UTransactionBatch::CreateTransactionBatch(To, Value, Data);
+ ```
+
+
diff --git a/sdk/unreal/ecosystem-wallet/manage-sessions.mdx b/sdk/unreal/wallets/ecosystem-wallet/manage-sessions.mdx
similarity index 100%
rename from sdk/unreal/ecosystem-wallet/manage-sessions.mdx
rename to sdk/unreal/wallets/ecosystem-wallet/manage-sessions.mdx
diff --git a/sdk/unreal/ecosystem-wallet/permissions.mdx b/sdk/unreal/wallets/ecosystem-wallet/permissions.mdx
similarity index 100%
rename from sdk/unreal/ecosystem-wallet/permissions.mdx
rename to sdk/unreal/wallets/ecosystem-wallet/permissions.mdx
diff --git a/sdk/unreal/wallets/ecosystem-wallet/setup.mdx b/sdk/unreal/wallets/ecosystem-wallet/setup.mdx
new file mode 100644
index 00000000..a9fd28e4
--- /dev/null
+++ b/sdk/unreal/wallets/ecosystem-wallet/setup.mdx
@@ -0,0 +1,35 @@
+---
+title: "Unreal Ecosystem Wallet Setup"
+description: Ecosystem Wallet Documentation for Sequence's Unreal SDK.
+sidebarTitle: Setup
+---
+
+
+
+ Create a project on [Sequence Builder](https://sequence.build) and download your config file as shown below.
+
+
+
+
+
+ Make sure your config file includes the required fields:
+
+ - **ProjectAccessKey:** Your Project Access Key from your [Builder project.](https://sequence.build/)
+ - **WalletAppUrl:** The URL of the Ecosystem you want to connect to. If you are unsure, use `https://v3.sequence-dev.app` as a default.
+
+ For iOS and Android:
+ - **UrlScheme:** You have to configure this for your Android Manifest and Xcode project as well.
+
+
+ The Unreal SDK comes with a set of boilerplate widgets to get you started.
+ Make sure to enable `Enable Plugin Content` in your Content Browser's settings.
+
+
+
+
+
+
+
+
+ If you used v1 or v2 of the Unreal SDK: `SequenceWallet` classes now refer to the Ecosystem Wallet. Use `SequenceEmbeddedWallet` instead, if you want to continue with your Embedded Wallet integration.
+
diff --git a/sdk/unreal/power/write-to-blockchain.mdx b/sdk/unreal/wallets/embedded-wallet/blockchain-interactions.mdx
similarity index 95%
rename from sdk/unreal/power/write-to-blockchain.mdx
rename to sdk/unreal/wallets/embedded-wallet/blockchain-interactions.mdx
index 179920f2..f3eb7c50 100644
--- a/sdk/unreal/power/write-to-blockchain.mdx
+++ b/sdk/unreal/wallets/embedded-wallet/blockchain-interactions.mdx
@@ -1,9 +1,13 @@
---
-
-title: "Write to Blockchain"
+title: "Blockchain Interactions"
description: Documentation for Unreal SDK API for writing to the blockchain with the Sequence infrastructure stack for web3 gaming.
---
+
+ The examples below apply to versions 2.x.x.
+ If you’re using version 3, use the SequenceEmbeddedWalletBP (Blueprints) and SequenceEmbeddedWallet (C++) classes instead.
+
+
## Sign Message
Sign a given message as a hex string. For example, you can use this signature to validate content on your backend.
diff --git a/sdk/unreal/guides/epic-auth-guide.mdx b/sdk/unreal/wallets/embedded-wallet/guides/epic-auth-guide.mdx
similarity index 100%
rename from sdk/unreal/guides/epic-auth-guide.mdx
rename to sdk/unreal/wallets/embedded-wallet/guides/epic-auth-guide.mdx
diff --git a/sdk/unreal/guides/marketplace-guide.mdx b/sdk/unreal/wallets/embedded-wallet/guides/marketplace-guide.mdx
similarity index 89%
rename from sdk/unreal/guides/marketplace-guide.mdx
rename to sdk/unreal/wallets/embedded-wallet/guides/marketplace-guide.mdx
index 23b6eac4..f6038960 100644
--- a/sdk/unreal/guides/marketplace-guide.mdx
+++ b/sdk/unreal/wallets/embedded-wallet/guides/marketplace-guide.mdx
@@ -3,6 +3,11 @@ title: "Marketplace Quickstart"
description: Quickstart Guide on how to build your own In-Game Marketplace using Sequence's Unreal SDK.
---
+
+ The examples below apply to versions 2.x.x.
+ If you’re using version 3, use the SequenceEmbeddedWalletBP (Blueprints) and SequenceEmbeddedWallet (C++) classes instead.
+
+
Let's start by listing one of your items. A `Listing` is the state of an item on your Marketplace that
diff --git a/sdk/unreal/guides/shop-guide.mdx b/sdk/unreal/wallets/embedded-wallet/guides/shop-guide.mdx
similarity index 100%
rename from sdk/unreal/guides/shop-guide.mdx
rename to sdk/unreal/wallets/embedded-wallet/guides/shop-guide.mdx
diff --git a/sdk/unreal/guides/social-signin-guide.mdx b/sdk/unreal/wallets/embedded-wallet/guides/social-signin-guide.mdx
similarity index 100%
rename from sdk/unreal/guides/social-signin-guide.mdx
rename to sdk/unreal/wallets/embedded-wallet/guides/social-signin-guide.mdx
diff --git a/sdk/unreal/guides/swaps-guide.mdx b/sdk/unreal/wallets/embedded-wallet/guides/swaps-guide.mdx
similarity index 82%
rename from sdk/unreal/guides/swaps-guide.mdx
rename to sdk/unreal/wallets/embedded-wallet/guides/swaps-guide.mdx
index 35facbb1..4ce7a35f 100644
--- a/sdk/unreal/guides/swaps-guide.mdx
+++ b/sdk/unreal/wallets/embedded-wallet/guides/swaps-guide.mdx
@@ -3,6 +3,11 @@ title: "Swaps Quickstart"
description: Quickstart Guide on how to make Smart Swaps using Sequence's Unreal SDK.
---
+
+ The examples below apply to versions 2.x.x.
+ If you’re using version 3, use the SequenceEmbeddedWalletBP (Blueprints) and SequenceEmbeddedWallet (C++) classes instead.
+
+
Get a price for a given token pair. Alternatively, call `GetSwapPrices` to get a list of available options.
diff --git a/sdk/unreal/onboarding/authentication.mdx b/sdk/unreal/wallets/embedded-wallet/onboarding/authentication.mdx
similarity index 89%
rename from sdk/unreal/onboarding/authentication.mdx
rename to sdk/unreal/wallets/embedded-wallet/onboarding/authentication.mdx
index 28565b5b..7bd3f70d 100644
--- a/sdk/unreal/onboarding/authentication.mdx
+++ b/sdk/unreal/wallets/embedded-wallet/onboarding/authentication.mdx
@@ -3,6 +3,11 @@ title: "Authenticating Users"
description: Documentation for Unreal SDK API to manage sessions for the Sequence infrastructure stack for web3 gaming.
---
+
+ The examples below apply to versions 2.x.x.
+ If you’re using version 3, use the SequenceEmbeddedWalletBP (Blueprints) and SequenceEmbeddedWallet (C++) classes instead.
+
+
## Requirements
- Make sure you have enabled your required login methods on [Sequence Builder](https://sequence.build/)
@@ -59,7 +64,7 @@ Listen for the Email Requires Code event.
## Sign In as a Guest
You can sign in users as guests. However, note that they will lose access to their wallet if they uninstall the app or sign out.
-Leverage our [account federation feature](/sdk/unreal/onboarding/authentication#account-federation) to link the wallet to another email or social account to keep access.
+Leverage our [account federation feature](/sdk/unreal/wallets/embedded-wallet/onboarding/authentication#account-federation) to link the wallet to another email or social account to keep access.
@@ -129,7 +134,7 @@ to know when the sign in request was successful. Listen for `Session Creation Fa
### Sign In with Google
-Sign In with a valid Google Id Token. You get this from the [Get Google Id Token](/sdk/unreal/onboarding/authentication#get-google-id-token) node.
+Sign In with a valid Google Id Token. You get this from the [Get Google Id Token](/sdk/unreal/wallets/embedded-wallet/onboarding/authentication#get-google-id-token) node.
@@ -153,7 +158,7 @@ Sign In with a valid Google Id Token. You get this from the [Get Google Id Token
### Sign In with Apple
-Sign In with a valid Apple Id Token. You get this from the [Get Apple Id Token](/sdk/unreal/onboarding/authentication#get-apple-id-token) node.
+Sign In with a valid Apple Id Token. You get this from the [Get Apple Id Token](/sdk/unreal/wallets/embedded-wallet/onboarding/authentication#get-apple-id-token) node.
@@ -226,7 +231,7 @@ Use this method to start a session using a valid Id token from Google, Apple or
## PlayFab
You will need to include your PlayFab Title ID in the `SequenceConfig.ini` file
-during [Configuration](/sdk/unreal/getting_started) and [configure PlayFab in the Builder](/solutions/builder/embedded-wallet/playfab-configuration).
+during [Configuration](/sdk/unreal/wallets/embedded-wallet/setup) and [configure PlayFab in the Builder](/solutions/builder/embedded-wallet/playfab-configuration).
### PlayFab Registration
@@ -291,5 +296,5 @@ during [Configuration](/sdk/unreal/getting_started) and [configure PlayFab in th
## Account Federation
To link another account to your wallet, simply re-use the same authentication methods.
-The SDK will check if [there's an existing session stored](/sdk/unreal/onboarding/manage_sessions#check-existing-session) and will
+The SDK will check if [there's an existing session stored](/sdk/unreal/wallets/embedded-wallet/onboarding/manage_sessions#check-existing-session) and will
automatically attempt to link that account.
diff --git a/sdk/unreal/onboarding/manage_sessions.mdx b/sdk/unreal/wallets/embedded-wallet/onboarding/manage_sessions.mdx
similarity index 90%
rename from sdk/unreal/onboarding/manage_sessions.mdx
rename to sdk/unreal/wallets/embedded-wallet/onboarding/manage_sessions.mdx
index 26ffd49f..071e5ca0 100644
--- a/sdk/unreal/onboarding/manage_sessions.mdx
+++ b/sdk/unreal/wallets/embedded-wallet/onboarding/manage_sessions.mdx
@@ -1,9 +1,13 @@
---
-
-title: "Unreal Manage Sessions"
+title: "Manage Sessions"
description: Documentation for Unreal SDK API to manage sessions for the Sequence infrastructure stack for web3 gaming.
---
+
+ The examples below apply to versions 2.x.x.
+ If you’re using version 3, use the SequenceEmbeddedWalletBP (Blueprints) and SequenceEmbeddedWallet (C++) classes instead.
+
+
## Get Id Token
A common use case is to verify the user identity on your backend after the user has finished the login process in your app client.
diff --git a/sdk/unreal/onboarding/wallet_linking.mdx b/sdk/unreal/wallets/embedded-wallet/onboarding/wallet_linking.mdx
similarity index 87%
rename from sdk/unreal/onboarding/wallet_linking.mdx
rename to sdk/unreal/wallets/embedded-wallet/onboarding/wallet_linking.mdx
index 14e2d376..d8dfa393 100644
--- a/sdk/unreal/onboarding/wallet_linking.mdx
+++ b/sdk/unreal/wallets/embedded-wallet/onboarding/wallet_linking.mdx
@@ -1,9 +1,13 @@
---
-
title: "Connecting External Wallets"
description: Documentation for Unreal SDK API to manage sessions for the Sequence infrastructure stack for web3 gaming.
---
+
+ The examples below apply to versions 2.x.x.
+ If you’re using version 3, use the SequenceEmbeddedWalletBP (Blueprints) and SequenceEmbeddedWallet (C++) classes instead.
+
+
Get- and remove linked wallets in your Unreal project. Learn more on [how to link external wallets](/solutions/wallets/developers/embedded-wallet/wallet-linking) such as Metamask on a web app.
Linking Wallets gives you read-only access to those wallets such as using our Indexer to query balances from externally owned items.
diff --git a/sdk/unreal/wallets/embedded-wallet/setup.mdx b/sdk/unreal/wallets/embedded-wallet/setup.mdx
new file mode 100644
index 00000000..931568fc
--- /dev/null
+++ b/sdk/unreal/wallets/embedded-wallet/setup.mdx
@@ -0,0 +1,40 @@
+---
+title: "Unreal Embedded Wallet Setup"
+description: Quickstart Documentation for Sequence's Unreal SDK.
+sidebarTitle: Setup
+---
+
+
+
+ Create a project on [Sequence Builder](https://sequence.build) and download your config file as shown below.
+
+
+
+
+
+ Make sure to fill in the required fields:
+
+ - **ProjectAccessKey:** Your Project Access Key from your [Builder project.](https://sequence.build/)
+
+
+ Start by creating the [Sequence Login Window](/sdk/unreal/bootstrap#login) widget. This gives you quick access
+ to our login methods. Checkout the [authentication](/sdk/unreal/wallets/embedded-wallet/onboarding/authentication#requirements) section on how to
+ configure each login method.
+
+ Learn how to manually [integrate login methods](/sdk/unreal/wallets/embedded-wallet/onboarding/authentication) such as Google, Apple, or PlayFab.
+
+
+
+
+
+
+ Sequence's Unreal SDK includes a variety of Boilerplates to help you quickly start your game.
+ Once everything is configured, you can create widgets to display an Inventory, Wallet View, or In-Game Store.
+ Checkout [how to integrate a Player Profile](/sdk/unreal/bootstrap#player-profile) using just three Blueprint nodes to view and send funds.
+
+
+
+
+
+
+
diff --git a/solutions/wallets/developers/ecosystem-wallet/unity-quickstart.mdx b/solutions/wallets/developers/ecosystem-wallet/unity-quickstart.mdx
index 8df2ce5c..b6643c33 100644
--- a/solutions/wallets/developers/ecosystem-wallet/unity-quickstart.mdx
+++ b/solutions/wallets/developers/ecosystem-wallet/unity-quickstart.mdx
@@ -9,13 +9,13 @@ sidebarTitle: Unity Quickstart
Download [v5 from the SDK's GitHub Releases](https://github.com/0xsequence/sequence-unity/releases/tag/v5-beta)
to access Ecosystem Wallets. You can download it as a `.unitypackage` file and simply add it to your Unity project.
-To see Ecosystem Wallets in action, [try our Built-In Demo.](/sdk/unity/ecosystem-wallet/setup#try-our-built-in-demo)
+To see Ecosystem Wallets in action, [try our Built-In Demo.](/sdk/unity/wallets/ecosystem-wallet/setup#try-our-built-in-demo)
## 🔑 Step 2: Configure your Unity Project
Go to [sequence.build](https://sequence.build), sign up or log in, and create a new project. You can follow the [Builder Getting Started](/solutions/builder/getting-started) guide to get a step by step flow.
-Follow our [Unity Setup](/sdk/unity/ecosystem-wallet/setup) to configure the Unity SDK.
+Follow our [Unity Setup](/sdk/unity/wallets/ecosystem-wallet/setup) to configure the Unity SDK.
## 💼 Step 3: Create a Session with Permissions
@@ -31,7 +31,7 @@ IPermissions permissions = new ContractPermissions(chain, contractAddress, deadl
```
Next, let’s create the `SequenceConnect` interface with these permissions to create a wallet session.
-Checkout other [login options here.](/sdk/unity/ecosystem-wallet/setup#try-our-built-in-demo)
+Checkout other [login options here.](/sdk/unity/wallets/ecosystem-wallet/setup#try-our-built-in-demo)
```csharp
SequenceConnect connect = new SequenceConnect();
diff --git a/solutions/wallets/developers/ecosystem-wallet/unreal-quickstart.mdx b/solutions/wallets/developers/ecosystem-wallet/unreal-quickstart.mdx
index d60e092f..64446540 100644
--- a/solutions/wallets/developers/ecosystem-wallet/unreal-quickstart.mdx
+++ b/solutions/wallets/developers/ecosystem-wallet/unreal-quickstart.mdx
@@ -9,13 +9,13 @@ sidebarTitle: Unreal Quickstart
Download [v3 from the SDK's GitHub Releases](https://github.com/0xsequence/sequence-unreal/releases/tag/v3.0.0-beta)
to access Ecosystem Wallets. You can download one of the `.zip` files, depending on the Unreal Engine version you are using.
-To see Ecosystem Wallets in action, [try our Built-In Demo.](/sdk/unreal/ecosystem-wallet/setup#try-our-built-in-demo)
+To see Ecosystem Wallets in action, [try our Built-In Demo.](/sdk/unreal/wallets/ecosystem-wallet/setup#try-our-built-in-demo)
## 🔑 Step 2: Configure your Unreal Project
Go to [sequence.build](https://sequence.build), sign up or log in, and create a new project. You can follow the [Builder Getting Started](/solutions/builder/getting-started) guide to get a step by step flow.
-Follow our [Unreal Setup](/sdk/unreal/ecosystem-wallet/setup) to configure the Unreal SDK.
+Follow our [Unreal Setup](/sdk/unreal/wallets/ecosystem-wallet/setup) to configure the Unreal SDK.
## 💼 Step 3: Create a Session with Permissions
@@ -82,7 +82,7 @@ Finally, let’s use our wallet session to send a transaction to the contract ad
Next, use the transaction object and pass it to the SendTransaction function.
-Optionally, if you're interacting on a mainnet without gas sponsorship, you can [fetch fee options](/sdk/unreal/ecosystem-wallet/blockchain#get-fee-options) first.
+Optionally, if you're interacting on a mainnet without gas sponsorship, you can [fetch fee options](/sdk/unreal/wallets/ecosystem-wallet/blockchain-interactions#get-fee-options) first.
diff --git a/solutions/wallets/developers/embedded-wallet/quickstart.mdx b/solutions/wallets/developers/embedded-wallet/quickstart.mdx
index e0b66634..f123a2e5 100644
--- a/solutions/wallets/developers/embedded-wallet/quickstart.mdx
+++ b/solutions/wallets/developers/embedded-wallet/quickstart.mdx
@@ -21,7 +21,7 @@ sidebarTitle: Quickstart
maskPosition: 'center center',
}}>
- } href="/sdk/unreal/getting_started" />
+ } href="/sdk/unreal/wallets/embedded-wallet/setup" />