Skip to content
EchoSpaceStudios
All tutorials
Unity, Photon, PlayFabIntermediate5 - 10 mins

Unity to Discord Photon Player Lobby Logger

Learn how to track photon players through discord webhooks and Playfab CloudScripts.

Published

Step 1: Create empty in unity and rename to what you like.

Step 2: Create new script and copy "Player Tracker" unity and put on the empty object

Step 3: ensure you have a playfablogin script. if not replace playfablogin with what you have your playfab logic as.

Step 4: Save and goto PlayFab revisions.

Step 5: Paste Revision Script into revisions.

Step 6: Enter your webhook url into the revisions.

Step 7: Save and Deploy.

Player Tracker Script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using PlayFab;
using PlayFab.ClientModels;

public class PlayerTracker : MonoBehaviour
{
    public bool CanSend = true;
    private Playfablogin playfablogin;
    private string ID;

    public void Start()
    {
        playfablogin = GetComponent<Playfablogin>();
    }
    void Update()
    {
        if (PhotonNetwork.CurrentRoom != null && CanSend)
        {
            PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest()
            {
                FunctionName = "TrackPlayer",
                FunctionParameter = new
                {
                    PhotonName = PhotonNetwork.NickName,
                    RoomCode = PhotonNetwork.CurrentRoom.Name
                }
            }, ExecuteSuccess, ExecuteFail);
            CanSend = false;
        }
    }

    void ExecuteSuccess(ExecuteCloudScriptResult request)
    {
        Debug.Log(request.FunctionResult);

    }

    void ExecuteFail(PlayFabError error)
    {
        Debug.LogError(error);
    }

    public void OnPlayerLeftRoom()
    {
        CanSend = true;
    }
}

Revision Script:

handlers.TrackPlayer = function(args) {
    var PhotonName = args.PhotonName;
    var RoomCode = args.RoomCode;
    
    var contentBody = {
    "content": "```" + "A Player Has Joined a Room" + "\n" + 
    "PlayerName: " + PhotonName + "\n" +
    "PlayerID: " + currentPlayerId + "\n" +
    "RoomCode: "+ RoomCode + "```"
    };
    
    var url = "PUT DISCORD WEBHOOK HERE";
    var method = "post";
    var contentType = "application/json";
    var headers = {};
    var responseString =  http.request(url,method,JSON.stringify(contentBody),contentType,headers);
}
Community

Got it working? Or stuck?

Either way, the Discord is the place to say so — questions here often turn into the next tutorial.

Back to all tutorials