# BossRoom Co-op game made with MLAPI ## Installation and getting started - Clone the repository - Open the root folder of the repository in the Unity Hub. - The Multipie package is currently internal only. If it causes issues while trying to open the project remove it from Packages/manifest.json - The entry scene is the *MainMenu* scene. From there a game can be hosted or an existing game can be joined. ## Using the Photon Transport - Add the PhotonRealtimeTransport component to the NetworkingManager GameObject. - Set the appID to: bc5b8b0d-edf3-4c61-9593-ce38da7f0c79 (for internal use only) or create your own appid on https://www.photonengine.com/ - Set the RoomName to something which isn't an empty string like test. - Replace the transport variable of the NetworkingManager to the PhotonRealtimeTransport component. - Enter Playmode as host/clients => It should just work. ## Using the Navigation System ### Building a navigation mesh The project is using NavMeshComponents. This means direct building from the Navigation window will not give the desired results. Instead find a NavMeshComponent in the given scene e.g. a **NavMeshSurface** and use the bake button of that script. Also make sure that there is always only one navmesh file per scene. Navmesh files are stored in a folder with the same name as the corresponding scene. You can recognize them based on their icon in the editor. They follow the naming pattern "NavMesh-\" ### Dynamic Navigation Objects A dynamic navigation object is an object which affects the state of the navigation mesh such as a door which can be openend or closed. To create a dynamic navigation object add a NavMeshObstacle to it and configure the shape (in most cases this should just match the corresponding collider). Then add a DynamicNavObstacle component to it. ### Navigation System Each scene which uses navigation or dynamic navigation objects should have a NavigationSystem component on a scene gameobject. That object also needs to have the "NavigationSystem" tag.