Skip to content
This repository has been archived by the owner on Aug 5, 2024. It is now read-only.

Unreal 1.1 Docs #544

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added src/app/unreal/assets/unreal-level.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/app/unreal/assets/unreal-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions src/app/unreal/getting-started/page.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import {
Callout,
Steps,
Step,
DocImage,
createMetadata,
} from "@doc";
import unrealSettings from "../assets/unreal-settings.png";
import unrealLevel from "../assets/unreal-level.png";

export const metadata = createMetadata({
title: "Plugin Getting Started | thirdweb Unreal SDK",
description:
"Learn how to integrate thirdweb's Unreal SDK into your Engine.",
});

# Getting Started

<Callout variant='info' title="API Key Required">

To get started with the Unreal SDK, you will need to have a [thirdweb API Key](https://thirdweb.com/create-api-key) created. Make sure you allowlist a bundle ID to use within Unreal native applications.

</Callout>

## Integration Steps

<Steps>

<Step title="Plugin Download" >

Download and install the Thirdweb Unreal Plugin from the [Unreal Marketplace](https://www.unrealengine.com/marketplace/en-US/product/f21200c2610146f3888172994448e50d).

</Step>

<Step title="Runtime Settings" >

Once you import the plugin into your project, you will need to set up the plugin settings with your Client ID and Bundle ID.

You can do so by navigating to `Edit > Project Settings > Engine > Thirdweb` and filling in the required fields.

<DocImage src={unrealSettings} className="w-[800px]" />

Alternatively, you can head to your root `Config` folder and open the `DefaultEngine.ini` file to set up the plugin settings.

```ini
[/Script/Thirdweb.ThirdwebRuntimeSettings]
ClientID=
BundleID=
SecretKey=
StorageDirectoryPath=
```

Note that a Secret Key should not be used in client applications, as it is a sensitive piece of information. The Storage Directory Path is also optional and can be left empty.

</Step>

<Step title="Test it!" >

Try out our prebuilt example `Level_Thirdweb` to create and login to wallets seamlessly, using all kinds of authentication, and explore advanced Account Abstraction use cases.

<DocImage src={unrealLevel} className="w-[800px]" />

</Step>

</Steps>
39 changes: 19 additions & 20 deletions src/app/unreal/page.mdx
Original file line number Diff line number Diff line change
@@ -1,37 +1,36 @@
import { OpenSourceCard, ArticleIconCard, ArticleCard, Grid } from "@doc";
import { OpenSourceCard, ArticleIconCard } from "@doc";
import { GraduationCap } from "lucide-react";

# Unreal Plugin
# Unreal SDK

A plugin for Unreal Engine that enables developers to create thirdweb Private Key Wallets, In-App Wallets and Smart Wallets for their games and applications. The plugin provides a simple API integrating blueprints to interact with wallets, login with email or socials as well as create Smart Wallet session keys.
A Code Plugin for Unreal Engine that enables developers to create thirdweb Private Key Wallets, In-App Wallets and Smart Wallets for their games and applications. The plugin provides a simple API and blueprints to interact with wallets, login with email or socials as well as create Smart Wallet session keys.

With this plugin, you can keep the onboarding of your users in-client and grant a session key to your thirdweb Engine powered backend to interact with the blockchain, no signature in sight.
With this plugin, you can keep the onboarding of your users in-client and grant a session key to your [thirdweb Engine](https://portal.thirdweb.com/engine) powered backend to interact with the blockchain, no signature in sight.

The plugin is still a work in progress and will be updated with more features and improvements.
The Thirdweb Unreal Plugin is distributed as an [Unreal Marketplace Code Plugin](https://www.unrealengine.com/marketplace/en-US/product/f21200c2610146f3888172994448e50d).

<OpenSourceCard
title="Unreal SDK"
href="https://github.com/thirdweb-dev/unreal-sdk"
isLibrary={true}
/>

## Installation

The Unreal SDK is distributed as an [Unreal Marketplace Plugin](https://www.unrealengine.com/marketplace/).

The plugin's core logic is built from Rust, making it lightning-fast and minimizing the clutter in your Unreal project.

It currently is built to support Win64 platforms and was tested in UE 5.4.
## Features

- **Generate or Create Private Key Wallets** - ephemereal guest wallets.
- **Create and Login to In-App Wallets** - unlocking email and social authentication to create persistent, cross-platform, cross-device and cross-sdk signless embedded wallets.
- **Unlock the power of Account Abstraction** - unlock the ability to sponsor gas and interact on behalf of users by upgrading any wallet to a Smart Wallet, and using Session Keys to grant scoped access to your backend - fully compatible with [thirdweb Engine](https://portal.thirdweb.com/engine) or other SDKs.
- **Rust Core** - the plugin's core logic is built from Rust, making it lightning-fast and minimizing the clutter in your Unreal project.
- **Compatible with Unreal Engine 5.4** - the plugin is compatible with the latest version of Unreal Engine, allowing you to leverage the latest features and improvements.

## Get Started

`BP_Thirdweb_OAuth` showcases social login with socials, defaulting to Google for the example. You may test it in `Level_Thirdweb_OAuth`.

`Level_Thirdweb` that will trigger Email Login, make sure `BP_Thirdweb` has the Email set.
## Installation

`BP_Thirdweb` is the main blueprint that will handle wallet initialization, you may also set your thirdweb API key settings in its Class Defaults.
Download and install the Thirdweb Unreal Plugin from the [Unreal Marketplace](https://www.unrealengine.com/marketplace/en-US/product/f21200c2610146f3888172994448e50d).

`BP_Thirdweb` showcases general wallet creation, interaction and email login as well as session resuming.
Our Plugin is programmed as a subsystem, allowing you to interact with it very easily.

`BP_Thirdweb_VerificationWidget` has a graph that showcases the flow to verify an OTP and subsequently create a wallet. It also updates some basic UI.
<ArticleIconCard
href="/unreal/getting-started"
icon={GraduationCap}
title="Get started with the Unreal SDK"
/>
8 changes: 7 additions & 1 deletion src/app/unreal/sidebar.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
import { SideBar } from "@/components/Layouts/DocLayout";
import { ZapIcon } from "lucide-react";

export const sidebar: SideBar = {
name: "Unreal SDK",
links: [
{ separator: true },
{
name: "Plugin Overview",
name: "Overview",
href: "/unreal",
},
{
name: "Getting Started",
href: "/unreal/getting-started",
icon: <ZapIcon />,
}
],
};