Sign In Register

How can we help you today?

Start a new topic

Why is "Skill" passed via the FindMatchRequest?

Hey there,


I'm currently setting up MatchMaking for a UE4 Game. I saw that the "FindMatchRequest" Node has a "Skill" input.
I assume that value is used in the Match Threshold stuff. Why is this on the Client?
I would assume, since the User is known (authenticated), the GameSparks MatchMaking pulls the number from the PlayerData, as well as that I can update the Data via Server when a game is won/lost.

I had this in mind similar to Overwatch, where you gain or loose Ranked Points and you are matched based on them.
Letting the Client pass the Number is just not a thing.

Manual matching the Players also results in this SKILL number being used.
How can I get MatchMaking to use a value that a Client can't access?

Cheers


Hi Guys,


The FindMatchRequest has been deprecated and has been replaced with the MatchMakingRequest. The skill value could be a value from a collection or one that is stored on the player in scriptData.


Regards,

Liam

Okay I assume I can get my own Variable going for that by overriding the original FindMatchRequest.

Yeah, I had the same thoughts and was pretty annoyed that you can't easily 'override' the skill value passed into the Request. You have to make a separate internal CC call to pass in the right value.

 

Yeah, I ended up doing it like this:

Created a new event called "findMatch".

Add this code for it:

//Get MatchShortCode

var MatchShortCode = Spark.getData().matchShortCode;


// Create new MatchRequest

var MatchRequest = new SparkRequests.MatchmakingRequest();


// Fill in ShortCode and Skill

MatchRequest.matchShortCode = MatchShortCode;

MatchRequest.skill = Spark.getPlayer().getScriptData("rank");


// Send the Request

MatchRequest.Send();

The "rank" script data is a value a add to a Player's script data when they register.
And I later modify that for the actual skill.

Login to post a comment