diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 482ca6f26..5b28d3c62 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -47,6 +47,6 @@ projects: - name: multiplayerusecases path: Basic/MultiplayerUseCases test_editors: - - 6000.0.17 + - 6000.0.23 run_editor_tests: !!bool true run_playmode_tests: !!bool false \ No newline at end of file diff --git a/Basic/MultiplayerUseCases/Assets/Editor/Tutorials/ProximityChecks/30-InspectTheCube1.asset b/Basic/MultiplayerUseCases/Assets/Editor/Tutorials/ProximityChecks/30-InspectTheCube1.asset index 0311d827f..d55d14c57 100644 --- a/Basic/MultiplayerUseCases/Assets/Editor/Tutorials/ProximityChecks/30-InspectTheCube1.asset +++ b/Basic/MultiplayerUseCases/Assets/Editor/Tutorials/ProximityChecks/30-InspectTheCube1.asset @@ -21,8 +21,11 @@ MonoBehaviour: m_Untranslated: Text: m_Untranslated: + m_CodeSample: + m_PostInstructionImage: {fileID: 0} m_Tutorial: {fileID: 0} m_Image: {fileID: 0} + m_VideoUrl: m_Video: {fileID: 0} m_CriteriaCompletion: 0 m_Criteria: @@ -33,6 +36,7 @@ MonoBehaviour: - m_SelectorType: 1 m_ViewType: m_TypeName: + m_FocusEditorWindow: 0 m_EditorWindowType: m_TypeName: UnityEditor.InspectorWindow, UnityEditor.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null @@ -47,6 +51,7 @@ MonoBehaviour: m_Text: ColorManager m_Image: {fileID: 0} m_Tooltip: + m_TextWithWhitespace: m_ControlName: m_PropertyPath: m_TargetType: @@ -57,8 +62,9 @@ MonoBehaviour: m_SceneGuid: 9fc0d4010bbf28b4594072e72b8655ab m_GameObjectGuid: 23f5c3a2-0ce1-4e20-9406-5fff9bf3874d m_SerializedComponentType: - m_TypeName: Unity.Netcode.Samples.MultiplayerUseCases.ColorManager, com.unity.samples.multiplayer-use-cases.rpcvsnetvar, - Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_TypeName: Unity.Netcode.Samples.MultiplayerUseCases.ColorManager, + com.unity.samples.multiplayer-use-cases.rpcvsnetvar, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null m_ComponentIndex: 0 m_AssetObject: {fileID: 0} m_Prefab: {fileID: 0} @@ -72,6 +78,7 @@ MonoBehaviour: m_Text: ColorManager m_Image: {fileID: 0} m_Tooltip: + m_TextWithWhitespace: m_ControlName: m_PropertyPath: m_TargetType: @@ -82,8 +89,9 @@ MonoBehaviour: m_SceneGuid: 9fc0d4010bbf28b4594072e72b8655ab m_GameObjectGuid: 23f5c3a2-0ce1-4e20-9406-5fff9bf3874d m_SerializedComponentType: - m_TypeName: Unity.Netcode.Samples.MultiplayerUseCases.ColorManager, com.unity.samples.multiplayer-use-cases.rpcvsnetvar, - Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_TypeName: Unity.Netcode.Samples.MultiplayerUseCases.ColorManager, + com.unity.samples.multiplayer-use-cases.rpcvsnetvar, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null m_ComponentIndex: 0 m_AssetObject: {fileID: 0} m_Prefab: {fileID: 0} @@ -94,6 +102,7 @@ MonoBehaviour: - m_SelectorType: 1 m_ViewType: m_TypeName: + m_FocusEditorWindow: 0 m_EditorWindowType: m_TypeName: UnityEditor.ProjectBrowser, UnityEditor.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null @@ -108,6 +117,7 @@ MonoBehaviour: m_Text: ColorManager m_Image: {fileID: 0} m_Tooltip: + m_TextWithWhitespace: m_ControlName: m_PropertyPath: m_TargetType: @@ -132,6 +142,7 @@ MonoBehaviour: m_Text: ColorManager m_Image: {fileID: 0} m_Tooltip: + m_TextWithWhitespace: m_ControlName: m_PropertyPath: m_TargetType: @@ -165,8 +176,11 @@ MonoBehaviour: It makes the ColorManager ready to interact with the player when it approaches the object.' + m_CodeSample: + m_PostInstructionImage: {fileID: 0} m_Tutorial: {fileID: 0} m_Image: {fileID: 0} + m_VideoUrl: m_Video: {fileID: 0} m_CriteriaCompletion: 0 m_Criteria: @@ -184,8 +198,11 @@ MonoBehaviour: m_Untranslated: Press Next to continue Text: m_Untranslated: + m_CodeSample: + m_PostInstructionImage: {fileID: 0} m_Tutorial: {fileID: 0} m_Image: {fileID: 0} + m_VideoUrl: m_Video: {fileID: 0} m_CriteriaCompletion: 0 m_Criteria: @@ -238,7 +255,20 @@ MonoBehaviour: m_CallState: 1 Shown: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 11400000, guid: 0bbd71a4713de434d8c94e72034b789c, type: 2} + m_TargetAssemblyTypeName: Unity.Tutorials.Core.Editor.CommonTutorialCallbacks, + Unity.Tutorials.Core.Editor + m_MethodName: SelectGameObject + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: CubeMesh + m_BoolArgument: 0 + m_CallState: 1 Staying: m_PersistentCalls: m_Calls: [] diff --git a/Basic/MultiplayerUseCases/Assets/UseCaseSamples/ProximityChecks/ProximityChecks.unity b/Basic/MultiplayerUseCases/Assets/UseCaseSamples/ProximityChecks/ProximityChecks.unity index 0b7aba52c..16bcfa8da 100644 --- a/Basic/MultiplayerUseCases/Assets/UseCaseSamples/ProximityChecks/ProximityChecks.unity +++ b/Basic/MultiplayerUseCases/Assets/UseCaseSamples/ProximityChecks/ProximityChecks.unity @@ -42,7 +42,8 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -821,6 +822,7 @@ MonoBehaviour: m_DeselectOnBackgroundClick: 1 m_PointerBehavior: 0 m_CursorLockBehavior: 0 + m_ScrollDeltaPerTick: 6 --- !u!1 &1017577773 stripped GameObject: m_CorrespondingSourceObject: {fileID: 7079470771712663481, guid: e0e46513231ac0d4192526820acd436d, type: 3} @@ -885,6 +887,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} m_Name: m_EditorClassIdentifier: + NetworkManagerExpanded: 0 NetworkConfig: ProtocolVersion: 0 NetworkTransport: {fileID: 1242368264} @@ -906,6 +909,11 @@ MonoBehaviour: LoadSceneTimeOut: 120 SpawnTimeout: 1 EnableNetworkLogs: 1 + NetworkTopology: 0 + UseCMBService: 0 + AutoSpawnPlayerPrefabClientSide: 1 + NetworkMessageMetrics: 1 + NetworkProfilingMetrics: 1 OldPrefabList: - Override: 0 Prefab: {fileID: 4416926081852918481, guid: b4f4d10f529a9064487c55fc530813b2, type: 3} @@ -1123,6 +1131,10 @@ PrefabInstance: propertyPath: GlobalObjectIdHash value: 1643459133 objectReference: {fileID: 0} + - target: {fileID: 7072414127250795839, guid: e0e46513231ac0d4192526820acd436d, type: 3} + propertyPath: InScenePlacedSourceGlobalObjectIdHash + value: 1755651710 + objectReference: {fileID: 0} - target: {fileID: 7079470771712663481, guid: e0e46513231ac0d4192526820acd436d, type: 3} propertyPath: m_Name value: ColoredCube diff --git a/Basic/MultiplayerUseCases/Packages/manifest.json b/Basic/MultiplayerUseCases/Packages/manifest.json index 6d8f4299c..80d7c2bf4 100644 --- a/Basic/MultiplayerUseCases/Packages/manifest.json +++ b/Basic/MultiplayerUseCases/Packages/manifest.json @@ -3,13 +3,14 @@ "com.unity.feature.development": "1.0.2", "com.unity.ide.rider": "3.0.31", "com.unity.ide.visualstudio": "2.0.22", - "com.unity.inputsystem": "1.9.0", - "com.unity.learn.iet-framework": "4.0.1", + "com.unity.inputsystem": "1.11.1", + "com.unity.learn.iet-framework": "4.0.2", "com.unity.learn.iet-framework.authoring": "1.2.2", - "com.unity.multiplayer.playmode": "1.3.0-pre.2", + "com.unity.multiplayer.center": "1.0.0", + "com.unity.multiplayer.playmode": "1.3.0", "com.unity.multiplayer.samples.coop": "https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git?path=/Packages/com.unity.multiplayer.samples.coop#v2.4.0", - "com.unity.multiplayer.tools": "2.2.0", - "com.unity.netcode.gameobjects": "1.10.0", + "com.unity.multiplayer.tools": "2.2.1", + "com.unity.netcode.gameobjects": "2.0.0", "com.unity.render-pipelines.universal": "17.0.3", "com.unity.test-framework": "1.4.5", "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.9", diff --git a/Basic/MultiplayerUseCases/Packages/packages-lock.json b/Basic/MultiplayerUseCases/Packages/packages-lock.json index 5dc814dd7..64b6c04bf 100644 --- a/Basic/MultiplayerUseCases/Packages/packages-lock.json +++ b/Basic/MultiplayerUseCases/Packages/packages-lock.json @@ -1,7 +1,7 @@ { "dependencies": { "com.unity.burst": { - "version": "1.8.17", + "version": "1.8.18", "depth": 1, "source": "registry", "dependencies": { @@ -11,12 +11,12 @@ "url": "https://packages.unity.com" }, "com.unity.collections": { - "version": "2.4.3", + "version": "2.5.1", "depth": 1, "source": "registry", "dependencies": { - "com.unity.burst": "1.8.13", - "com.unity.test-framework": "1.4.3", + "com.unity.burst": "1.8.17", + "com.unity.test-framework": "1.4.5", "com.unity.nuget.mono-cecil": "1.11.4", "com.unity.test-framework.performance": "3.0.3" }, @@ -68,7 +68,7 @@ "url": "https://packages.unity.com" }, "com.unity.inputsystem": { - "version": "1.9.0", + "version": "1.11.1", "depth": 0, "source": "registry", "dependencies": { @@ -77,7 +77,7 @@ "url": "https://packages.unity.com" }, "com.unity.learn.iet-framework": { - "version": "4.0.1", + "version": "4.0.2", "depth": 0, "source": "registry", "dependencies": { @@ -102,8 +102,16 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.multiplayer.center": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + } + }, "com.unity.multiplayer.playmode": { - "version": "1.3.0-pre.2", + "version": "1.3.0", "depth": 0, "source": "registry", "dependencies": { @@ -124,13 +132,13 @@ "hash": "e48babbbf2e903d65e08a114aac3f3eba824a94a" }, "com.unity.multiplayer.tools": { - "version": "2.2.0", + "version": "2.2.1", "depth": 0, "source": "registry", "dependencies": { - "com.unity.burst": "1.8.16", - "com.unity.collections": "2.4.1", - "com.unity.mathematics": "1.3.2", + "com.unity.burst": "1.8.17", + "com.unity.collections": "2.4.0", + "com.unity.mathematics": "1.3.1", "com.unity.profiling.core": "1.0.2", "com.unity.nuget.mono-cecil": "1.11.4", "com.unity.modules.uielements": "1.0.0", @@ -139,12 +147,12 @@ "url": "https://packages.unity.com" }, "com.unity.netcode.gameobjects": { - "version": "1.10.0", + "version": "2.0.0", "depth": 0, "source": "registry", "dependencies": { - "com.unity.transport": "1.4.0", - "com.unity.nuget.mono-cecil": "1.10.1" + "com.unity.transport": "2.3.0", + "com.unity.nuget.mono-cecil": "1.11.4" }, "url": "https://packages.unity.com" }, @@ -184,7 +192,7 @@ "com.unity.burst": "1.8.14", "com.unity.mathematics": "1.3.2", "com.unity.ugui": "2.0.0", - "com.unity.collections": "2.4.1", + "com.unity.collections": "2.4.3", "com.unity.modules.physics": "1.0.0", "com.unity.modules.terrain": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0", diff --git a/Basic/MultiplayerUseCases/ProjectSettings/ProjectVersion.txt b/Basic/MultiplayerUseCases/ProjectSettings/ProjectVersion.txt index 1ffb2b117..11b73a4be 100644 --- a/Basic/MultiplayerUseCases/ProjectSettings/ProjectVersion.txt +++ b/Basic/MultiplayerUseCases/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 6000.0.17f1 -m_EditorVersionWithRevision: 6000.0.17f1 (95e1b8cf7a6b) +m_EditorVersion: 6000.0.23f1 +m_EditorVersionWithRevision: 6000.0.23f1 (1c4764c07fb4) diff --git a/Basic/MultiplayerUseCases/ProjectSettings/VirtualProjectsConfig.json b/Basic/MultiplayerUseCases/ProjectSettings/VirtualProjectsConfig.json index 1c8f3ab38..3b07de8bd 100644 --- a/Basic/MultiplayerUseCases/ProjectSettings/VirtualProjectsConfig.json +++ b/Basic/MultiplayerUseCases/ProjectSettings/VirtualProjectsConfig.json @@ -1,4 +1,4 @@ { "PlayerTags": [], - "version": "1.3.0-pre.2" + "version": "1.3.0" } \ No newline at end of file diff --git a/Basic/MultiplayerUseCases/README.md b/Basic/MultiplayerUseCases/README.md index 97a0a821e..253ab891f 100644 --- a/Basic/MultiplayerUseCases/README.md +++ b/Basic/MultiplayerUseCases/README.md @@ -1,7 +1,7 @@ # Multiplayer Use Cases -[![UnityVersion](https://img.shields.io/badge/Unity%20Version:-2022.3%20LTS-57b9d3.svg?logo=unity&color=2196F3)](https://unity.com/releases/editor/whats-new/2022.3.27) -[![NetcodeVersion](https://img.shields.io/badge/Netcode%20Version:-1.8.1-57b9d3.svg?logo=unity&color=2196F3)](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F1.8.1) +[![UnityVersion](https://img.shields.io/badge/Unity%20Version:-6000.0.23f1%20-57b9d3.svg?logo=unity&color=2196F3)](https://unity.com/releases/editor/whats-new/6000.0.23) +[![NetcodeVersion](https://img.shields.io/badge/Netcode%20Version:-2.0.0-57b9d3.svg?logo=unity&color=2196F3)](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo%2F2.0.0)

