Version: 2020.3
LanguageEnglish
  • C#
Method group is Obsolete

NetworkMatch.ListMatches

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Obsolete The matchmaker and relay feature will be removed in the future, minimal support will continue until this can be safely done.

Declaration

public Coroutine ListMatches(int startPageNumber, int resultPageSize, string matchNameFilter, bool filterOutPrivateMatchesFromResults, int eloScoreTarget, int requestDomain, DataResponseDelegate<List<MatchInfoSnapshot>> callback);

Parameters

startPageNumber The current page to list in the return results.
resultPageSize The size of the page requested. This determines the maximum number of matches contained in the list of matches passed into the callback.
matchNameFilter The text string name filter. This is a partial wildcard search against match names that are currently active, and can be thought of as matching equivalent to *<matchNameFilter>* where any result containing the entire string supplied here will be in the result set.
filterOutPrivateMatchesFromResults Boolean that indicates if the response should contain matches that are private (meaning matches that are password protected).
eloScoreTarget The Elo score target for the match list results to be grouped around. If used, this should be set to the Elo level of the client listing the matches so results will more closely match that player's skill level. If not used this can be set to 0 along with all other Elo refereces in funcitons like NetworkMatch.CreateMatch or NetworkMatch.JoinMatch.
requestDomain The request domain for this request. Only requests in the same domain can interface with each other. For example if a NetworkMatch.CreateMatch is made with domain 1, only ListMatches that also specify domain 1 will find that match. Use this value to silo different (possibly incompatible) client versions.
callback The callback invoked when this call completes on the MatchMaker.

Returns

Coroutine This function is asynchronous and will complete at some point in the future, when the coroutine has finished communicating with the service backend.

Description

The function to list ongoing matches in the MatchMaker.

The NetworkMatch.ListMatches function returns page-based results of the currently active matches that agree with the supplied parameter to this function.

You should call this initially with a page number starting at zero, and a reasonable page size (for example, 10). Too large a page will slow down the time required to download the information related to these matches. The callback will be invoked with data containing up to the resultPageSize as the number of matches (for example, if startPageNumber is currently 3 and resultPageSize is 5, the data passed into the callback will be the matches that correspond to results 15-20 in the list of results). Then you can call this function repeatedly, incrementing the startPageNumber and keeping the resultPageSize and matchNameFilter fixed in order to keep the results semi stable (matches may be created or destroyed as you call into this and the results will reflect that).

using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Networking.Match;
using System.Collections.Generic;

public class ExampleScript : MonoBehaviour { void Start() { NetworkManager.singleton.StartMatchMaker(); NetworkManager.singleton.matchMaker.ListMatches(0, 10, "", true, 0, 0, OnMatchList); }

public void OnMatchList(bool success, string extendedInfo, List<MatchInfoSnapshot> matches) { // ... } }