Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

Question Scene management in MLAPI

Discussion in 'Netcode for GameObjects' started by Lazy_Evaluation, May 3, 2021.

  1. Lazy_Evaluation


    Nov 16, 2019
    Hello guys! I'm beginning to learn MLAPI, from documentation and youtube tutorials.
    I'm confused about scene management. I know that there's a network switch scene method to switch scene between all clients, but how do I switch scene in a single client?
    Let's say, for example, that my multiplayer game has three levels, each in in own scene, and a door connects the scenes. In singleplayer, I would change scene via SceneManager.LoadScene. But how do I do it with MLAPI? I guess I have to change scene and spawn the other players prefab that are in this scene.

    Second question, this should be easier: how do I change scene after connecting/beginning the host process? I need to switch from my menu to my game scene.
    Thanks guys <3
  2. cosminunity


    Unity Technologies

    Mar 4, 2021
    Hi @Lazy_Evaluation,

    To switch the scene on a client, you would normally need to use the SceneManager API of Unity, I think a great reference to look at for doing what you are looking for is one of our Bitesize Samples called Invaders which features a Lobby + join in progress and more, by having a trivial Finite State Machine that handles the scene that you are in.

    For more information, please check out our DOCS here and the GitHub Repo for Invaders and other Bitesize samples

    Let me know if this helps you!

    With that being said more updates will come to MLAPI around SceneManagement so stay tuned! And not to worry, we will update our Docs and Samples to reflect those changes!

  3. mishakozlov74


    Aug 8, 2018

    Hey, I got a quite similar question, so I decided to ask here instead of creating a new thread.

    I read DOCS and it seems that MLAPI is more about cooperative games rather then MMO, am I right?

    I don't see a way to have different locations with different branch of players on it (which is quite common for MMO games).

    If I am wrong, I kindly ask you to explain the strategy for implementing that.

    I need a few common locations for players and locations like "home" where only local player can be.

    Actually, I can't imagine it being possible, since server is unity application and unity can have multiple scenes only with Adaptive mode, which is not suitable for different locations.

    And I see that you have SceneManagement update in Roadmap, is it relevant to this scenario?
    FinleyOderSo likes this.
  4. Picaresque


    May 8, 2021
    I have a similar question. I want to know how to let one player to change a scene (let's say, he wants to open settings scene, market scene, etc), but at the same time I want the player object to stay in the game and when the player returns back to the main game scene, I want him to be able to control his player object. How can I implement this? Shall I use a SceneManager or a NetworkSceneManager?
    (I am new to unity and MLAPI)
  5. mishakozlov74


    Aug 8, 2018

    Yes, you can. I implemented it quite easy with custom interest management.

    Check HideNetwork method (or something like that).

    But eventually I dropped this solution, because you lose authority, which is important for me.

    However, market or settings can be implemented without that, user load them only on client, I assume.
    Picaresque likes this.
  6. sunboqing


    Mar 14, 2022
    Is there a solution now?
  7. anas-rg


    Apr 19, 2020
    Hey, I'm looking for a solution to a similar problem. Has anyone figured out how to achieve the MMO scene scenario? OR is there any update for this on unity's end?
    mishakozlov74 likes this.