You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# GitHub Actions workflow to monitor Yamato CI job state on pull requests
2
+
# We are using https://cli.github.com/manual/gh_pr_checks
3
+
# The aim is to ensure that conditionally triggered Yamato jobs are completed successfully before allowing merges
4
+
5
+
# This job will be required in branch protection rules for develop, develop-2.0.0, and release/* branches. It's only goal will be to ensure that Yamato jobs are completed successfully before allowing Pr to merge.
6
+
# Note that conditional jobs will have 30s to show which is always the cas since they are showing up as soon as in distribution stage.
# This test validates Standards, Package tests, Project tests and Desktop standalone tests to ensure that main platforms are covered
15
-
# Focuses on critical validation paths that we should validate before merging PRs. It also cancels previous runs on new commits
16
-
# By default it's triggered if
16
+
# We have two PR triggers:
17
+
# 1) Minimal PR checks that run on all PRs (even if only docs are changed)
18
+
# 2) More extensive pr_code_changes_checks that run if code is changed. This test validates Standards, Package tests, Project tests and Desktop standalone tests to ensure that main platforms are covered
19
+
# By default pr_minimal_required_checks it's triggered if
17
20
# 1) PR targets develop, develop-2.0.0 or release branches
18
21
# 2) PR is not a draft
19
-
# 3) PR changes files in package or testproject folders (doesn't run on for example DOCS only changes)
22
+
# Then pr_code_changes_checks it's triggered if the same conditions apply plus:
23
+
# 1) PR changes code in com.unity.netcode.gameobjects package (Editor, Runtime or Tests folders) or in testproject folder or package.json file
20
24
21
25
# Note that in other cases you can trigger it by writing a comment "/ci ngo" in the PR thread
22
26
@@ -40,16 +44,32 @@
40
44
# It's important to ensure that all dependencies exist (this can be verified in Yamato) since a modification in parameters may result in a given job not being generated, and thus we will not be able to run such erroneous job.
# After some experimenting with CI setups we discovered that even though sometimes we don't need CI to run (no reason to run package tests if only Documentation is changed) there are some checks that devs may not realize but changes in seemingly unrelated files will cause their failures
50
+
# This trigger was created to ensure that ALL PRs run this minimal check even when we don't need to run full tests
# Run all relevant tasks when a pull request targeting the develop or release branch is created or updated.
47
67
# In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions.
48
68
# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) since it's the dependency of project pack jobs which is on the lowest dependency tier. This runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests.
49
69
# This optimization allows to speed up feedback look for any "obvious" errors and save resources.
50
70
# Since standards job is a part of initial checks it's not present as direct dependency here!!!!!!!!!!!!!!!!!!!!
Copy file name to clipboardExpand all lines: com.unity.netcode.gameobjects/CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,12 @@ Additional documentation and release notes are available at [Multiplayer Documen
11
11
### Added
12
12
13
13
- Clicking on the Help icon in the inspector will now redirect to the relevant documentation. (#3663)
14
+
- Added a `Set` function onto `NetworkList` that takes an optional parameter that forces an update to be processed even if the current value is equal to the previous value. (#3690)
14
15
15
16
### Changed
16
17
17
18
- Improved performance of the NetworkVariable. (#3683)
19
+
- Improved performance around the NetworkBehaviour component. (#3687)
|**[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. |
8
-
|**[Synchronize](components/core/networkbehaviour-synchronize.md)**| You can use NetworkBehaviours to synchronize settings before, during, and after spawning NetworkObjects. |
7
+
|**[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. |
Copy file name to clipboardExpand all lines: com.unity.netcode.gameobjects/Documentation~/samples/bitesize/bitesize-spaceshooter.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ The [2D Space Shooter Project](https://github.com/Unity-Technologies/com.unity.m
4
4
5
5
## Server Authoritative Physics Movement
6
6
7
-
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.
7
+
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.
8
8
9
9
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.
10
10
11
11
This method of running physics makes sure that there are no desyncs or other physics issues between the client and server, but it introduces more latency.
12
12
13
13
## Player Health
14
14
15
-
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`.
15
+
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`.
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.
37
+
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.
38
38
39
-
2DSpaceShooter uses the NetworkObjectPool script, which can be found in the Community Contributions Repository.
39
+
2DSpaceShooter uses the NetworkObjectPool script, which can be found in the [Community Contributions Repository](https://github.com/Unity-Technologies/multiplayer-community-contributions).
0 commit comments