- Windows 10 (64-bit)
- MacOS
- Unreal Engine 5.0 and above
- Unreal Engine 4.26 and above
To install the plugin download it into your project's Plugins
folder, e.g.: MyGame/Plugins/unreal-immutable-sdk
.
Note
For Unreal Engine 4.26 and above we use Blui as a browser instead of inbuilt browser. Please update immutable.uplugin->Plugins->WebBrowserWidget
to false and restart your UE4 editor.
See the included sample widgets in All
->Plugins
->Immutable Content
in the Unreal Editor content browser for examples of how to use the plugin in Blueprint. If you don't see a Plugins
folder under All
you may need to enable Show Plugin Content
in the content browser's Settings
menu.
See ImmutablePassport.h
for the C++ Passport API. Follow the same sequence of steps as the Blueprint widget example to initialise and connect Passport and retrieve account data.
See this Blueprint showing how to login to passport
Here are the steps to login to passport:
Initialise Passport
to initialise passport instance.- Check if there are stored credentials from previous login.
- If stored credentials found,
ConnectSilent
uses the saved credentials to login to Passport. - When no stored credentials found or step 3 fails, attempt to make a new Connection to login to Passport using
Connect
. This will open the gamer's default browser and take them through the auth flow.
Once the gamer is connected to Passport, the SDK will store your credentials (access, ID, and refresh tokens).
Note
We use the Device Code Authorisation flow to authenticate and authorise gamers.
See this Blueprint showing how to logout from passport
Method | Description |
---|---|
GetAddress | Gets Wallet Address |
GetEmail | Get Email Address associated with the Wallet Address |
CheckStoredCredentials | Checks if there are stored credits from previous login |
Connect | New login connection |
ConnectSilent | Attempts to login using stored credentials |
See the ImmutablePassport.h header for the full API.
-
Sample Blueprints - see the sample blueprints for examples of how to use the Immutable Unity SDK.
-
Sample Game - see the sample game for example of how to use the Immutable Unity SDK.
- git
- Epic Games Launcher
- Unreal Engine installed from the Epic Games Launcher; you will need every version that the plugin supports (currently 4.27, 5.0, 5.1, 5.2)
- Visual Studio 2022 with C++ support
- Jetbrains Rider IDE (recommended for working with Unreal Engine C++ code)
If not Rider, Visual Studio is fine and even better with the Resharper plugin.
See user guide to install the plugin, with one caveat: If you want to open the project and plugin in an IDE you'll need to create your Unreal project as a C++ project. If you've already accidentally created your Unreal project as BluePrint-only you can convert it to a BluePrint-and-C++ project by adding any C++ class from the Add New C++ Class
option in the Unreal Editor's File
menu.
See Saved/Logs/cef3.log
in your Unreal project.
In Unreal Engine 5.1+ the project is set up so that console.log()
will pass all the way through to the Unreal console. This isn't available in UE5.0 and earlier but you can still use Chromium's remote debugging (see below).
To set up Chromium remote debugging, edit project build/launch configurations in your IDE to add the following program command line argument to the appropriate configurations: cefdebug=9222
Next, launch the game and then open a separate Chrome/Chromium browser and navigate to chrome://inspect
where your app should be listed, sometimes intermittently or after a delay, under the Remote Target #localhost
section. Click inspect
to launch the remote debugging session.
The following headings should be used as appropriate.
- Added
- Changed
- Deprecated
- Removed
- Fixed
What follows is an example with all the change headings, for real world use only use headings when appropriate. This goes at the top of the CHANGELOG.md above the most recent release.
...
## [Unreleased]
### Added
for new features.
### Changed
for changes in existing functionality.
### Deprecated
for soon-to-be removed features.
### Removed
for now removed features.
### Fixed
for any bug fixes.
...
If you would like to contribute, please read the following:
- We use the Conventional Commits specification when writing our commit messages. Why use Conventional Commits? Read here.
Immutable X is open to all to build on, with no approvals required. If you want to talk to us to learn more, or apply for developer grants, click below:
To get help from other developers, discuss ideas, and stay up-to-date on what's happening, become a part of our community on Discord.
You can also join the conversation, connect with other projects, and ask questions in our Immutable X Discourse forum.
You can also apply for marketing support for your project. Or, if you need help with an issue related to what you're building with Immutable X, click below to submit an issue. Select I have a question or issue related to building on Immutable X as your issue type.
Immutable Unity SDK repository is distributed under the terms of the Apache License (Version 2.0).