Skip to content

Commit 2a3b31f

Browse files
jabbacakesVic-Cooperjia-ren-unity
authored
Develop into main for NGO 2.2.0 (#1402)
Co-authored-by: Vic Cooper <63712500+Vic-Cooper@users.noreply.github.com> Co-authored-by: Vic Cooper <vic.cooper@unity3d.com> Co-authored-by: JiaRen <jia.ren@unity3d.com>
1 parent 40ee1d4 commit 2a3b31f

File tree

117 files changed

+15255
-5
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+15255
-5
lines changed

docs/release-notes/ngo-changelog.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ The following content tracks features, updates, bug fixes, and refactoring for t
88

99
| Release | Date | Changelog |
1010
|---|---|---|
11-
| 2.0.0-pre.4 | 2024-08-21 | [2.0.0-pre.4](https://docs.unity3d.com/Packages/com.unity.netcode.gameobjects@2.0/changelog/CHANGELOG.html) |
12-
| 2.0.0-exp | 2024-06-03 | [2.0.0-exp](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/blob/develop-2.0.0/com.unity.netcode.gameobjects/CHANGELOG.md#200-exp5---2024-06-03) |
11+
| 2.2.0 | 2024-12-12 | [2.2.0](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F2.2.0) |
12+
| 2.1.1 | 2024-10-21 | [2.1.1](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F2.1.1) |
13+
| 2.0.0 | 2024-09-17 | [2.0.0](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F2.0.0) |
1314
| 1.11.0 | 2024-08-20 | [1.11.0](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F1.11.0) |
1415
| 1.10.0 | 2024-07-22 | [1.10.0](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F1.10.0) |
1516
| 1.9.1 | 2024-04-18 | [1.9.1](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F1.9.1) |

docusaurus.config.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -237,9 +237,13 @@ module.exports = {
237237
lastVersion: "current",
238238
versions: {
239239
current: {
240-
label: "2.1.1",
240+
label: "2.2.0",
241241
path: "current",
242242
},
243+
"2.1.1": {
244+
label: "2.1.1",
245+
path: "2.1.1",
246+
},
243247
"2.0.0": {
244248
label: "2.0.0",
245249
path: "2.0.0",

versioned_docs/version-2.0.0/release-notes/ngo-changelog.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ The following content tracks features, updates, bug fixes, and refactoring for t
88

99
| Release | Date | Changelog |
1010
|---|---|---|
11-
| 2.0.0-pre.4 | 2024-08-21 | [2.0.0-pre.4](https://docs.unity3d.com/Packages/com.unity.netcode.gameobjects@2.0/changelog/CHANGELOG.html) |
12-
| 2.0.0-exp | 2024-06-03 | [2.0.0-exp](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/blob/develop-2.0.0/com.unity.netcode.gameobjects/CHANGELOG.md#200-exp5---2024-06-03) |
11+
| 2.0.0 | 2024-09-17 | [2.0.0](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F2.0.0) |
1312
| 1.11.0 | 2024-08-20 | [1.11.0](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F1.11.0) |
1413
| 1.10.0 | 2024-07-22 | [1.10.0](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F1.10.0) |
1514
| 1.9.1 | 2024-04-18 | [1.9.1](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F1.9.1) |

versioned_docs/version-2.1.1/about.md

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
id: about
3+
title: About Netcode for GameObjects
4+
description: Overview of Unity's Netcode for GameObjects for your multiplayer networking needs.
5+
---
6+
7+
Netcode for GameObjects is a high-level networking library built for Unity for you to abstract networking logic. You can send GameObjects and world data across a networking session to many players at once. With Netcode for GameObjects, you can focus on building your game instead of low-level protocols and networking frameworks.
8+
9+
To learn more about Netcode for GameObjects functionality and capabilities, explore the content below:
10+
11+
<!--
12+
<div className="table-columns-plain" >
13+
| Get Started | Configuration | Samples and Education|
14+
15+
</div>
16+
17+
<div className="table-columns-plain" >
18+
| Networking Components | Spawning and Ownership | Network Synchronization |
19+
20+
</div>
21+
22+
<div className="table-columns-plain" >
23+
| Serialization | Scenes | Sessions |
24+
25+
</div>
26+
27+
<div className="table-columns-plain" >
28+
| Test and Debug | Reference | Related Unity Gaming Services |
29+
30+
</div>
31+
-->
32+
33+
<div className="table-columns-plain" >
34+
35+
| Getting Started | Get Started Project | Education and Samples |
36+
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
37+
| [Install Unity Netcode](installation/installation.md)<br/>[Migration from UNet to Netcode](installation/migratingfromUNet.md)<br/>[Upgrade to Unity Netcode Package](installation/migratingfrommlapi.md) | [Get started with Netcode](../docs/tutorials/get-started-with-ngo.md) | [Boss Room](learn/bossroom/getting-started-boss-room.md)<br/>[Bite Size Samples](learn/bitesize/bitesize-introduction.md)<br/>[Dilmer's Tutorials](community-contributions/dilmer-videos.md) |
38+
39+
</div>
40+
41+
<div className="table-columns-plain" >
42+
43+
| Core Concepts | Debugging | Terminology and FAQs |
44+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
45+
| [Networking](basics/connection-approval.md)<br/>[Components](components/networkmanager.md)<br/>[Objects](basics/object-spawning.md)<br/>[Messaging System](advanced-topics/messaging-system.md)<br/>[Serialization](advanced-topics/serialization/serialization-intro.md)<br/>[Scenes](basics/scenemanagement/scene-management-overview.md) | [Logging](basics/logging.md)<br/>[Troubleshooting](troubleshooting/troubleshooting.md)<br/>[Error Messages](troubleshooting/error-messages.md) | [High Level Terminology](terms-concepts/mutliplayer-terms.md)<br/>[Multiplayer Game Architecture](terms-concepts/network-topologies.md)<br/>[FAQs](learn/faq.md) |
46+
47+
</div>
48+
49+
For more information, check out [Release Notes](release-notes/ngo-changelog.md) and [APIs](https://docs.unity3d.com/Packages/com.unity.netcode.gameobjects@latest?subfolder=/api/index.html).
50+
51+
## Before you begin
52+
53+
Netcode for GameObjects supports the following versions:
54+
55+
- Unity 6.0+ and later
56+
- Mono and IL2CPP [Scripting Backends](https://docs.unity3d.com/Manual/scripting-backends.html)
57+
58+
Netcode for GameObjects supports the following platforms:
59+
60+
- Windows, macOS, and Linux
61+
- iOS and Android
62+
- XR platforms running on Windows, Android, and iOS operating systems
63+
- Most [**closed platforms**](https://unity.com/platform-installation), such as consoles. Contact us for more information about specific closed platforms.
64+
- When working with consoles (such as PlayStation, Xbox, or Nintendo Switch), there may be Netcode-specific policies you should be aware of while testing and before launching your game live. Refer to the console's internal documentation for more information. This content is typically protected by NDA.
65+
- WebGL (requires Netcode for GameObjects 1.2.0+ and Unity Transport 2.0.0+)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
id: bufferserializer
3+
title: BufferSerializer
4+
sidebar_label: BufferSerializer
5+
---
6+
7+
`BufferSerializer<TReaderWriter>` is the bi-directional serializer primarily used for serializing within [`INetworkSerializable`](inetworkserializable.md) types. It wraps [`FastBufferWriter` and `FastBufferReader`](fastbufferwriter-fastbufferreader.md) to provide high performance serialization, but has a couple of differences to make it more user-friendly:
8+
9+
- Rather than writing separate methods for serializing and deserializing, `BufferSerializer<TReaderWriter>` allows writing a single method that can handle both operations, which reduces the possibility of a mismatch between the two
10+
- `BufferSerializer<TReaderWriter>` does bound checking on every read and write by default, making it easier to avoid mistakes around manual bounds checking required by `FastBufferWriter` and `FastBufferReader`
11+
12+
These aren't without downsides, however:
13+
14+
- `BufferSerializer<TReaderWriter>` has to operate on an existing mutable value due to its bi-directional nature, which means values like `List<T>.Count` have to be stored to a local variable before writing.
15+
- `BufferSerializer<TReaderWriter>` is slightly slower than `FastBufferReader` and `FastBufferWriter` due to both the extra pass-through method calls and the mandatory bounds checking on each write.
16+
- `BufferSerializer<TReaderWriter>` don't support any form of packed reads and writes.
17+
18+
However, when those downsides are unreasonable, `BufferSerializer<TReaderWriter>` offers two ways to perform more optimal serialization for either performance or bandwidth usage:
19+
20+
- For performance, you can use `PreCheck(int amount)` followed by `SerializeValuePreChecked()` to perform bounds checking for multiple fields at once.
21+
- For both performance and bandwidth usage, you can obtain the wrapped underlying reader/writer via `serializer.GetFastBufferReader()` when `serializer.IsReader` is `true`, and `serializer.GetFastBufferWriter()` when `serializer.IsWriter` is `true`. These provide micro-performance improvements by removing a level of indirection, and also give you a type you can use with `BytePacker` and `ByteUnpacker`.

0 commit comments

Comments
 (0)