Skip to content

Commit 1a267a9

Browse files
Feat: Readme Updates (#808)
* A readme update to match the refreshed bitesize readme update * tweaked the utilities package section * fixed broken links for badges, made a mac users info call out more obvious * Fixed some broken table of contents links, corrected a web badge link, and addressed a typo comment * removed a line break
1 parent f33b41a commit 1a267a9

File tree

1 file changed

+131
-76
lines changed

1 file changed

+131
-76
lines changed

README.md

Lines changed: 131 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,113 @@
11
![Banner](Documentation/Images/Banner.png)
2-
## Co-op multiplayer RPG and utilities built with Unity Netcode for GameObjects
2+
<br><br>
3+
4+
# Boss Room: a Co-op, Multiplayer RPG Sample
5+
### Made with and Including Utilities for Netcode for GameObjects
6+
<br>
7+
8+
[![UnityVersion](https://img.shields.io/badge/Unity%20Version:-2021.3%20LTS-57b9d3.svg?logo=unity&color=2196F3)](https://unity.com/releases/editor/qa/lts-releases?version=2021.3#:~:text=December%2015%2C%202022-,LTS%20Release,2021.3.15f1,-Released%3A%20December)
9+
[![NetcodeVersion](https://img.shields.io/badge/Netcode%20Version:-1.2.0-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/about)
10+
[![LatestRelease](https://img.shields.io/badge/Latest%20Github%20Release:-v2.0.4-57b9d3.svg?logo=github&color=brightgreen)](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases/tag/v2.0.4)
11+
<br><br>
312

413
Boss Room is a fully functional co-op multiplayer RPG made with Unity Netcode. It is an educational sample designed to showcase typical netcode [patterns](https://docs-multiplayer.unity3d.com/netcode/current/learn/bossroom/bossroom-actions/index.html) that are frequently featured in similar multiplayer games.
14+
<br><br>
515

16+
# Boss Room Sample Overview
617

7-
__PLEASE NOTE__:
8-
Boss Room is compatible with the latest Unity Long Term Support (LTS) editor version, currently [2021 LTS](https://unity.com/releases/2021-lts). Please include standalone support for Windows/Mac in your installation. <br>
18+
Boss Room is designed to be used in its entirety to help you explore the concepts and patterns behind a multiplayer game flow; such as character abilities, casting animations to hide latency, replicated objects, RPCs, and integration with the [Relay](https://unity.com/products/relay), [Lobby](https://unity.com/products/lobby), and [Authentication](https://unity.com/products/authentication) services.
919

10-
**Boss Room has been developed and tested on the following platforms:**
11-
- Windows
12-
- Mac
13-
- iOS
14-
- Android <br>
20+
You can use the project as a reference starting point for your own Unity game or use elements individually.
21+
<br><br>
1522

16-
**Boss Room's min spec devices are:**
17-
- iPhone 6S
18-
- Samsung Galaxy J2 Core <br>
23+
---
1924

20-
Find our full project documentation, [here](https://docs-multiplayer.unity3d.com/netcode/current/learn/bossroom/bossroom/index.html).
25+
### 💡 Utilities Package
26+
This repository also contains a [Utilities](Packages/com.unity.multiplayer.samples.coop) package, containing reusable sample scripts. You can install it using the following manifest file entry:
27+
<br>
28+
`"com.unity.multiplayer.samples.coop": "https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git?path=/Packages/com.unity.multiplayer.samples.coop",`
2129

22-
To connect and find support, join the multiplayer community on the Unity [Discord](https://discord.gg/mNgM2XRDpb) and [Forum](https://forum.unity.com/forums/multiplayer.26/).<br> Got feedback? Tell us what you think using our new [Feedback Form](#feedback-form) <center>.
23-
| -- |
30+
---
2431

2532

33+
<br>
2634

27-
## Contents and Quick Links
35+
For more information on the art of Boss Room, see [ART_NOTES.md](Documentation/ART_NOTES.md).
2836

29-
<!-- TOC generated from https://luciopaiva.com/markdown-toc/ -->
3037

38+
![](Documentation/Images/Boss.png)
39+
<br><br>
40+
41+
-----
42+
43+
## Readme Contents and Quick Links
44+
<!-- TOC generated from https://luciopaiva.com/markdown-toc/ -->
45+
<details open>
46+
<summary> <b>Click to expand/collapse contents</b> </summary>
3147

32-
- [Boss Room Overview](#boss-room-overview)
33-
- [Getting the project](#getting-the-project)
48+
- ### [Getting the project](#getting-the-project-1)
3449
- [Direct download](#direct-download)
3550
- [Installing Git LFS to clone locally](#installing-git-lfs-to-clone-locally)
36-
- [Registering the project with Unity Gaming Services (UGS)](#registering-the-project-with-unity-gaming-services-ugs)
37-
- [Opening the project for the first time](#opening-the-project-for-the-first-time)
38-
- [Exploring the project](#exploring-the-project)
39-
- [Testing multiplayer](#testing-multiplayer)
40-
- [Index of resources in this project](#index-of-resources-in-this-project)
51+
- ### [Requirements](#requirements-1)
52+
- [Min Spec Devices](#boss-rooms-min-spec-devices-are)
53+
- ### [Opening the project for the first time](#opening-the-project-for-the-first-time-1)
54+
- ### [Exploring the project](#exploring-the-project-1)
55+
- [Registering with Unity Gaming Services (UGS)](#registering-the-project-with-unity-gaming-services-ugs)
56+
- ### [Testing multiplayer](#testing-multiplayer-1)
57+
- [Local Multiplayer Setup](#local-multiplayer-setup)
58+
- [Multiplayer over Internet](#multiplayer-over-internet)
59+
- [Relay Setup](#relay-setup)
60+
- ### [Index of resources in this project](#index-of-resources-in-this-project-1)
4161
- [Gameplay](#gameplay)
4262
- [Game Flow](#game-flow)
4363
- [Connectivity](#connectivity)
4464
- [Services (Lobby, Relay, etc)](#services-lobby-relay-etc)
4565
- [Tools and Utilities](#tools-and-utilities)
46-
- [Troubleshooting](#troubleshooting)
47-
- [Licence](#licence)
48-
- [Other samples](#other-samples)
66+
- ### [Troubleshooting](#troubleshooting-1)
67+
- [Bugs](#bugs)
68+
- [Documentation](#documentation)
69+
- ### [License](#license-1)
70+
- ### [Contributing](#contributing-1)
71+
- ### [Community](#community-1)
72+
- ### [Feedback Form](#feedback-form-1)
73+
- ### [Other samples](#other-samples-1)
4974
- [Bite-size Samples](#bite-size-samples)
50-
- [Contributing](#contributing)
51-
- [Feedback Form](#feedback-form)
75+
</details>
5276

53-
## Boss Room Overview
54-
55-
Boss Room is designed to be used in its entirety to help you explore the concepts and patterns behind a multiplayer game flow; such as character abilities, casting animations to hide latency, replicated objects, RPCs, and integration with the [Relay](https://unity.com/products/relay), [Lobby](https://unity.com/products/lobby), and [Authentication](https://unity.com/products/authentication) services.
56-
57-
You can use the project as a reference starting point for your own Unity game or use elements individually.
58-
59-
This repository also contains a [Utilities](Packages/com.unity.multiplayer.samples.coop) package, containing reusable sample scripts. You can install it using the following manifest file entry:
60-
61-
`"com.unity.multiplayer.samples.coop": "https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git?path=/Packages/com.unity.multiplayer.samples.coop",
62-
`.
63-
64-
For more information on the art of Boss Room, see [ART_NOTES.md](Documentation/ART_NOTES.md).
65-
66-
67-
![](Documentation/Images/Boss.png)
68-
77+
------
78+
<br>
6979

7080
## Getting the project
7181
### Direct download
7282
- You can download the latest version of Boss Room from our [Releases](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases) page.
7383
- __Alternatively:__ click the green `Code` button and then select the 'Download Zip' option. Please note that this will download the branch that you are currently viewing on Github.
7484
- __Windows users:__ Using Windows' built-in extraction tool may generate an "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](https://www.7-zip.org/).
85+
<br><br>
86+
87+
## Requirements
7588

89+
BossRoom is compatible with the latest Unity Long Term Support (LTS) editor version, currently [2021 LTS](https://unity.com/releases/2021-lts). Please include standalone support for Windows/Mac in your installation.
90+
91+
**PLEASE NOTE:** You will also need Netcode for Game Objects to use these samples. Complete the [Hello World Tutorial](https://docs-multiplayer.unity3d.com/netcode/current/tutorials/helloworld) to prepare your environment.
92+
<br><br>
93+
94+
#### Boss Room has been developed and tested on the following platforms:
95+
- Windows
96+
- Mac
97+
- iOS
98+
- Android <br>
99+
100+
#### Boss Room's min spec devices are:
101+
- iPhone 6S
102+
- Samsung Galaxy J2 Core
103+
<br><br>
76104

77105
### Installing Git LFS to clone locally
78106

79107
Boss Room uses Git Large Files Support (LFS) to handle all large assets required locally. See [Git LFS installation options](https://github.com/git-lfs/git-lfs/wiki/Installation) for Windows and Mac instructions. This step is only needed if cloning locally. You can also just download the project which will already include large files.
108+
<br><br>
80109

81-
## Registering the project with Unity Gaming Services (UGS)
82110

83-
Boss Room leverages several services from UGS to facilitate connectivity between players. To use these services inside your project, you must [create an organization](https://support.unity.com/hc/en-us/articles/208592876-How-do-I-create-a-new-Organization-) inside the Unity Dashboard, and enable the [Relay](https://docs.unity.com/relay/get-started.html) and [Lobby](https://docs.unity.com/lobby/game-lobby-sample.html) services. Otherwise, you can still use Boss Room without UGS.
84111

85112
## Opening the project for the first time
86113

@@ -93,8 +120,7 @@ Once you have downloaded the project, follow the steps below to get up and runni
93120
- Hit the **Play** button. You can then host a new game or join an existing one using the in-game UI.
94121

95122
![](Documentation/Images/StartupScene.png)
96-
97-
------------------------------------------
123+
<br><br><br>
98124

99125
## Exploring the project
100126
BossRoom is an eight-player co-op RPG game experience, where players collaborate to fight imps, and then a boss. Players can select between classes that each have skills with didactically interesting networking characteristics. Control model is click-to-move, with skills triggered by a mouse button or hotkey.
@@ -105,22 +131,34 @@ One of the eight clients acts as the host/server. That client will use a composi
105131
- Position updates are carried out through NetworkTransform that sync position and rotation.
106132

107133
Code is organized in domain-based assemblies. See the [Boss Room architecture documentation](https://docs-multiplayer.unity3d.com/netcode/current/learn/bossroom/bossroom-architecture) file for more details.
108-
134+
<br><br>
135+
136+
### Registering the project with Unity Gaming Services (UGS)
137+
138+
Boss Room leverages several services from UGS to facilitate connectivity between players. To use these services inside your project, you must [create an organization](https://support.unity.com/hc/en-us/articles/208592876-How-do-I-create-a-new-Organization-) inside the Unity Dashboard, and enable the [Relay](https://docs.unity.com/relay/get-started.html) and [Lobby](https://docs.unity.com/lobby/game-lobby-sample.html) services. Otherwise, you can still use Boss Room without UGS.
139+
<br><br><br>
140+
109141
## Testing multiplayer
110142

111143
In order to see the multiplayer functionality in action we can either run multiple instances of the game locally on your computer - using either ParrelSync or builds - or choose to connect to a friend over the internet. See [how to test](https://docs-multiplayer.unity3d.com/netcode/current/tutorials/testing/testing_locally) for more info.
144+
<br><br>
112145

113-
---------------
114-
**Local multiplayer setup**
146+
### Local multiplayer setup
115147

116148
First, build an executable by clicking **'File/Build Settings'** in the menu bar, and then click **'Build'**.<br>
117149
![](Documentation/Images/BuildProject.png)
118150

119151
Once the build has completed you can launch several instances of the built executable in order to both host and join a game. When using several instances locally, you will have to set different profiles for each instance for authentication purposes, by using the **'Change Profile'** button. <br>
120-
> __Mac users:__ to run multiple instances of the same app, you need to use the command line. Run `open -n BossRoom.app`
121152

122-
---------------
123-
**Multiplayer over Internet**
153+
---
154+
155+
💡 **Mac users:** To run multiple instances of the same app, you need to use the command line. Run `open -n BossRoom.app`
156+
157+
---
158+
159+
<br>
160+
161+
### Multiplayer over Internet
124162

125163
To play over internet, first build an executable that is shared between all players - as above.
126164

@@ -129,18 +167,22 @@ It is possible to connect between multiple instances of the same executable OR b
129167
Running the game over internet currently requires setting up a relay.
130168

131169

132-
**Relay Setup**
170+
### Relay Setup
133171

134172
- Boss Room provides an integration with [Unity Relay](https://docs-multiplayer.unity3d.com/netcode/current/relay/relay). You can find our Unity Relay setup guide [here](https://docs-multiplayer.unity3d.com/netcode/current/relay/relay)
135173

136174
- Alternatively you can use Port Forwarding. The https://portforward.com/ site has guides on how to enable port forwarding on a huge number of routers.
137175
- Boss Room uses `UDP` and needs a `9998` external port to be open.
138176
- Make sure your host's address listens on 0.0.0.0 (127.0.0.1 is for local development only).
177+
<br><br><br>
139178

140-
---------------
179+
-----
141180

142181
## Index of resources in this project
143182

183+
<details open>
184+
<summary> <b>Click to expand/collapse contents</b> </summary>
185+
144186
### Gameplay
145187
* Action anticipation - AnticipateActionClient() in [Assets/Scripts/Gameplay/Action/Action.cs](Assets/Scripts/Gameplay/Action/Action.cs)
146188
* Object spawning for long actions (archer arrow) - LaunchProjectile() in [Assets/Scripts/Gameplay/Action/ConcreteActions/LaunchProjectileAction.cs ](Assets/Scripts/Gameplay/Action/ConcreteActions/LaunchProjectileAction.cs)
@@ -211,30 +253,30 @@ Running the game over internet currently requires setting up a relay.
211253
* Scene utils with synced loading screens - [Packages/com.unity.multiplayer.samples.coop/Utilities/SceneManagement/ ](Packages/com.unity.multiplayer.samples.coop/Utilities/SceneManagement/)
212254
* RNSM custom config - [Packages/com.unity.multiplayer.samples.coop/Utilities/Net/RNSM/CustomNetStatsMonitorConfiguration.asset ](Packages/com.unity.multiplayer.samples.coop/Utilities/Net/RNSM/CustomNetStatsMonitorConfiguration.asset)
213255
* ParrelSync - [ Packages/manifest.json ](Packages/manifest.json)
214-
256+
</details>
257+
258+
-------
259+
<br>
260+
215261
## Troubleshooting
216262

217-
**Bugs**
218-
Report bugs in Boss Room using Github [issues](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/issues)
219-
Report NGO bugs using NGO Github [issues](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects)
220-
Report Unity bugs using the [Unity bug submission process](https://unity3d.com/unity/qa/bug-reporting).
263+
### Bugs
264+
- Report bugs in Boss Room using Github [issues](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/issues)
265+
- Report NGO bugs using NGO Github [issues](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects)
266+
- Report Unity bugs using the [Unity bug submission process](https://unity3d.com/unity/qa/bug-reporting).
221267

222-
**Documentation**
223-
For a deep dive into Unity Netcode and Boss Room, visit our [documentation site](https://docs-multiplayer.unity3d.com/).
268+
### Documentation
269+
For a deep dive into Unity Netcode and Boss Room, visit our [documentation site](https://docs-multiplayer.unity3d.com/).
270+
<br><br>
224271

225-
## Licence.
226-
Boss Room is licenced under the Unity Companion Licence. See [LICENSE.md](LICENSE.md) for more legal information.
227-
272+
## License
273+
Boss Room is licensed under the Unity Companion License. See [LICENSE.md](LICENSE.md) for more legal information.
228274

229275
For a deep dive in Unity Netcode and Boss Room, visit our [docs site](https://docs-multiplayer.unity3d.com/).
230-
231-
## Other samples
232-
### Bite-size Samples
233-
The [Bitesize Samples](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize) repository is currently being expanded and contains a collection of smaller samples and games, showcasing sub-features of NGO. You can review these samples with documentation to understand our APIs and features better.
234-
276+
<br><br>
235277

236278
## Contributing
237-
Please check out [CONTRIBUTING.md](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/blob/develop/CONTRIBUTING.md) for full guidelines on submitting issues and PRs to BossRoom.
279+
We welcome your contributions to this sample code and objects. See our [contribution guidelines](CONTRIBUTING.md) for details.
238280

239281
Our projects use the `git-flow` branching strategy:
240282
- our **`develop`** branch contains all active development
@@ -245,15 +287,28 @@ To get the project on your machine you need to clone the repository from GitHub
245287
git clone https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git
246288
```
247289

248-
__IMPORTANT__: You should have [Git LFS](https://git-lfs.github.com/) installed on your local machine.
249-
250-
Please check out [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on submitting issues and PRs to BossRoom!
290+
**PLEASE NOTE:** You will need to have [Git LFS](https://git-lfs.github.com/) installed on your local machine in order to clone our repo.
291+
<br><br>
251292

293+
## Community
294+
For help, questions, networking advice, or discussions about Netcode for GameObjects and its samples, please join our [Discord Community](https://discord.gg/FM8SE9E) or create a post in the [Unity Multiplayer Forum](https://forum.unity.com/forums/netcode-for-gameobjects.661/).
295+
<br><br>
252296

253297
## Feedback Form
254298

255299
Thank you for cloning Boss Room and taking a look at the project. To help us improve and build better samples in the future, please consider submitting feedback about your experiences with Boss Room and let us know if you were able to learn everything you needed to today. It'll only take a couple of minutes. Thanks!
256300

257301
[Enter the Boss Room Feedback Form](https://unitytech.typeform.com/bossroom)
302+
<br><br>
303+
304+
## Other samples
305+
### Bite-size Samples
306+
- The [Bitesize Samples](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize) repository is currently being expanded and contains a collection of smaller samples and games, showcasing sub-features of NGO. You can review these samples with documentation to understand our APIs and features better.
307+
<br><br>
308+
309+
[![Documentation](https://img.shields.io/badge/Unity-boss--room--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bossroom/bossroom)
310+
[![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/)
311+
[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E)
312+
<br><br>
258313

259-
![](Documentation/Images/Players.png)
314+
![](Documentation/Images/Players.png)

0 commit comments

Comments
 (0)