This sample provides a series of scenes. Each scene explains a specific API or system commonly used in Netcode for GameObjects. In this sample you will learn more about client-server communication, state synchronization, and other typical mechanics of multiplayer games. @@ -41,4 +41,4 @@ Check out our main [Bitesize Samples GitHub Readme](https://github.com/Unity-Tec [![Documentation](https://img.shields.io/badge/Unity-bitesize--docs-57b9d3.svg?logo=unity&color=2196F3)](https://docs-multiplayer.unity3d.com/netcode/current/learn/bitesize/bitesize-introduction) [![Forums](https://img.shields.io/badge/Unity-multiplayer--forum-57b9d3.svg?logo=unity&color=2196F3)](https://forum.unity.com/forums/multiplayer.26/) -[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) \ No newline at end of file +[![Discord](https://img.shields.io/discord/449263083769036810.svg?label=discord&logo=discord&color=5865F2)](https://discord.gg/FM8SE9E) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1245c4df..ef22fdb32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [1.8.0] 2024-10-17 + +### Multiplayer Use Cases + +#### Added +- The last page of the "Data/Event Synchronization" tutorial redirects to the "Proximity Checks" tutorial +- Imported TextMeshPro essentials so you don't have to do it + +#### Changed +- Updated project to Unity 6 (and packages to the latest stable versions) +- All inputs are handled through the new Unity Input System +- Replaced 3rd party ParrelSync package with Unity's Multiplayer Play Mode +- Disabled compatibility mode for RenderGraph, as it's going to be deprecated and throws warnings +- Removed runtime network stats monitor from the scene to improve readability +- Removed deprecated visual studio code package + +#### Fixed +- Fixed "Build Profile" window not being clickable during the last page of each tutorial + ## [1.7.0] 2024-08-31 ### Bitesize Samples Repository @@ -373,7 +392,7 @@ A new sample was added named client driven. It focus on client driven movements, #### Known Issues -- Upon import a MissingReferenceException is triggered from within MLAPI: **"MissingReferenceException: The object of type ‘GameObject’ has been destroyed but you are still trying to access it. +- Upon import a MissingReferenceException is triggered from within MLAPI: **"MissingReferenceException: The object of type ‘GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object."** in: - UnityEngine.GameObject.GetComponent[T] () (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/GameObject.bindings.cs:28)