Chat / Unreal
Current version: v3
Chat Unreal v3
Chat Unreal
Chat
Unreal
Home
/
Chat
/
Unreal

Send your first message

Sendbird Chat SDK for Unreal is a development kit that enables an easy and fast integration of standard chat features into client apps. 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 adding chat within the app.

If you are looking to build an app with chat features, we recommend you build a client app on top of our sample app. If you already have an app and you are looking to add chat to it, proceed with this guide to integrate chat into your app. This guide walks you through installing the Chat SDK in your app, creating a channel, and sending your first message to the channel.


Requirements

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

  • Unreal Engine 4.27 (default) or Unreal Engine 4.26

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


Before you start

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 need the Application ID of your Sendbird application from the dashboard when initializing the Chat SDK.

  1. Go to Sendbird Dashboard and create an account for a free trial. If you already have a Sendbird account, sign into your account.

  2. Create a new application by clicking Create + at the bottom right of your screen.

  3. Enter a name for your application. Choose a Product Type and Region. Then, click Confirm.

  4. Click the application you just created under Applications. You will see the application's Application ID which you will need when initializing the Chat SDK.

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

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

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

See this page to learn how to create a new Unreal project.

Step 2 Install the Chat SDK

  1. Download Sendbird Plugin in the GitHub repository for Unreal.

  2. Copy the Sendbird folder into the Plugins folder in your Unreal project.

  3. Add Sendbird to the Plugins section of your *.uproject file.

{
  ...,
  "Plugins": [
    {
      "Name": "Sendbird",
      "Enabled": true
    }
  ]
}
  1. Add OpenSSL and Sendbird modules to your *.Build.cs file.
PrivateDependencyModuleNames.AddRange(new string[] { "OpenSSL", "Sendbird" });
  1. Add the Sendbird.h file to your .cpp file.
#include "Sendbird.h"

Step 3 Initialize the Chat SDK

Now, initialize Sendbird Chat SDK in the app to allow the Chat SDK to respond to changes in the client apps' connection status. To initialize the SDK, you need the Application ID of your Sendbird application, which can be found on Sendbird Dashboard. Pass the Application ID you copied earlier on the dashboard to SBDMain::Init() to initialize.

SBDMain::Init(APP_ID);

Note: The SBDMain::Init() method of a SBDMain class must be called at least once across a client app.

Step 4 Connect to the Sendbird server

You need a user in order to connect to the Sendbird server and send a message to a channel. You can either create a user on 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 is automatically created in your Sendbird application before being connected.

To learn more about using an access token to authenticate a user, see the authentication page.

SBDMain::Connect(USER_ID, SBD_NULL_WSTRING, [](SBDUser* user, SBDError* error) {
    if (error != nullptr) {
        // Handle error.
        return;
    }

    // The user is connected to the Sendbird server.
});

Step 5 Create a new open channel

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

SBDOpenChannelParams params = SBDOpenChannelParams();
SBDOpenChannel::CreateChannel(params, [](SBDOpenChannel* openChannel, SBDError* error) {
    if (error != nullptr) {
        // Handle error.
        return;
    }
});

Note: You can also create a group channel to send a message. To learn more, see create a group channel.

Step 6 Enter the channel

Enter the open channel to send and receive messages.

// The following sample code continues from Step 5.
SBDOpenChannelParams params = SBDOpenChannelParams();
SBDOpenChannel::CreateChannel(params, [](SBDOpenChannel* openChannel, SBDError* error) {
    if (error != nullptr) {
        // Handle error.
        return;
    }

    openChannel->Enter([](SBDError* error) {
        if (error != nullptr) {
            // Handle error.
            return;
        }

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

Step 7 Send a message to the channel

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 on Sendbird Dashboard. To learn about receiving a message, refer to the receive messages through a channel event handler page.

SBDUserMessageParams params = SBDUserMessageParams().SetMessage(TEXT_MESSAGE);
openChannel->SendUserMessage(params, [](SBDUserMessage* userMessage, SBDError* error) {
    if (error != nullptr) {
        // Handle error.
        return;
    }

    // A text message with detailed configuration is successfully sent to the channel.
    // You can access the result object from the Sendbird server 
    // to check your SBDUserMessageParams configuration.
    // The current user can receive messages from other users
    // through the MessageReceived() method of a channel event handler.
});