The official Unity SDK for Stream Chat.
Website | Tutorial | SDK Documentation | Register for API Key
The Stream Chat SDK is the official Unity SDK for Stream Chat, a service for building chat and messaging games and applications.
- Unity Engine 2021.x & 2020.x Support
- IL2CPP Support
- Realtime Highly responsive events using Websockets
- Messaging: Send direct or group messages, and have the messages persist across sessions
- Channels: group channels, private messages, etc.
- Reactions: Every message can be reacted to by multiple users
- Moderation: Banning (temporary, permanent, shadow), Muting (users, channels), Flagging (messages, users)
- Roles & Permissions: Admins, Moderators, custom roles with custom permission
- Moderation Dashboard Dedicated web panel to handle moderation
- Fully open-source: Complete access to the SDK source code here on GitHub
Stream is free for most side and hobby projects. You can use Stream Chat for free if you have less than five team members and no more than $10,000 in monthly revenue. Visit our website and apply for the Makers Account.
- Download the latest release and copy it into your project.
- Launch Unity Engine and ensure the Stream Chat Plugin is imported into your project.
- Resolve dependencies
- Start integrating Chat into your project! Check out the Tutorial to get yourself going.
In the StreamChat/SampleProject
you'll find a fully working chat example featuring:
- Browsing channels and messages
- Sending, Editing, Deleting a message
- Message right-click context menu
- Reactions
- Sending video attachments (works only in Editor)
It is created with Unity's uGUI UI system and supports both legacy and the new Unity's Input System.
How to run it?
- Register an account and go to Stream Dasboard
- Create App and go to its Chat Explorer throught the Dashboard
- Create new chat user and save its id
- Use our online token generator to create user token
- In Unity, provide: Api Key, User Id and User Token into
StreamChat/SampleProject/Config/DemoCredentials.asset
- Open
StreamChat/SampleProject/Scenes/ChatDemo.scene
and hit play
How to enable Unity's new Input System?:
- Make sure that the UnityEngine.InputSystem package is available in the project
- Add UnityEngine.InputSystem dll reference to the StreamChat.Unity assembly definition asset
SDK runs out of the box with IL2CPP
- TextMeshPro StreamChat/SampleProject requires a TextMeshPro package
- Newtonsoft.Json SDK uses Unity's package for Newtonsoft Json Library for serialization.
Multiple precompiled assemblies with the same name Newtonsoft.Json.dll included or the current platform. Only one assembly with the same name is allowed per platform.
you can remove the StreamChat\Libs\Serialization\[email protected]
directory. Please note however, that Unity's package for Newtonsoft Json has IL2CPP support. If you wish to replace it and still use IL2CPP, make sure that the Json implementaion of your choice does support IL2CPP as well.
Go ahead and open GitHub Issue with your request and we'll respond as soon as possible.
We've recently closed a $38 million Series B funding round and we keep actively growing. 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.