diff --git a/Assets/Readme.asset b/Assets/Readme.asset index 4af7a64d1..82f297bf6 100644 --- a/Assets/Readme.asset +++ b/Assets/Readme.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee7c71d7f0de6fe2614eaddccd0475f7123fcf5c7023373ab585d864cde14e7b -size 1593 +oid sha256:0dc36111ae6abda8bd267480ed5bb0463196175b303325911227d92acf9e5ac5 +size 1599 diff --git a/Packages/com.unity.multiplayer.samples.coop/CHANGELOG.md b/Packages/com.unity.multiplayer.samples.coop/CHANGELOG.md index f5d0d7c5b..24fde3b47 100644 --- a/Packages/com.unity.multiplayer.samples.coop/CHANGELOG.md +++ b/Packages/com.unity.multiplayer.samples.coop/CHANGELOG.md @@ -4,6 +4,6 @@ All notable changes to this project template will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [0.1.0-experimental] - 2021-04-07 +## [0.1.0] - 2021-04-07 -### This is the experimental release of *Boss Room: Small scale coop sample*. +### This is the early access release of *Boss Room: Small scale co-op sample*. diff --git a/Packages/com.unity.multiplayer.samples.coop/LICENSE.md b/Packages/com.unity.multiplayer.samples.coop/LICENSE.md index bb8c73b1a..1f9b60552 100644 --- a/Packages/com.unity.multiplayer.samples.coop/LICENSE.md +++ b/Packages/com.unity.multiplayer.samples.coop/LICENSE.md @@ -1,4 +1,4 @@ -Boss Room: Small scale coop sample © 2021 Unity Technologies +Boss Room: Small scale co-op sample © 2021 Unity Technologies Licensed under the Unity Companion License for Unity-dependent projects (see https://unity3d.com/legal/licenses/unity_companion_license); otherwise licensed under the Unity Package Distribution License (see https://unity3d.com/legal/licenses/Unity_Package_Distribution_License). diff --git a/Packages/com.unity.multiplayer.samples.coop/README.md b/Packages/com.unity.multiplayer.samples.coop/README.md index ddd7573bf..3601e75bf 100644 --- a/Packages/com.unity.multiplayer.samples.coop/README.md +++ b/Packages/com.unity.multiplayer.samples.coop/README.md @@ -1,25 +1,35 @@ ![Banner](Documentation/Images/Banner.png) -# BossRoom - co-op multiplayer RPG built with Unity MLAPI +# Boss Room - co-op multiplayer RPG built with Unity MLAPI ->**IMPORTANT**: This project is currently experimental. +| 🛑 IMPORTANT - Early Access 🛑 | +| -- | +| Boss Room: Small Scale Co-op Sample is built on top of the MLAPI package. The MLAPI package is on the road to being a fully featured solution. We have solutions architects available on Discord and forums to help you work through issues you encounter. | -BossRoom is a fully functional co-op multiplayer RPG made in Unity and MLAPI. It is built to serve as an educational sample that showcases certain typical gameplay patterns that are frequently featured in similar games. +Boss Room is a fully functional co-op multiplayer RPG made with Unity MLAPI. It is built to serve as an educational sample that showcases certain typical gameplay patterns that are frequently featured in similar games. -Our intention is that you can use everything in this project as a starting point or as bits and pieces in your own Unity games. The project is licensed under the Unity Companion License. See [LICENSE](LICENSE) for more legal information. +Our intention is that you can use everything in this project as a starting point or as bits and pieces in your own Unity games. The project is licensed under the Unity Companion License. See [LICENSE.md](LICENSE.md) for more legal information. ``` Platforms : Windows, Mac ``` +![](Documentation/Images/3Players.png) +![](Documentation/Images/Boss.png) + ## Getting the project - - A release version can be downloaded from the [Releases](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases) page. + - The early access version can be downloaded from the [Releases](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases) page. - Alternatively: click the green `Code` button and then choose to download the zip archive. Remember, that you would download the branch that you are currently viewing in Github. + - For Windows users: Using Windows' built-in extracting tool may generate a "Error 0x80010135: Path too long" error window which can invalidate the extraction process. A workaround for this is to shorten the zip file to a single character (eg. "c.zip") and move it to the shortest path on your computer (most often right at C:\\) and retry. If that solution fails, another workaround is to extract the downloaded zip file using 7zip. + +## Installing Git LFS + +This project uses Git Large Files Support (LFS), which ensures all large assets required locally are handled for the project. See [Git LFS installation options](https://github.com/git-lfs/git-lfs/wiki/Installation) for Windows and Mac instructions. ## Opening the project for the first time -Once you have downloaded the project the steps below should get you up and running: +Once you have downloaded the project, the steps below should get you up and running: - Make sure you have installed the version of Unity that is listed above in the prerequisites section. - Make sure to include standalone support for Windows/Mac in your installation. - Add the project in _Unity Hub_ by clicking on **Add** button and pointing it to the root folder of the downloaded project. @@ -28,7 +38,6 @@ Once you have downloaded the project the steps below should get you up and runni ![](Documentation/Images/StartupScene.png) - From there you can click the **Play** button. You can host a new game or join an existing game using the in-game UI. - ## Testing multiplayer In order to see the multiplayer functionality in action we can either run multiple instances of the game locally on our computer or choose to connect to a friend over the internet. @@ -49,11 +58,16 @@ After the build has completed you can launch several instances of the built exec --------------- **Multiplayer over internet** -In contrast to running a local setup, when playing over internet we don't neccessarily need a built executable. We can just run the game in editor. +In order to play over internet, we need to have a built executable that is shared between all players. See the previous section. -Running the game over internet currently requires setting up a [Photon Transport for MLAPI](https://github.com/Unity-Technologies/mlapi-community-contributions), which uses Photon relay server to facilitate communication between clients and server living on different networks. +It is possible to connect between multiple instances of the same executable OR between executables and the editor that produced said executable. -Alternatively you can use Port Forwarding. The wonderful https://portforward.com/ site has guides on how to enable port forwarding on a huge number of routers. BossRoom uses `UDP` and needs a `9998` external port to be open. +Running the game over internet currently requires setting up a [Photon Transport for MLAPI](https://github.com/Unity-Technologies/mlapi-community-contributions), which uses Photon relay server to facilitate communication between clients and server living on different networks. + +> Checkout our Photon-Realtime setup guide, here: +> [Boss Room Photon Setup Guide](Documentation/Photon-Realtime/Readme.md) + +Alternatively you can use Port Forwarding. The wonderful https://portforward.com/ site has guides on how to enable port forwarding on a huge number of routers. Boss Room uses `UDP` and needs a `9998` external port to be open. ------------------------------------------ @@ -66,14 +80,14 @@ The game is server-authoritative, with latency-masking animations. Position upda Code is organized into three separate assemblies: **Client**, **Shared** and **Server** which reference each other when appropriate. -For an in-depth overview of the project's architecture please check out our [ARCHITECTURE.md](ARCHITECTURE.md). +For an overview of the project's architecture please check out our [ARCHITECTURE.md](ARCHITECTURE.md). + +--------------- +For a deep dive in MLAPI and Boss Room, visit our [doc](https://docs-multiplayer.unity3d.com/) and [Learn](https://docs-multiplayer.unity3d.com/docs/learn/introduction) sections. ## Contributing -> __IMPORTANT__: -> This project uses Git Large Files Support (LFS). See the [link with Git LFS installation options](https://git-lfs.github.com/). - The project uses the `git-flow` branching strategy, as such: - `develop` branch contains all active development - `master` branch contains release versions @@ -83,4 +97,11 @@ To get the project on your machine you need to clone the repository from GitHub git clone https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git ``` +> __IMPORTANT__: +> You should have [Git LFS](https://git-lfs.github.com/) installed on your local machine. + Please check out [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on submitting issues and PRs to BossRoom! + +For futher discussion points and to connect with the team, join us on the MLAPI by Unity Discord Server - Channel #dev-samples + +[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=informational)](https://discord.gg/FM8SE9E) diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index e97816aaf..9a8e0e2b5 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f5c071ca7bf442a2eabdb420c97f16bd488d29dca6f2df824914f0d752d1a0b -size 20855 +oid sha256:5a41039292e87eb931590c172313c31f152d6000f3da88f47904d23cd28dac22 +size 20842