/ SDKs / Unity
SDKs
Chat SDKs Unity v4
Chat SDKs Unity
Chat SDKs
Unity
Version 4

Send your first message

Copy link

With Sendbird Chat SDK for Unity, you can efficiently integrate real-time chat into a client app. On the client-side implementation, you can initialize and configure the chat with minimal effort. On the server-side, Sendbird ensures reliable infra-management services for the chat service within your app.

This page demonstrates how to install the Chat SDK in your app so that you can send your first message in just a few simple steps.

Note: The fastest way to see Sendbird Chat SDK in action is to build your app on top of our sample app. Download the sample app to jumpstart your build.


Requirements

Copy link

The minimum requirements for Chat SDK for Unity are the following.

  • Unity 2019.4 or higher

Note: Sendbird server supports Transport Layer Security (TLS) from version 1.0 up to 1.3. For example, in the server regions where TLS 1.3 isn’t available, lower versions, sequentially from 1.2 to 1.0, will be supported for secure data transmission.


Before you start

Copy link

Before installing Sendbird Chat SDK, you need to create a Sendbird application on Sendbird Dashboard, which comprises everything required in a chat service including users, messages, and channels. You will need the App ID of your Sendbird application when initializing the Chat SDK.

Note: Each Sendbird application can be integrated with a single client app. Within the same application, users can communicate with each other across all platforms, whether they are on mobile devices or on the web.

Access control list

Copy link

Sendbird provides various access control options when using the Chat SDK. By default, the following attributes are turned on to avoid unexpected errors when creating sample apps and sending your first message:

  • Allow retrieving user list
  • Allow updating user metadata
  • Allow creating open channels
  • Allow creating group channels

However, this may grant access to unwanted data or operations, leading to potential security concerns. To manage your access control settings, you can turn on or off each option in Settings > Application > Security > Access control list on Sendbird Dashboard.


Get started

Copy link

To send a message in a client app, you should build and configure an in-app chat using Sendbird Chat SDK.

Step 1 Create a project

Copy link

Create a new Unity project.

Step 2 Install the Chat SDK

Copy link

Installing the Chat SDK is simple if you’re familiar with using external libraries or SDK’s in your projects.

  1. Select Package Manager from the menu bar in the Unity Editor.

  2. Click the + button at the top left of the window. Then, select Add package from git URL...

  3. Add the following URL to the input field: https://github.com/sendbird/sendbird-chat-sdk-unity.git

  4. Click Add button to start the installation of the package.

  5. Once the libraries have been imported, create a new source code file and add the following code at the top to start using Sendbird Chat SDK.

using Sendbird.Chat;

Step 3 Initialize the Chat SDK

Copy link

Now, initialize Sendbird Chat SDK in the app to allow the Chat SDK to respond to changes in the connection status of Unity client apps. Initialization requires the App ID, which can be found on the Sendbird Dashboard. Pass in the App ID of the Sendbird application you created earlier on the dashboard to SendBirdClient.Init() for initialization.

SendbirdChat.Init(new SbInitParams(APP_ID));

Note: The SendBirdClient.Init() method of a SendBirdClient instance must be called once across your Unity client app.

Step 4 Connect to Sendbird server

Copy link

You will need a user in order to connect to Sendbird server and send a message to a channel. You can either create a user in the Sendbird Dashboard or use a unique ID that hasn't been taken by any of your Sendbird application users. In the latter case, a new user will be automatically created in your Sendbird application before being connected.

Note: To learn more about authenticating with an access token, go to Authentication.

SendbirdChat.Connect(USER_ID, AUTH_TOKEN, (inUser, inError) =>
{
    if (inError != null)
    {
        return; // Handle error.
    }
});

Step 5 Create a new open channel

Copy link

Create an open channel using the following codes. Open channels are where all users in your Sendbird application can easily participate without an invitation.

SbOpenChannelCreateParams openChannelCreateParams = new SbOpenChannelCreateParams();
SendbirdChat.OpenChannel.CreateChannel(openChannelCreateParams, (openChannel, inError) =>
{
    if (inError != null)
    {
        return; // Handle error.
    }

    // An open channel is successfully created.
    // Through the openChannel parameter of the callback method,
    // you can get the open channel's data from the Sendbird server.
});

Note: You can also create a group channel to send a message. To learn more, see Create a channel in the Group channel page.

Step 6 Enter the channel

Copy link

Enter the open channel to send and receive messages.

// The following sample code continues from Step 5.
SbOpenChannelCreateParams openChannelCreateParams = new SbOpenChannelCreateParams();
SendbirdChat.OpenChannel.CreateChannel(openChannelCreateParams, (openChannel, inError) =>
{
    if (inError != null)
    {
        return; // Handle error.
    }

    openChannel.Enter((inEnterError) =>
    {
        if (inEnterError != null)
        {
            return; // Handle error.
        }

        // The current user successfully enters the open channel,
        // and can chat with other users in the channel by using APIs.
    });
});

Step 7 Send a message to the channel

Copy link

Finally, send a message to the channel. To learn about the message types you can send, refer to Message overview in Chat Platform API.

You can check the message you've sent in Sendbird Dashboard. To learn about receiving a message, refer to the receive messages through a channel event handler page.

openChannel.SendUserMessage(MESSAGE, (inMessage, inError) =>
{
    if (inError != null)
    {
        return; // Handle error.
    }

    // The message is successfully sent to the channel.
    // The current user can receive messages from other users
    // through the SbOpenChannelHandler.OnMessageReceived() method of an event handler.
});