diff --git a/com.unity.netcode.gameobjects/Documentation~/TableOfContents.md b/com.unity.netcode.gameobjects/Documentation~/TableOfContents.md index 99a2c44829..8ebd7f0c3b 100644 --- a/com.unity.netcode.gameobjects/Documentation~/TableOfContents.md +++ b/com.unity.netcode.gameobjects/Documentation~/TableOfContents.md @@ -57,6 +57,7 @@ * [Enum types](advanced-topics/serialization/enum-types.md) * [Arrays](advanced-topics/serialization/serialization-arrays.md) * [INetworkSerializable](advanced-topics/serialization/inetworkserializable.md) + * [INetworkSerializeByMemcpy](advanced-topics/serialization/inetworkserializebymemcpy.md) * [Custom serialization](advanced-topics/custom-serialization.md) * [NetworkObject serialization](advanced-topics/serialization/networkobject-serialization.md) * [FastBufferWriter and FastBufferReader](advanced-topics/fastbufferwriter-fastbufferreader.md) @@ -84,10 +85,4 @@ * [FAQ](learn/faq.md) * [Samples](samples.md) * [Boss Room](samples/bossroom/bossroom-landing.md) - - [Boss Room](samples/bossroom/getting-started-boss-room.md) - - [Boss Room architecture](samples/bossroom/architecture.md) - * [NetworkObject parenting](samples/bossroom/networkobject-parenting.md) - * [Optimizing Boss Room](samples/bossroom/optimizing-bossroom.md) - * [NetworkRigidbody](samples/bossroom/networkrigidbody.md) - * [Spawn NetworkObjects](samples/bossroom/spawn-networkobjects.md) * [Migrate from UNet to Netcode for GameObjects](migratingfromUNet.md) diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/architecture.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/architecture.md index 0f0928e5a7..5f349d8f3a 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/architecture.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/architecture.md @@ -1,5 +1,8 @@ # Boss Room architecture +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. + Boss Room is a fully functional co-op multiplayer RPG made with Unity Netcode. It's an educational sample designed to showcase typical Netcode patterns often featured in similar multiplayer games. Players work together to fight Imps and a boss using a click-to-move control model. This article describes the high-level architecture of the Boss Room codebase and dives into some reasoning behind architectural decisions. diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-actions.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-actions.md index f59f9c017c..f587e49b14 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-actions.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-actions.md @@ -1,5 +1,8 @@ # Boss Room actions walkthrough +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. + Boss Room's actions each use a different pattern for good multiplayer quality. This doc walks you through each of them and goes into details about how we implemented each and what lessons you can learn from each. You can get their implementations [here](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/tree/main/Assets/Scripts/Gameplay/Action).
diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-landing.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-landing.md index 17fa647b31..d4fdb8f32e 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-landing.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/bossroom-landing.md @@ -1,12 +1,8 @@ # Boss Room sample -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. +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. -| **Topic** | **Description** | -| :------------------------------ | :------------------------------- | -| **[Boss Room](getting-started-boss-room.md)** | Boss Room is a fully functional co-op multiplayer RPG made with Unity Netcode. It's an educational sample designed to showcase typical netcode [patterns](bossroom-actions.md) often featured in similar multiplayer games. | -| **[Boss Room architecture](architecture.md)** | This article describes the high-level architecture of the Boss Room codebase and dives into some reasoning behind architectural decisions. | -| **[NetworkObject parenting](networkobject-parenting.md)** | Understand how NetworkObjects are parented in the Boss Room sample. | -| **[Optimizing Boss Room](optimizing-bossroom.md)** | Understand how performance is optimized in the Boss Room sample. | -| **[NetworkRigidbody](networkrigidbody.md)** | Understand how NetworkRigidbody is used in the Boss Room sample. | -| **[Spawn NetworkObjects](spawn-networkobjects.md)** | Understand how NetworkObjects are spawned in the Boss Room sample. | \ No newline at end of file +The [Boss Room sample](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop) 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. + +Refer to the [Boss Room README](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/blob/main/README.md) for more information on how to set up and run the sample project. \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/getting-started-boss-room.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/getting-started-boss-room.md index b1f8860931..096d7f72db 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/getting-started-boss-room.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/getting-started-boss-room.md @@ -1,5 +1,8 @@ # Getting started with Boss Room +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. + Boss Room is a fully functional co-op multiplayer RPG made with Unity Netcode. It's an educational sample designed to showcase typical netcode [patterns](bossroom-actions.md) often featured in similar multiplayer games. > [!NOTE] diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkobject-parenting.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkobject-parenting.md index b6c40567b1..6bfa71c43e 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkobject-parenting.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkobject-parenting.md @@ -1,8 +1,7 @@ # NetworkObject parenting inside Boss Room -:::note -Required reading: [NetworkObject Parenting](../../advanced-topics/networkobject-parenting.md) -::: +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. Before detailing Boss Room's approach to NetworkObject parenting, it's important to highlight a limitation of Netcode: A dynamically-spawned NetworkObject **can't** contain another NetworkObject in its hierarchy. If you spawn such a NetworkObject, you can't spawn children `NetworkObjects`. You can only add children NetworkObject components to a NetworkObject that is part of a scene. diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkrigidbody.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkrigidbody.md index dcb0339cb9..293c9ea085 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkrigidbody.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/networkrigidbody.md @@ -1,8 +1,7 @@ # NetworkRigidbody inside Boss Room -:::note -Required reading: [Physics](../..//advanced-topics/physics.md) -::: +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. Boss Room leverages `NetworkRigidbody` to simulate physics-based projectiles. See the Vandal Imp's tossed projectile, the [`ImpTossedItem` prefab](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/blob/main/Assets/Prefabs/Game/ImpTossedItem.prefab). At its root, this Prefab has a NetworkObject, a `NetworkTransform`, a `Rigidbody`, and a `NetworkRigidbody` component. Refer to [`TossAction.cs`](https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/blob/main/Assets/Scripts/Gameplay/Action/ConcreteActions/TossAction.cs) for more implementation details. diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/optimizing-bossroom.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/optimizing-bossroom.md index d0dc30537c..37633c963e 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/optimizing-bossroom.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/optimizing-bossroom.md @@ -1,5 +1,8 @@ # Optimizing Boss Room performance +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. + Optimization is critical for networked and non-networked games. However, you have more limitations and constraints to consider when building a networked game. For example, networked games must account for latency, packet loss, reliability, and bandwidth limitations. One of the more critical optimizations of a networked game is how much bandwidth it consumes. The following issues can occur with networked games that have high bandwidth usage: diff --git a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/spawn-networkobjects.md b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/spawn-networkobjects.md index 3ca75ddbad..0b3c8ac2ee 100644 --- a/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/spawn-networkobjects.md +++ b/com.unity.netcode.gameobjects/Documentation~/samples/bossroom/spawn-networkobjects.md @@ -1,8 +1,7 @@ # Spawn NetworkObjects in Boss Room -:::note -Required reading: [Object Spawning](../../basics/object-spawning.md). -::: +> [!WARNING] +> Boss Room is no longer being actively maintained as of 2026. While it remains available as a learning resource, it may not be compatible with the latest versions of Netcode for GameObjects or Unity. This document serves as a walkthrough of Boss Room's approach to solving the following issue: Late-joining clients entering networked sessions encountering zombie `NetworkObjects`. Zombie `NetworkObjects` represent `NetworkObjects` that are instantiated for a client due to scene loads but aren't despawned or destroyed by Netcode.