Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by Masurk · Nov 25, 2016 at 07:58 AM · c#networkingmatchmaking

'UnityEngine.Networking.Match.MatchDesc' is inaccessible due to its protection level (CS0122) (Assembly-CSharp)

I just copied an example of a matchmaker script from Unity manual (wich is actually pasted below), but MonoDevelop points on a mistake "is inaccessible due to its protection level (CS0122) " and on "Error CS0052: Inconsistent accessibility". I changed literally nothing, just attempted to compile an example code. How to solve it? using UnityEngine; using UnityEngine.Networking; using UnityEngine.Networking.Types; using UnityEngine.Networking.Match; using System.Collections.Generic;

 public class HostGame : MonoBehaviour
 {
     List<MatchDesc> matchList = new List<MatchDesc>(); /* First cs0122 error + Error CS0052: Inconsistent accessibility: field type 'System.Collections.Generic.List<UnityEngine.Networking.Match.MatchDesc>' is less accessible than field 'HostGame.matchList' (CS0052) (Assembly-CSharp)*/
     bool matchCreated;
     NetworkMatch networkMatch;
 
     void Awake()
     {
         networkMatch = gameObject.AddComponent<NetworkMatch>();
     }
 
     void OnGUI()
     {
         // You would normally not join a match you created yourself but this is possible here for demonstration purposes.
         if(GUILayout.Button("Create Room"))
         {
             CreateMatchRequest create = new CreateMatchRequest();
             create.name = "NewRoom";
             create.size = 4;
             create.advertise = true;
             create.password = "";
 
             networkMatch.CreateMatch(create, OnMatchCreate);
         }
 
         if (GUILayout.Button("List rooms"))
         {
             networkMatch.ListMatches(0, 20, "", OnMatchList);
         }
 
         if (matchList.Count > 0)
         {
             GUILayout.Label("Current rooms");
         }
         foreach (var match in matchList)
         {
             if (GUILayout.Button(match.name))
             {
                 networkMatch.JoinMatch(match.networkId, "", OnMatchJoined);
             }
         }
     }
 
     public void OnMatchCreate(CreateMatchResponse matchResponse) //Second error(a combination of two previous) 
     {
         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 OnMatchList(ListMatchResponse matchListResponse) //third error
     {
         if (matchListResponse.success && matchListResponse.matches != null)
         {
             networkMatch.JoinMatch(matchListResponse.matches[0].networkId, "", OnMatchJoined);
         }
     }
 
     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!");
     }
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
3

Answer by hal9000 · Jan 26, 2017 at 09:06 AM

Here is the guide to update the API calls. The guide is very good, showing examples how to replace old code with the new API calls.

https://docs.unity3d.com/Manual/UpgradeGuide54Networking.html

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
1

Answer by Adam-Mechtley · Nov 25, 2016 at 01:46 PM

Hi @Masurk! This sounds like a page in the documentation was not updated. Could you please file a bug report (and select Documentation from the drop-down) specifying exactly which page this is on. This page in the docs claims that MatchDesc is now MatchInfoSnapshot

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image josephzli2011 · Sep 02, 2020 at 01:30 PM 0
Share

Thank you so much!

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

9 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Distribute terrain in zones 3 Answers

Looking for basic explanation on unity matchmaker (5.4) and how to use in scripts 0 Answers

Automatic Match Joining for Networked Games 0 Answers

Sorting an automated matchmaking system 0 Answers

UNET match making finding but not showing matches.. 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges