• 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 /
  • Help Room /
avatar image
0
Question by PandaChaoZ · Sep 23, 2018 at 01:43 PM · photonmapdropdown

Photon - How to do a map selection ?

So I am working on a project that uses PUN and so I want to know how to do a map selection because I want my game to have multiple maps but I don't know how to do it. If anyone helps me, it would be very nice. :) (Also, i want to use a dropdown in the creation of the room and after that, there is a list of players where the host can press 'PLAY' to start the match for ALL players in the selected map)

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class CreateRoom : MonoBehaviour 
 {
     [SerializeField]
     private Text _roomName;
     private Text RoomName
     {
         get { return _roomName; }
     }
 
     [SerializeField]
     private Toggle _privateToggle;
     private Toggle PrivateToggle
     {
         get { return _privateToggle;  }
     }
 
     public bool IsPrivate = false;
 
     public byte PlayerMax = 4;
 
     public Text RandomRoomNameText;
     private string randomRoomName;
     public string theRoomName;
     public byte sceneToLoad;
 
     public void OnClick_CreateRoom()
     {
         RoomOptions newRoomOptions = new RoomOptions() { IsVisible = IsPrivate, IsOpen = true, MaxPlayers = PlayerMax };
         newRoomOptions.customRoomProperties = new ExitGames.Client.Photon.Hashtable();
         newRoomOptions.customRoomProperties.Add("map", sceneToLoad);
         newRoomOptions.customRoomPropertiesForLobby = new string[] { "map" };
 
 
         if (PhotonNetwork.CreateRoom(theRoomName, newRoomOptions, TypedLobby.Default))
         {
             print("Verification accepted");
         }
         else
         {
             print("Verification failed");
         }
     }
 
     private void OnPhotonCreateRoomFailed(object[] codeAndMessage)
     {
         print("Failed to create a room: " + codeAndMessage[1]);
     }
 
     private void OnCreatedRoom()
     {
         print("Room succesfully created");
     }
 
     private void Start()
     {
         randomRoomName = "Room " + Random.Range(1, 999);
     }
 
     void Update()
     {
         RandomRoomNameText.text = randomRoomName;
 
         if(PrivateToggle.isOn == true)
         {
             IsPrivate = false;
         } else
         {
             IsPrivate = true;
         }
 
         if(RoomName.text == null)
         {
             theRoomName = randomRoomName;
         }
         else
         {
             theRoomName = RoomName.text;
         }
     }
 
 }

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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by ChristianSimon · Sep 25, 2018 at 01:06 PM

Hi,

the network code looks good so far. The only thing you have to do is to update the value of sceneToLoad before creating the room. To do so, you can take a look at Unity's Scripting API for the Dropdown. I guess you can use the onValueChanged event, to update the local variable.

When the client is in the room, you can iterate through PhotonNetwork.playerList to get every client in the same room. How you display them on screen, is your choice.

To let each client load the same scene, you can set PhotonNetwork.automaticallySyncScene to true and use PhotonNetwork.LoadLevel on the MasterClient. This way, the loaded level is stored in the Custom Room Properties and each client will load the same scene.

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

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

159 People are following this question.

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

Related Questions

Pick a random player to be an "impostor" - Photon Pun2 0 Answers

Button texture changing with photon,changing material with a button using photon 0 Answers

How to create a game map? 0 Answers

Is it possible to create a map editor for players to create their own maps to play and share? 1 Answer

MapBox | Terrain Elevation and Location based Player 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