From fed2f2f0cb2cb0c46438e6aa91e5a9c581583942 Mon Sep 17 00:00:00 2001 From: Amy Reeve Date: Thu, 25 Sep 2025 10:52:18 +0200 Subject: [PATCH 1/2] Small link additions in samples --- com.unity.netcode.gameobjects/Documentation~/samples.md | 3 +-- .../samples/bitesize/bitesize-spaceshooter.md | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/com.unity.netcode.gameobjects/Documentation~/samples.md b/com.unity.netcode.gameobjects/Documentation~/samples.md index 8c799629a9..6ae60b1766 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples.md @@ -4,5 +4,4 @@ Use the samples in this section to learn how to use Netcode for GameObjects in y | **Topic** | **Description** | | :------------------------------ | :------------------------------- | -| **[NetworkBehaviour](components/core/networkbehaviour.md)** | [NetworkBehaviour](https://docs.unity3d.com/Packages/com.unity.netcode.gameobjects@latest?subfolder=/api/Unity.Netcode.NetworkBehaviour.html) is an abstract class that derives from [MonoBehaviour](https://docs.unity3d.com/ScriptReference/MonoBehaviour.html) and is primarily used to create unique netcode or game logic. To replicate any netcode-aware properties or send and receive RPCs, a [GameObject](https://docs.unity3d.com/Manual/GameObjects.html) must have a [NetworkObject](components/core/networkobject.md) component and at least one NetworkBehaviour component. | -| **[Synchronize](components/core/networkbehaviour-synchronize.md)** | You can use NetworkBehaviours to synchronize settings before, during, and after spawning NetworkObjects. | \ No newline at end of file +| **[Bossroom](samples/bossroom/bossroom-landing.md)** | The Boss Room sample is a multiplayer game that demonstrates how to use Netcode for GameObjects to create a networked game. It provides a complete example of how to implement various features such as player movement, combat, and game state management in a multiplayer environment. | \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md b/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md index 624a837633..8196595161 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md @@ -4,7 +4,7 @@ The [2D Space Shooter Project](https://github.com/Unity-Technologies/com.unity.m ## Server Authoritative Physics Movement -The movement in 2DSpaceShooter is physics based. The player object is a dynamic rigidbody and can collide with other players or asteroids. Physics in multiplayer games can be hard to get right. For simplicity, 2DSpaceShooter runs all movement and physics just on the server-side. +The movement in 2DSpaceShooter is physics based. The player object is a [dynamic Rigidbody](https://docs.unity3d.com/6000.2/Documentation/Manual/2d-physics/rigidbody/body-types/dynamic/dynamic-body-type-reference.html) and can collide with other players or asteroids. Physics in multiplayer games can be hard to get right. For simplicity, 2DSpaceShooter runs all movement and physics just on the server-side. The client sends inputs in the form of RPCs to the server. The server then uses those inputs to adjust the throttle and turn values of the player. @@ -12,7 +12,7 @@ This method of running physics makes sure that there are no desyncs or other phy ## Player Health -2DSpaceShooter uses `NetworkVariable`s to track the players health and energy. Both variables are server authoritative, only the host or server can make changes to them. The client draws the player's health bar simply by accessing the value of the `NetworkVariable`. +2DSpaceShooter uses [NetworkVariables](../../basics/networkvariable.md) to track the players health and energy. Both variables are server authoritative, only the host or server can make changes to them. The client draws the player's health bar simply by accessing the value of the `NetworkVariable`. For example: @@ -34,9 +34,9 @@ https://github.com/Unity-Technologies/com.unity.multiplayer.samples.bitesize/blo ## NetworkObject Pooling -The `2DSpaceShooter` object creates many objects dynamically at runtime including bullets, asteroids, and pickups. 2DSpaceShooter uses object pooling to avoid performance issues of instantiating and destroying Unity Objects all the time and creating allocations in the process. +The `2DSpaceShooter` object creates many objects dynamically at runtime including bullets, asteroids, and pickups. 2DSpaceShooter uses [object pooling](../../advanced-topics/object-pooling.md) to avoid performance issues of instantiating and destroying Unity Objects all the time and creating allocations in the process. -2DSpaceShooter uses the NetworkObjectPool script, which can be found in the Community Contributions Repository. +2DSpaceShooter uses the NetworkObjectPool script, which can be found in the [Community Contributions Repository](https://github.com/Unity-Technologies/multiplayer-community-contributions). ![pool img](../../images/bitesize/invader-networkobjectpool.png) From 27f8dfe76ea819b5a8ace4727dcd425c7ea53665 Mon Sep 17 00:00:00 2001 From: Amy Reeve Date: Tue, 30 Sep 2025 09:32:31 +0100 Subject: [PATCH 2/2] Update bitesize-spaceshooter.md --- .../Documentation~/samples/bitesize/bitesize-spaceshooter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md b/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md index 8196595161..19291b6055 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md @@ -4,7 +4,7 @@ The [2D Space Shooter Project](https://github.com/Unity-Technologies/com.unity.m ## Server Authoritative Physics Movement -The movement in 2DSpaceShooter is physics based. The player object is a [dynamic Rigidbody](https://docs.unity3d.com/6000.2/Documentation/Manual/2d-physics/rigidbody/body-types/dynamic/dynamic-body-type-reference.html) and can collide with other players or asteroids. Physics in multiplayer games can be hard to get right. For simplicity, 2DSpaceShooter runs all movement and physics just on the server-side. +The movement in 2DSpaceShooter is physics based. The player object is a [dynamic Rigidbody](https://docs.unity3d.com/Documentation/Manual/2d-physics/rigidbody/body-types/dynamic/dynamic-body-type-reference.html) and can collide with other players or asteroids. Physics in multiplayer games can be hard to get right. For simplicity, 2DSpaceShooter runs all movement and physics just on the server-side. The client sends inputs in the form of RPCs to the server. The server then uses those inputs to adjust the throttle and turn values of the player.