LogoLogo
  • SWNetwork SDK Overview
  • Installation
    • Custom Unity Package
  • Tutorials
    • Third-Person Shooter
      • Starter Project Introduction
      • Install SWNetwork
      • Setting up the NetworkClient
      • Sync Player Transform
      • Setting up the Scene Spawner
      • Test and Play
      • Remote Events
      • SyncProperties
      • Player Respawn
      • Updating Room States
      • Winning the Game
    • Basic Lobby
      • Lobby-start
      • Installing SWNetwork SDK and configuring NetworkClient
      • Registering Player
      • Room CRUD
      • Managing Teams
      • Chat
  • SDK
    • Network Client
      • Check-in
      • Game Servers
      • Network Status Event (beta)
      • Classes
        • NetworkClient Class
      • Methods
        • CheckIn() Method
        • ConnectToRoom(Action<bool>) Method
        • DisconnectFromRoom () Method
        • FindSpawner(ushort) Method
    • Game Play
      • Network ID
      • Realtime Agent
      • Remote Event
      • Sync Property
        • Restore Sync Properties
        • Conflict Resolution
      • SceneSpawner
      • RoomPropertyAgent
      • RoomRemoteEventAgent
    • Lobby
      • Register Player
      • Message Player
      • Create Room
      • Change Room Settings
      • Get Rooms
      • Filter Rooms
      • Join Room
      • Message Room
      • Get Players in Room
      • Get Room Custom Data
      • Change Room Custom Data
      • Kick Players
      • Start Room
      • Leave Room
      • Lobby Room Events
        • OnLobbyConnectedEvent
        • OnPlayerMessageEvent
        • OnRoomCustomDataChangeEvent
        • OnNewPlayerJoinRoomEvent
        • OnPlayerLeaveRoomEvent
        • OnNewRoomOwnerEvent
        • OnRoomStartingEvent
        • OnRoomReadyEvent
        • OnFailedToStartRoomEvent
        • OnKickedEvent
        • OnRoomMessageEvent
      • Classes
        • SWLobby Class
        • SWPlayer Class
        • SWRoom Class
        • SWRegisterReply Class
        • SWGetRoomReply Class
        • SWJoinRoomReply Class
        • SWGetRoomCustomDataReply Class
        • SWGetPlayersReply Class
        • SWLobbyIndexData Class
        • SWLobbyFilterData Class
        • SWGetRoomFilterReply Class
        • SWLobbyError Class
        • SWMessagePlayerEventData Class
        • SWMessageRoomEventData Class
        • SWRoomCustomDataChangeEventData Class
        • SWJoinRoomEventData Class
        • SWLeaveRoomEventData Class
        • SWRoomChangeOwnerEventData Class
        • SWStartRoomEventData Class
        • SWRoomReadyEventData Class
        • SWFailedToStartRoomEventData Class
      • Methods
        • Register(Action<bool, SWRegisterReply, SWLobbyError>) Method
        • MessagePlayer(string, string, Action<bool, SWLobbyError>) Method
        • CreateRoom(bool, int, Action<bool, string, SWLobbyError>) Method
        • ChangeRoomSettings(int, int, Action<bool, SWLobbyError>) Method
        • GetRooms(int, int, Action<bool, SWGetRoomReply, SWLobbyError>) Method
        • FilterRoom(SWLobbyFilterData, byte, Action<bool, SWGetRoomFilterReply, SWLobbyError>) Method
        • JoinRoom(string, Action<bool, SWJoinRoomReply, SWLobbyError>) Method
        • JoinRoomRandomly(Action<bool, SWJoinRoomReply, SWLobbyError>) Method
        • JoinOrCreateRoom(bool, int, int, Action<bool, SWJoinRoomReply, SWLobbyError>) Method
        • MessageRoom(string, Action<bool, SWLobbyError>) Method
        • GetRoomCustomData(Action<bool, SWGetRoomCustomDataReply, SWLobbyError>) Method
        • GetPlayersInRoom(Action<bool, SWGetPlayersReply, SWLobbyError>) Method
        • ChangeRoomCustomData(string, Action<bool, SWLobbyError>) Method
        • StartRoom(Action<bool, SWLobbyError>) Method
        • LeaveRoom(Action<bool, SWLobbyError>) Method
  • Open Source Software Used
    • Credits
Powered by GitBook
On this page
  • Overview
  • Example

Was this helpful?

  1. SDK
  2. Lobby

Message Player

PreviousRegister PlayerNextCreate Room

Last updated 5 years ago

Was this helpful?

Overview

Sends messages to another player of your game. Players have to be in the same Lobby region to receive the messages.

SocketWeaver does not have services for managing user profiles. You need to use services like Google Firebase to store SocketWeaver playerIds to use this API. The overview of the workflow is demonstrated in the picture below.

Methods

Called by players to begin an asynchronous operation to send message to another player using the specified targetPlayerId and string messageData.

Called by players to begin an asynchronous operation to send message to another player using the specified targetPlayerId and serializable object messageData.

Class

The error that occurred when a lobby API operation failed.

Maximum size of a message data is 4.5KB.

Example

In this example, we are sending a simple string message to the target player.

NetworkClient.Lobby.MessagePlayer(playerId, "Hello", (bool successful, SWLobbyError error) =>{
    if (successful){
        Debug.Log("Sent player message");
    }
    else{
        Debug.Log("Failed to send player message " + error);
    }
});

In this example, we are sending serializable object messages to the target player. You can implemented your own messaging protocol.

[Serializable]
public class CustomMessageData{
    public string method;
    public string data;
}

Sending a chat message.

CustomMessageData customMessageData = new CustomMessageData();
customMessageData.method = "chat";
customMessageData.data = "Hello!";

NetworkClient.Lobby.MessagePlayer(playerId, customMessageData, (bool successful, SWLobbyError error) =>{
    if (successful)
    {
        Debug.Log("Sent player message");
    }
    else
    {
        Debug.Log("Failed to send player message " + error);
    }
});

Sending a room invite

CustomMessageData customMessageData = new CustomMessageData();
customMessageData.method = "room-invite";
customMessageData.data = roomId;

NetworkClient.Lobby.MessagePlayer(playerId, customMessageData, (bool successful, SWLobbyError error) =>{
    if (successful){
        Debug.Log("Sent player message");
    }
    else{
        Debug.Log("Failed to send player message " + error);
    }
});

MessagePlayer(string, string, Action<bool, SWLobbyError>)
SWLobbyError
MessagePlayer(string, object, Action<bool, SWLobbyError>)