Platform Requirements: Requirements depend on your Unreal Engine version. Use the version selector in Unreal’s documentation to view requirements for your engine:
Legacy Versions (4.26, 4.27, 5.0): These versions are not officially supported and require the BLUI plugin workaround. We strongly recommend using UE 5.3+ for new projects. See the Legacy Versions accordion below.
Mobile Platforms (iOS & Android): Not officially supported.
Unreal Engine: 5.3 or later (5.4 and 5.5 recommended)
Git LFS: The SDK repository uses Git Large File Storage to manage .uasset and .umap files. Install Git LFS before cloning or the plugin may fail to download binary dependencies correctly.
Not Officially Supported: Unreal Engine 4.26, 4.27, and 5.0 are not officially supported. We strongly recommend using UE 5.3+ for new projects.
For Unreal Engine 4.26, 4.27, and 5.0, you must install the BLUI plugin because Epic’s WebBrowserWidget uses an outdated CEF version incompatible with the SDK.
More on why we use BLUI plugin can be found in the FAQ.
1. Download BLUIDownload or clone from immutable-BLUI to your project’s Plugins folder.2. Rename the folderRename immutable-BLUI to BLUI. Your plugins directory should look like:
Hub Configuration Required: In Immutable Hub, you MUST add file://* to the Web Origin URLs field in your Passport client configuration. Without this, the BLUI embedded browser cannot communicate with the Passport SDK and authentication will fail.
Unreal Engine 5.3+: This version uses the Modern Xcode workflow with per-project configuration files. Follow the platform-specific instructions below for your target platforms.
Using a custom file: You can create your own .plist file and update Mac: Info.plist Template in Project Settings to point to your custom file for more control.
Editing the engine’s Info.plist at Engine/Source/Runtime/Launch/Resources/Mac/Info.plist will affect all projects using that engine installation. Use project-specific .plist files instead. See Epic’s Modern Xcode docs for details.
Using a custom file: If you want to avoid UBT potentially overwriting the default template, create your own .plist file (you can use Info.Template.plist as a starting point) and update IOS / TVOS: Info.plist Template in Project Settings to point to your custom file.
UBT auto-generates the default iOS template and may overwrite changes. See Epic’s Modern Xcode docs for details.
Create a complete .plist file at <YourProject>/Build/IOS/Resources/MyGameIOS.plist
Add your URL scheme and all required iOS app settings:
Copy
Ask AI
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>mygame</string> </array> </dict> </array> <!-- Add other required iOS app settings here --></dict></plist>
Edit <YourProject>/Config/DefaultEngine.ini and add:
Premade vs Template: A premade .plist is a complete, finalized file that Xcode will NOT modify. This gives you absolute control but requires managing all iOS app settings yourself. See Epic’s Modern Xcode docs for details.
The SDK handles deep links automatically. Ensure your redirect URIs match your configured URL scheme.
Your redirect URIs (like mygame://callback) must use the same URL scheme that you configure in your platform settings:
iOS: Only the scheme needs to match (e.g., mygame in mygame://callback)
Android: Both the scheme AND host must match (e.g., mygame and callback in mygame://callback)