The official Unreal SDK for Stream Chat.
Website | Tutorial | SDK Documentation | C++ Documentation | Register for API Key
The Stream Chat SDK is the official Unreal SDK for Stream Chat, a service for building chat and messaging into games and applications.
Note
This SDK is in beta. Its surface may still change between releases, C++ and Blueprint coverage can differ by operation, and some Stream Chat features are not yet available in Unreal — see Feature support.
| Unreal Engine | 5.7, 5.8 |
| Platforms | Windows (Win64), macOS, Linux, Android, iOS |
| Language | C++ and Blueprint — some lower-level and pagination APIs are C++ only |
Only the versions exercised by the maintained CI and release matrix are listed as supported. v1.3.0 covers UE 4.27, 5.0, and 5.1; no release supports 5.2 through 5.6.
On macOS, each engine version accepts only a range of Xcode versions, which is Epic's constraint rather
than this SDK's. If a build fails with Platform Mac is not a valid platform to build, your Xcode is
outside the range that engine allows — the range is in Engine/Config/Apple/Apple_SDK.json.
- Download the latest release and copy it into the
Pluginsdirectory of your project. - Launch Unreal Engine and ensure the Stream Chat plugin is enabled in the Plugins configuration page.
- Start integrating Chat into your project — the Tutorial walks through a first integration.
If you previously acquired the plugin through the Epic Games Launcher, it remains available from your Vault. New installs should use the GitHub releases above.
This repository is also a playable sample project. Four demos ship with it, the flagship being a full team-chat app.
Important
All .uasset and .umap files are stored in Git LFS. Without it you get 129-byte pointer files
instead of real assets, and the demos fail to start with
The summary for the package ... is invalid.
# 1. Install Git LFS and fetch the assets (only needed once)
brew install git-lfs # or: apt install git-lfs / winget install GitHub.GitLFS
git lfs install
git lfs pull
# 2. Install just, which wraps the engine invocations
brew install justYou also need Unreal Engine 5.7 or 5.8. The recipes locate it automatically via the Epic
launcher's install manifest, falling back to the default install paths. If your engine lives
somewhere unusual, set UE_ROOT:
export UE_ROOT="/Users/Shared/Epic Games/UE_5.8"
just engine # prints the engine it resolved, to check your setupjust build-editor # compile the C++ (once, and after any code change)
just demo # launch the Team Chat demo in a standalone windowThe demo connects to a Stream demo account, so it works with no signup — you should see channels and messages immediately. To try the others:
just run in-game-chat # chat overlaid on a 3D scene
just run jumpy-lion # chat inside a small game
just run tutorial # the map used by the online tutorial
just edit # open the whole project in the Unreal Editor insteadThe demo credentials are set in
StreamChatSampleHud.cpp — swap the API key and
user token there to point a demo at your own Stream app.
Implemented:
- Messaging — send, edit, fetch, full-text search, soft delete through the channel API, and hard delete through the lower-level C++ API, with C++ pagination in both directions
- Channels — query, watch, create, update, truncate, hide/show, freeze, and member management
- Reactions — send with score and enforce-unique semantics, remove, and paginate from C++
- Read state — mark read, mark all read, unread counts, and per-user read tracking
- Typing indicators — keystroke debouncing and stop events
- Moderation — ban, shadow ban, mute users, mute channels, block and unblock users, flag messages and users, query banned users
- Slow mode — enable and disable with a configurable cooldown
- Push notifications — device registration across multiple push providers
- Presence — online state, watchers, and channel own-capabilities
- Real-time events — WebSocket transport with health checks and reconnection, plus typed event subscription from C++ and Blueprint
- UI widgets — an early preview of channel list, message list, composer, reactions, and avatar widgets
Not yet available in the Unreal SDK — open an issue if you need one of these:
- Attachments and file/image uploads
- Sending threaded replies and the thread list
- Quoted messages, mentions, and pinning messages
- Offline persistence and optimistic sending
- Channel archiving and channel pinning
- Polls, draft messages, message reminders, and location sharing
Stream is free for most side and hobby projects. You can use Stream Chat for free if you have fewer than five team members and no more than $10,000 in monthly revenue.
The SDK is fully open source — the complete implementation is in this repository. See Running the demos for the one-time Git LFS and engine setup.
- Compile the editor target:
just build-editor - Build the plugin on its own:
just build - Run the unit tests:
just test - Switch engine versions:
just set-engine 5.8 - Format C++ before committing:
just format
Our APIs are used by more than a billion end-users, and you'll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world. Check out our current openings and apply via Stream's website.
Some of the assets used in the sample projects in this repository use free assets originally obtained from the Unreal Engine Marketplace, which Epic replaced with Fab in October 2024. Please refer to the licensing terms published on Fab for their usage rights.
