stream-unity
Build, integrate, and answer how-to questions for Stream Chat and Stream Video in Unity Engine games and apps.
Skill by GetStream
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/getstream-stream-unity
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/stream-unity
Tools it pre-approves 27
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Write,Edit,Glob,Grep,WebFetch(domain:getstream.io),WebFetch(domain:github.com),WebFetch(domain:raw.githubusercontent.com),Bash(ls*),Bash(grepBash(find
Show 15 more
*.Bash(cat*.json),*.asmdef),*.asset),Bash(jqBash(ghreleaseapiBash(unzipBash(curl-sLBash(getstream*)
What's inside
- Skill name
stream-unity- Description
- Build, integrate, and answer how-to questions for Stream Chat and Stream Video in Unity Engine games and apps. Use for Unity / C# / MonoBehaviour project work - the Chat .unitypackage and the Video UPM package, StreamChatClient / StreamVideoClient wiring, ConnectUserAsync and tokens, channels and messages, calls and participant tracks, camera and microphone devices, building the UI yourself on UGUI or UI Toolkit, IL2CPP, and Android / iOS / desktop / WebGL player settings. Triggers on unity, unity engine, unity 6, unity 2022, monobehaviour, .unitypackage, Packages/manifest.json, asmdef, il2cpp, ugui, rawimage, audiosource, webcamtexture, StreamChatClient, IStreamChatClient, IStreamChannel, StreamVideoClient, IStreamVideoClient, IStreamCall, StreamVideoTrack, in-game chat, unity video call. Chat and Video only - there is no Stream Feeds SDK for Unity.
- License
- Apache-2.0
- Compatibility
- Requires a Unity project (Unity 2020.3+ for Video, 2019.4+ for Chat) for build/integrate work. Docs lookups need only network access. The `getstream` CLI is the default path for credentials (API key + user token); optional if the user pastes them.
- Allowed tools
- Read,, Write,, Edit,, Glob,, Grep,, WebFetch(domain:getstream.io),, WebFetch(domain:github.com),, WebFetch(domain:raw.githubusercontent.com),, Bash(ls, *),, Bash(grep, *),, Bash(find, *, *),, Bash(find, ., *),, Bash(cat, *.json),, Bash(cat, *.asmdef),, Bash(cat, *.asset),, Bash(jq, *),, Bash(gh, release, *),, Bash(gh, api, *),, Bash(unzip, *),, Bash(curl, -sL, *),, Bash(getstream, *)
- Metadata
- author: GetStream
- Instructions
- 196 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves any shell command
Files (6)
- RULES.md
- SKILL.md
- docs-map.md
- platforms.md
- setup.md
- ui.md
SKILL.md (first lines)
# Stream Unity - docs orchestrator for Unity Engine **Chat and Video.** There is no Stream Feeds SDK for Unity (`/activity-feeds/docs/unity` and `https://getstream.io/cli/docs/activity-feeds-unity.md` both 404). If the user asks for activity feeds in Unity, say so up front and offer the alternatives (the REST/server API driven from your backend, or a platform SDK on a companion app) rather than inventing an API. **These are two separate SDKs, and almost nothing is shared.** Different repos, different install mechanisms, different maturity, different supported platforms, different docs quality. There is no combined client, no shared `AuthCredentials` type (`StreamChat.Libs.Auth.AuthCredentials` and `StreamVideo.Libs.Auth.AuthCredentials` are distinct types in distinct assemblies), and connecting a user to one does not connect them to the other. Treat "add chat to my Unity call app" as two integrations that happen to share an API key. | | Chat | Video | |---|---|---| | Repo | [`GetStream/stream-chat-unity`](https://github.com/GetStream/stream-chat-unity) (default branch **`develop`**) | [`GetStream/stream-video-unity`](https://github.com/GetStream/stream-video-unity) (default branch `main`) | | Latest | **v5.7.0** (stable, 5.x line) | **0.11.0** (pre-1.0 - the surface still moves) | | Install | `.unitypackage` from GitHub Releases, imported into `Assets/` | UPM package from a git URL | | Entry point | `StreamChatClient.CreateDefaultClient()` -> `IStreamChatClient` | `StreamVideoClient.CreateDefaultClient()` -> `IStreamVideoClient` | | Namespace | `StreamChat.Core` | `StreamVideo.Core` | | Platforms | Everything Unity targets, WebGL included | Android (ARM64), iOS, Windows x64, macOS, Linux. **No WebGL, no UWP** | | Pre-built UI | **None** - a sample project, not components | **None** - a sample project, not components | | Docs coverage | Good: nearly every page carries real Unity C# | Thin: 22 pages; several shipped capabilities have no page at all | **Neither SDK ships reusable UI.** Both ship a *sample project* you import and read, not a component library you drop in. Every chat bubble, channel row, participant tile, and call button in the user's game is code you write. Say this before promising a screen, and run [`ui.md`](ui.md) when building one. This skill **orchestrates**: it gates the request against product, platform, and feature support, routes to the exact docs page, fetches it live, and applies it - while carrying the Unity-specific knowledge the docs do not have (the client's hidden `DontDestroyOnLoad` runner, the track-binding requirement, IL2CPP stripping, and the player settings that decide whether a build works on device at all). **Rules (read once per session):** [`RULES.md`](RULES.md) - non-negotiable rules + Unity pitfalls. Read before writing any code. --- ## Step 0: Three gates, before any code Resolve all three from the user's words plus a read-only probe. Each one can turn "here is the code" into "that is not possible", so none is optional and none belongs in a runtime failure later. ### Gate 1: product (and whether it exists for Unity) | Ask | Answer | |---|---| | Chat / messaging / in-game text chat | Supported. Chat SDK. | | Video calls / audio calls / audio rooms / livestream broadcast | Supported. Video SDK. | | Both | Two installs, two clients, two connect calls. Do not try to unify them. | | Activity feeds / timelines / follow graph | **No Unity SDK.** State it immediately; offer the server API path. | | Moderation review queue / dashboard UI | Not an app surface. Moderation review happens in the Stream Dashboard; the SDKs expose only end-user actions (flag, mute, ban). | ### Gate 2: Unity version and build target (the Video SDK is the constraint) Probe rather than ask: ```bash bash -c 'echo "=== UNITY VERSION ==="; cat ProjectSettings/ProjectVersion.txt 2>/dev/null; \ echo "=== UPM MANIFEST ==="; cat Packages/manifest.json 2>/dev/null; \ echo "=== STREAM CHAT PRESENT ==="; find . -maxdepth 5 -type d -name "StreamChat" -not -path "*/Library/*" 2>/dev/null; \ echo "=== STREAM VIDEO PRESENT ==="; grep -n "io.getstream.video" Packages/manifest.json 2>/dev/null; \ echo "=== SCRIPTING BACKEND / TARGET ==="; grep -nE "scriptingBackend|AndroidTargetArchitectures|apiCompatibilityLevel|managedStrippingLevel" ProjectSettings/ProjectSettings.asset 2>/dev/null | head -20' ``` | Situation | What to do | |---|---| | Unity **6 / 2023.1 / 2022.3 / 2021.3 / 2020.3** | Both SDKs supported. | | Unity **2019.4 - 2020.2**, Chat only | Chat supports it (the SDK advertises 2019.x). Video does **not** - its package declares `"unity": "2020.3"` and its WebRTC fork the same. | | Unity **2019.x - 2020.2**, Video requested | **Hard stop for Video.** Say it immediately: upgrade the editor, or ship Chat only. | | Target is **WebGL**, Video requested | **Hard stop.** Unity's WebRTC package does not support WebGL, so neither does the Video SDK. Chat *does* work on WebGL. Offer: Chat on WebGL plus a browser-based Video client, or drop WebGL. | | Target is **Android**, Video requested | ARM64 only. ARMv7 is unsupported and must be disabled. See [`platforms.md`](platforms.md). | | Target is **UWP** | Video unsupported. | | Target is a **console** | Chat only, and treat it as unverified - the SDK claims console support but publishes no per-console guidance. | Unity **6** plus Chat carries one hard version floor: Chat **v5.4.0** fixed an IL2CPP build crash on Unity `6000.0.x` (a `KeyNotFoundException` in IL2CPP's vtable builder). Never pin Chat below v5.4.0 on Unity 6. ### Gate 3: feature support (say no in the plan, not in a compile error) **Chat - not implemented client-side as of v5.7.0.** If the request needs one of these, say so *before* writing code: - Guest and anonymous users (`ConnectGuestUser` / anonymous connect do not exist) - this blocks the usual read-only-spectator livestream pattern - Channel archiving, channel pinning (both are per-member fields with no client API) - Draft messages, message reminders and bookmarks, location sharing - User blocking (`BlockUser` / `UnblockUser` / blocked-user list) - On-demand message translation (auto-translation on a channel *does* work) - Setting `invisible` or a custom status at connect time (`MarkInvisibleAsync` after connect works) - Unread-mentions-per-channel count; pagination of reactions, watchers, and pinned messages via their dedicated endpoints - Client-level standalone file upload (channel-level `UploadFileAsync` / `UploadImageAsync` work) - Poll answers (text comments) and querying poll votes **Video - not implemented client-side as of 0.11.0:** - **Publishing your own screen share.** You can *receive* a remote participant's `ScreenShareTrack`; there is no API to start sharing from Unity. The repo README's feature list says "Screensharing" and means the receive half. - **Any incoming-call / ringing event.** `call.ring` is handled internally and never surfaced (the source literally reads `//StreamTodo: expose CallRinging event?`). `ring: true` and `AcceptAsync` / `RejectAsync` exist, but the callee has no client-side signal that a call arrived - you need your own push handling. - **Push device registration.** `CreateDeviceAsync` exists only on an `internal` API and the low-level client is only reachable through an `internal` interface. Register devices from your backend. - A public calling-state machine. `CallingState` is internal; use `client.CallStarted` / `CallLeaving` / `CallEnded` plus `client.ActiveCall`. - Video-side chat integration, deeplinking, picture-in-picture, noise cancellation, transcription control, and HLS/RTMP viewer UI have no Unity docs page. `GoLiveAsync` / `StopLiveAsync` / `StartHLS` / `StopHLS` / `StartRecordingAsync` / `StopRecordingAsync` **do** ship on `IStreamCall` - they are undocumented, not absent. Read the interface (rung 2 below) and say where you got it. Anything server-side stays server-side for both SDKs: call types, channel types, permissions and roles, webhooks, push templates and providers, recording/transcription config, data retention, imports. The client never holds the API secret. --- ## The docs convention - and the per-product coverage reality Every Stream docs page has a Markdown twin: **take the page URL, drop the trailing `/`, add `.md`.** ``` https://getstream.io/chat/docs/unity/query-channels/ -> https://getstream.io/chat/docs/unity/query-channels.md https://getstream.io/video/docs/unity/basics/quickstart/ -> https://getstream.io/video/docs/unity/basics/quickstart.md ``` Always fetch the `.md` variant - clean Markdown, verbatim code, no page chrome. Live indexes that list every page: | Product | Live index | |---|---| | Chat | `https://getstream.io/cli/docs/chat-unity.md` | | Video | `https://getstream.io/cli/docs/video-unity.md` | The two trees fail in opposite directions, so the caveat is different per product. ### Chat: the code is real, but not every C# block is *Unity* C# The Chat Unity tree is well maintained. Roughly 40 of its 53 pages carry a genuine Unity code tab, and where a feature is missing the page usually says so outright: ```csharp label="Unity" // This feature is not yet available in the Unity SDK. ``` **The one trap is the fence label, and it is easy to miss because both say C#.** These pages mix two different SDKs: | Fence | Which SDK | Use it? | |---|---|---|
From GetStream/agent-skills, Apache-2.0.
More from GetStream/agent-skills
- 0.645score
stream-android
GetStream
Build and integrate Stream Chat, Video, and Feeds in Android apps.
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream
GetStream
Stream overview, CLI, and router for Chat, Video, Feeds, Moderation, and Agents.
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream-react
GetStream
Build, integrate, audit, or upgrade Stream Chat, Video, Feeds, and Moderation in React / Next.js web apps - the default skill for web work.
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream-feeds-migration
GetStream
Generate the v2 -> v3 sync mapping for a Stream Activity Feeds app by sampling its live v2 activities and reactions and, when the app's v2 integration code is…
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream-swift
GetStream
Build, integrate, migrate to, and answer how-to questions for Stream Chat, Video, and Feeds in Swift / SwiftUI / UIKit / iOS apps - including AI assistants…
SkillAFreshness: A★ 20Claude Code - 0.609score
stream-flutter
GetStream
Build and integrate Stream Chat, Video, and Feeds in Flutter apps.
SkillBFreshness: B★ 20Claude Code +9 - 0.609score
stream-react-native
GetStream
Builds, integrates, migrates, audits Stream Chat, Video, and Feeds in React Native CLI and Expo apps.
SkillBFreshness: B★ 20Claude Code - 0.604score
stream-unreal
GetStream
Build, integrate, and answer how-to questions for Stream Chat in Unreal Engine games and apps.
SkillBFreshness: B★ 20Claude Code - 0.593score
stream-builder
GetStream
Compatibility entrypoint for requests naming stream-builder.
SkillBFreshness: B★ 20Claude Code +9 - 0.593score
stream-docs
GetStream
Compatibility entrypoint for requests naming stream-docs.
SkillBFreshness: B★ 20Claude Code +9
Signals
- Stars
- 20
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Aug 11, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/GetStream/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from GetStream
- 0.645score
stream-android
GetStream
Build and integrate Stream Chat, Video, and Feeds in Android apps.
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream-feeds-migration
GetStream
Generate the v2 -> v3 sync mapping for a Stream Activity Feeds app by sampling its live v2 activities and reactions and, when the app's v2 integration code is…
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream-react
GetStream
Build, integrate, audit, or upgrade Stream Chat, Video, Feeds, and Moderation in React / Next.js web apps - the default skill for web work.
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream
GetStream
Stream overview, CLI, and router for Chat, Video, Feeds, Moderation, and Agents.
SkillAFreshness: A★ 20Claude Code +9 - 0.644score
stream-swift
GetStream
Build, integrate, migrate to, and answer how-to questions for Stream Chat, Video, and Feeds in Swift / SwiftUI / UIKit / iOS apps - including AI assistants…
SkillAFreshness: A★ 20Claude Code - 0.615score
Vision-Agents
GetStream
Python framework for real-time voice and vision agents that process video with pluggable models and processors over WebRTC.
HarnessAFreshness: A★ 8.2K↓ 418/wk
Cite this page
stream-unity skill. Agent Mart. https://agentmart.dev/skills/getstream-stream-unity (last updated 2026-10-24)