Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.
Перейти к файлу
Noel Stephens 789f3753b5
fix: NetworkTransport early and post late updates (#3113)
* fix

Break out the UnityTransport's Update method into two methods: EarlyUpdate and PostLateUpdate.

* update

Modifications to NetworkManager to invoke the newly adding EarlyUpdate and PostLateUpdate methods.

* update

Adjusting the job handle name.
Migrating the m_FlushSendJobHandle.Complete(); outside of the driver IsCreated check to avoid any potential job safety issues.

* style

removing unused Update method and removing the Unity.Netcode.Transports.UTP namespace reference.

* update

Removing the job handle stuff as that could potentially break users trying to get RTT during OnGUI.

* test fix

Adjusting the UnityTransport tests to simulate the NetworkManager invoking the EarlyUpdate and PostLateUpdate methods.
Adding event processing in shutdown primarily for integration testing to handle any pending events prior to shutting down the transport.
This resolves the issue with the UnitTransportConnectionTests failing in areas where it was just waiting and not invoking the EarlyUpdate and PostLateUpdate methods.

* test - fix

Approaching the issue differently by adding a UnityTransportTestComponent that registers with the playerloop update stages needed to properly handle message processing.

* test

Removing the unused additional script and namespace reference.

* test

removing some more unused code and the namespace reference.

* style

removing some CRs and unused local var.

* test - fix

Removing whitespace issue.
Setting velocity to zero after moving and after waiting.

* update

Adding change log entries.
Found the culprit with the transform ownership instability. Moving an object can give it velocity which if there is enough time that passes between updates then fixed update will apply enough velocity motion to move the object and it will continue to move.
Increased mass and linearDampening and setting the linear velocity to zero in the appropriate places.
2024-11-06 14:42:28 -06:00
.github chore 2024-04-25 15:13:40 -05:00
.yamato chore 2024-04-25 15:13:40 -05:00
Examples fix: ping tool example updates and fixes (#3106) 2024-10-18 15:29:50 -05:00
com.unity.netcode.gameobjects fix: NetworkTransport early and post late updates (#3113) 2024-11-06 14:42:28 -06:00
dotnet-tools chore: `.gitattributes` line endings config & renormalize (#2457) 2023-03-16 12:17:53 +03:00
minimalproject update 2024-03-26 21:43:20 -05:00
testproject fix: NetworkTransport early and post late updates (#3113) 2024-11-06 14:42:28 -06:00
testproject-tools-integration refactor: `NetworkMessageSystem` (formerly `MessagingSystem`) (#2505) 2023-04-12 23:42:49 +01:00
.buginfo Update .buginfo 2023-10-25 13:31:34 +01:00
.editorconfig style: add braces 2023-03-25 13:31:03 +03:00
.gitattributes chore: `.gitattributes` line endings config & renormalize (#2457) 2023-03-16 12:17:53 +03:00
.gitignore test: enable multiprocess tests on windows mac and ubuntu (#1195) 2021-10-05 21:07:31 +00:00
CODE_OF_CONDUCT.md docs: Add code of conduct 2020-12-03 18:52:36 +00:00
CONTRIBUTING.md chore: replace MLAPI with Netcode in Markdown files (#1025) 2021-08-05 19:50:28 +01:00
LICENSE.md update 2024-03-25 13:14:52 -05:00
README.md chore: Update README.md (#2758) 2023-11-08 18:43:08 +00:00

README.md

Netcode for GameObjects

Forums Discord Manual API

GitHub Release

Welcome!

Welcome to the Netcode for GameObjects repository.

Netcode for GameObjects is a Unity package that provides networking capabilities to GameObject & MonoBehaviour workflows. The framework is interoperable with many low-level transports, including the official Unity Transport Package.

Getting Started

Visit the Multiplayer Docs Site for package & API documentation, as well as information about several samples which leverage the Netcode for GameObjects package.

You can also jump right into our Hello World guide for a taste of how to use the framework for basic networked tasks.

Community and Feedback

For general questions, networking advice or discussions about Netcode for GameObjects, please join our Discord Community or create a post in the Unity Multiplayer Forum.

Compatibility

Netcode for GameObjects targets the following Unity versions:

  • Unity 2021.3(LTS), and 2022.3(LTS)

On the following runtime platforms:

  • Windows, MacOS, and Linux
  • iOS and Android
  • Most closed platforms, such as consoles. Contact us for more information about specific closed platforms.

Development

This repository is broken into multiple components, each one implemented as a Unity Package.

    .
    ├── com.unity.netcode.gameobjects           # The core netcode SDK unity package (source + tests)
    └── testproject                             # A Unity project with various test implementations & scenes which exercise the features in the above packages.

Contributing

We are an open-source project and we encourage and welcome contributions. If you wish to contribute, please be sure to review our contribution guidelines.

Issues and missing features

If you have an issue, bug or feature request, please follow the information in our contribution guidelines to submit an issue.

You can also check out our public roadmap to get an idea for what we might be working on next!