Can't see other server with network matchmaking

I was using Photon and everything was fine, but now I’m starting to use the built-in system, because the new one seems to be as good and easy to use, so why bother using a plugin ? But I’m struggling with basic stuff.

So anyway I’m starting really simple, I just want to see if there are other server, if not create one.

So I have a Networkmanager object with this script that I’ve mostly copied from the Unity website : Unity - Scripting API: NetworkMatch

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

public class NetworkManager : MonoBehaviour {
    List<MatchDesc> matchList = new List<MatchDesc>();
    bool matchCreated;
    NetworkMatch networkMatch;

    void Awake()
    {
        DontDestroyOnLoad(transform.gameObject);
        networkMatch = gameObject.AddComponent<NetworkMatch>();
    }

    // Use this for initialization
    void Start () {
        networkMatch.ListMatches(0, 20, "", OnMatchList);
    }


    public void OnMatchList(ListMatchResponse matchListResponse)
    {
        if (matchListResponse.success)
        {
            if (matchList.Count == 0)
            {
                CreateMatchRequest create = new CreateMatchRequest();
                create.name = "NewRoom";
                create.size = 2;
                create.advertise = true;
                create.password = "";
                networkMatch.CreateMatch(create, OnMatchCreate);
            }
        }
    }

    public void OnMatchCreate(CreateMatchResponse matchResponse)
    {
        if (matchResponse.success)
        {
            Debug.Log("Create match succeeded");
            matchCreated = true;
            Utility.SetAccessTokenForNetwork(matchResponse.networkId, new NetworkAccessToken(matchResponse.accessTokenString));
            NetworkServer.Listen(new MatchInfo(matchResponse), 9000);
        }
        else
        {
            Debug.LogError("Create match failed");
        }
    }

    public void OnMatchJoined(JoinMatchResponse matchJoin)
    {
        if (matchJoin.success)
        {
            Debug.Log("Join match succeeded");
            if (matchCreated)
            {
                Debug.LogWarning("Match already set up, aborting...");
                return;
            }
            Utility.SetAccessTokenForNetwork(matchJoin.networkId, new NetworkAccessToken(matchJoin.accessTokenString));
            NetworkClient myClient = new NetworkClient();
            myClient.RegisterHandler(MsgType.Connect, OnConnected);
            myClient.Connect(new MatchInfo(matchJoin));
        }
        else
        {
            Debug.LogError("Join match failed");
        }
    }

    public void OnConnected(NetworkMessage msg)
    {
        Debug.Log("Connected!");
    }



    // Update is called once per frame
    void Update () {
        networkMatch.ListMatches(0, 20, "", OnMatchList);
    }
}

So with my first player it work fine, it doesn’t detect a server and create one.
But my second player still don’t see a server, and so create one.

I’m probably missing something really stupid, something like putting a network component on my object, but again it’s hard to move from photon to this, even if both systems look very similar.

Ok, for some some reason matchList.Count is not working, that’s why I thought it was not detecting other server when it was.
I’m using matchListResponse.matches.Count instead and it works.