# stream-unreal

`/stream-unreal` builds, integrates, and answers how-to questions for Stream Chat in Unreal Engine games and apps: C++ and Blueprint, plugin install per engine version, `UStreamChatClientComponent` wiring, the shipped UMG chat widgets, and iOS/Android/desktop packaging.

<Admonition type="note">

**Chat only, and the SDK is in beta.** There is no Stream Video or Feeds SDK for Unreal. The skill says so up front and offers alternatives (a platform SDK on a companion app, or the REST/server API) instead of inventing an API. The plugin declares `IsBetaVersion: true`, so the surface can change between releases.

</Admonition>

<Admonition type="tip">

The router installs and dispatches to `/stream-unreal` automatically when it detects an Unreal signal (`unreal`, `ue5`, `.uproject`, `.uplugin`, `Build.cs`, `umg`, `widget blueprint`, `UStreamChatClientComponent`), or you can invoke it directly.

</Admonition>

## What it builds

Before writing any code, three gates run:

1. **Engine version**, detected from the `.uproject`. UE 5.7 and 5.8 are supported, with one plugin release archive per engine version. 5.2 through 5.6 are a hard stop: no release supports them. 4.27/5.0/5.1 only run the old v1.3.0 plugin, which predates the v2 API.
2. **Feature support**: the skill says no in the plan, not in a compile error. Not implemented in the Unreal SDK: attachments and uploads, threads, quoted messages, mentions, message pinning, offline persistence, polls, drafts. Implemented: messaging, channels, reactions, read state and unread counts, typing indicators, moderation (including block/unblock), slow mode, presence, real-time events, and push device registration.
3. **C++ or Blueprint.** C++ is the full API surface (callbacks, `TOptional<>` parameters, all pagination); Blueprint covers the common operations as latent nodes, with `...BP`-suffixed variants like `SendMessageBP` and `BanUserBP` where the C++ signature takes optionals. Pagination and the lower-level APIs are C++ only, and a Blueprint-only project hears which parts need C++ before work starts.

With the gates passed, it installs the matching plugin release, collects credentials (API key fetched and a user token minted via the `getstream` CLI, or a pasted key and token), wires `UStreamChatClientComponent` on the HUD, and puts chat on screen with the shipped `WBP_*` UMG widgets (a full mobile chat app, a desktop two-pane team chat, or a fading in-game overlay), always calling `Setup()` before `AddToViewport()` and always pairing path-loaded widgets with the `DirectoriesToAlwaysCook` directive they need to survive packaging.

## Example prompts

```bash
/stream-unreal add in-game chat to my UE 5.8 project
/stream-unreal build a mobile chat app with the shipped WBP_TeamChat_Mobile widgets
/stream-unreal how do I query channels from Blueprint?
/stream-unreal package my chat app for iOS and run it on my phone
```

## What it knows

- The docs-coverage caveat: only a subset of the `/chat/docs/unreal/` pages carry an Unreal code tab (about 26 of 61); the rest show JavaScript or another language. The skill routes through a per-page coverage map, reads the plugin headers where the docs have no Unreal code, and never translates a JS snippet into C++
- `ApiKey` must be set before `BeginPlay` runs: set it later and connect still succeeds while every REST call 401s
- Client lifetime: one `UStreamChatClientComponent` on the HUD, `DisconnectUser()` in `EndPlay`, never on a replicated actor
- Async callbacks capture `TWeakObjectPtr`, never raw `this`
- `n.VerifyPeer=True` in `DefaultEngine.ini`, without which a packaged build never connects, on every platform
- Mobile packaging config (UI scale, retained rendering off, touch input in the per-platform `*Input.ini` files) and the UE 5.5+ iOS signing trap: the documented `IOSRuntimeSettings` keys are silently ignored, and `XcodeProjectSettings` is the section that works

The pack's files live at [`skills/stream-unreal/`](https://github.com/GetStream/agent-skills/tree/main/skills/stream-unreal).


---

This page was last updated at 2026-08-31T18:09:06.501Z.

For the most recent version of this documentation, visit [https://getstream.io/agent-skills/docs/skills/stream-unreal/](https://getstream.io/agent-skills/docs/skills/stream-unreal/).