From 620c6e32359fbb45598bb084ab3d7d1e6c010c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elfi=20K=C3=BChndorf?= Date: Thu, 29 Feb 2024 13:53:58 +0100 Subject: [PATCH 1/7] Added null reference check to ClientInputSender script --- .../Scripts/Gameplay/UserInput/ClientInputSender.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs index 24f42cd408..ddeee2df07 100644 --- a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs +++ b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs @@ -473,27 +473,28 @@ public void RequestAction(ActionID actionID, SkillTriggerStyle triggerStyle, ulo void Update() { - if (Input.GetKeyDown(KeyCode.Alpha1)) + if (Input.GetKeyDown(KeyCode.Alpha1) && CharacterClass.Skill1) { + RequestAction(actionState1.actionID, SkillTriggerStyle.Keyboard); } - else if (Input.GetKeyUp(KeyCode.Alpha1)) + else if (Input.GetKeyUp(KeyCode.Alpha1) && CharacterClass.Skill1) { RequestAction(actionState1.actionID, SkillTriggerStyle.KeyboardRelease); } - if (Input.GetKeyDown(KeyCode.Alpha2)) + if (Input.GetKeyDown(KeyCode.Alpha2) && CharacterClass.Skill2) { RequestAction(actionState2.actionID, SkillTriggerStyle.Keyboard); } - else if (Input.GetKeyUp(KeyCode.Alpha2)) + else if (Input.GetKeyUp(KeyCode.Alpha2) && CharacterClass.Skill2) { RequestAction(actionState2.actionID, SkillTriggerStyle.KeyboardRelease); } - if (Input.GetKeyDown(KeyCode.Alpha3)) + if (Input.GetKeyDown(KeyCode.Alpha3) && CharacterClass.Skill3) { RequestAction(actionState3.actionID, SkillTriggerStyle.Keyboard); } - else if (Input.GetKeyUp(KeyCode.Alpha3)) + else if (Input.GetKeyUp(KeyCode.Alpha3) && CharacterClass.Skill3) { RequestAction(actionState3.actionID, SkillTriggerStyle.KeyboardRelease); } From edc03c35a382b0e626f692b23afadeed19986743 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elfi=20K=C3=BChndorf?= Date: Tue, 5 Mar 2024 11:33:04 +0100 Subject: [PATCH 2/7] Fixed whitepsace issue --- .../Gameplay/UserInput/ClientInputSender.cs | 63 +++++++++++-------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs index ddeee2df07..5e3b66fe68 100644 --- a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs +++ b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs @@ -23,7 +23,9 @@ public class ClientInputSender : NetworkBehaviour //upstream network conservation. This matters when holding down your mouse button to move. const float k_MoveSendRateSeconds = 0.04f; //25 fps. - const float k_TargetMoveTimeout = 0.45f; //prevent moves for this long after targeting someone (helps prevent walking to the guy you clicked). + const float + k_TargetMoveTimeout = + 0.45f; //prevent moves for this long after targeting someone (helps prevent walking to the guy you clicked). float m_LastSentMove; @@ -39,8 +41,7 @@ public class ClientInputSender : NetworkBehaviour RaycastHitComparer m_RaycastHitComparer; - [SerializeField] - ServerCharacter m_ServerCharacter; + [SerializeField] ServerCharacter m_ServerCharacter; /// /// This event fires at the time when an action request is sent to the server. @@ -53,12 +54,12 @@ public class ClientInputSender : NetworkBehaviour /// public enum SkillTriggerStyle { - None, //no skill was triggered. - MouseClick, //skill was triggered via mouse-click implying you should do a raycast from the mouse position to find a target. - Keyboard, //skill was triggered via a Keyboard press, implying target should be taken from the active target. + None, //no skill was triggered. + MouseClick, //skill was triggered via mouse-click implying you should do a raycast from the mouse position to find a target. + Keyboard, //skill was triggered via a Keyboard press, implying target should be taken from the active target. KeyboardRelease, //represents a released key. - UI, //skill was triggered from the UI, and similar to Keyboard, target should be inferred from the active target. - UIRelease, //represents letting go of the mouse-button on a UI button + UI, //skill was triggered from the UI, and similar to Keyboard, target should be inferred from the active target. + UIRelease, //represents letting go of the mouse-button on a UI button } bool IsReleaseStyle(SkillTriggerStyle style) @@ -105,8 +106,7 @@ struct ActionRequest /// CharacterClass CharacterClass => m_ServerCharacter.CharacterClass; - [SerializeField] - PhysicsWrapper m_PhysicsWrapper; + [SerializeField] PhysicsWrapper m_PhysicsWrapper; public ActionState actionState1 { get; private set; } @@ -140,11 +140,13 @@ public override void OnNetworkSpawn() { actionState1 = new ActionState() { actionID = action1.ActionID, selectable = true }; } + if (CharacterClass.Skill2 && GameDataSource.Instance.TryGetActionPrototypeByID(CharacterClass.Skill2.ActionID, out var action2)) { actionState2 = new ActionState() { actionID = action2.ActionID, selectable = true }; } + if (CharacterClass.Skill3 && GameDataSource.Instance.TryGetActionPrototypeByID(CharacterClass.Skill3.ActionID, out var action3)) { @@ -225,16 +227,19 @@ void FixedUpdate() } else if (!IsReleaseStyle(m_ActionRequests[i].TriggerStyle)) { - var actionPrototype = GameDataSource.Instance.GetActionPrototypeByID(m_ActionRequests[i].RequestedActionID); + var actionPrototype = + GameDataSource.Instance.GetActionPrototypeByID(m_ActionRequests[i].RequestedActionID); if (actionPrototype.Config.ActionInput != null) { var skillPlayer = Instantiate(actionPrototype.Config.ActionInput); - skillPlayer.Initiate(m_ServerCharacter, m_PhysicsWrapper.Transform.position, actionPrototype.ActionID, SendInput, FinishSkill); + skillPlayer.Initiate(m_ServerCharacter, m_PhysicsWrapper.Transform.position, + actionPrototype.ActionID, SendInput, FinishSkill); m_CurrentSkillInput = skillPlayer; } else { - PerformSkill(actionPrototype.ActionID, m_ActionRequests[i].TriggerStyle, m_ActionRequests[i].TargetId); + PerformSkill(actionPrototype.ActionID, m_ActionRequests[i].TriggerStyle, + m_ActionRequests[i].TargetId); } } } @@ -354,7 +359,8 @@ void PerformSkill(ActionID actionID, SkillTriggerStyle triggerStyle, ulong targe /// How did this skill play get triggered? Mouse, Keyboard, UI etc. /// Out parameter that will be filled with the resulting action, if any. /// true if we should play an action, false otherwise. - bool GetActionRequestForTarget(Transform hit, ActionID actionID, SkillTriggerStyle triggerStyle, out ActionRequestData resultData) + bool GetActionRequestForTarget(Transform hit, ActionID actionID, SkillTriggerStyle triggerStyle, + out ActionRequestData resultData) { resultData = new ActionRequestData(); @@ -427,7 +433,8 @@ void PopulateSkillRequest(Vector3 hitPoint, ActionID actionID, ref ActionRequest //for projectile logic, infer the direction from the click position. case ActionLogic.LaunchProjectile: resultData.Direction = direction; - resultData.ShouldClose = false; //why? Because you could be lining up a shot, hoping to hit other people between you and your target. Moving you would be quite invasive. + resultData.ShouldClose = + false; //why? Because you could be lining up a shot, hoping to hit other people between you and your target. Moving you would be quite invasive. return; case ActionLogic.Melee: resultData.Direction = direction; @@ -475,13 +482,13 @@ void Update() { if (Input.GetKeyDown(KeyCode.Alpha1) && CharacterClass.Skill1) { - RequestAction(actionState1.actionID, SkillTriggerStyle.Keyboard); } else if (Input.GetKeyUp(KeyCode.Alpha1) && CharacterClass.Skill1) { RequestAction(actionState1.actionID, SkillTriggerStyle.KeyboardRelease); } + if (Input.GetKeyDown(KeyCode.Alpha2) && CharacterClass.Skill2) { RequestAction(actionState2.actionID, SkillTriggerStyle.Keyboard); @@ -490,6 +497,7 @@ void Update() { RequestAction(actionState2.actionID, SkillTriggerStyle.KeyboardRelease); } + if (Input.GetKeyDown(KeyCode.Alpha3) && CharacterClass.Skill3) { RequestAction(actionState3.actionID, SkillTriggerStyle.Keyboard); @@ -503,14 +511,17 @@ void Update() { RequestAction(GameDataSource.Instance.Emote1ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); } + if (Input.GetKeyDown(KeyCode.Alpha6)) { RequestAction(GameDataSource.Instance.Emote2ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); } + if (Input.GetKeyDown(KeyCode.Alpha7)) { RequestAction(GameDataSource.Instance.Emote3ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); } + if (Input.GetKeyDown(KeyCode.Alpha8)) { RequestAction(GameDataSource.Instance.Emote4ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); @@ -528,7 +539,8 @@ void Update() if (Input.GetMouseButtonDown(0)) { - RequestAction(GameDataSource.Instance.GeneralTargetActionPrototype.ActionID, SkillTriggerStyle.MouseClick); + RequestAction(GameDataSource.Instance.GeneralTargetActionPrototype.ActionID, + SkillTriggerStyle.MouseClick); } else if (Input.GetMouseButton(0)) { @@ -540,7 +552,8 @@ void Update() void UpdateAction1() { var isHoldingNetworkObject = - NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(m_ServerCharacter.HeldNetworkObject.Value, + NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue( + m_ServerCharacter.HeldNetworkObject.Value, out var heldNetworkObject); NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(m_ServerCharacter.TargetId.Value, @@ -554,19 +567,19 @@ void UpdateAction1() actionState1.actionID = GameDataSource.Instance.DropActionPrototype.ActionID; } else if ((m_ServerCharacter.TargetId.Value != 0 - && selection != null - && selection.TryGetComponent(out PickUpState pickUpState)) - ) + && selection != null + && selection.TryGetComponent(out PickUpState pickUpState)) + ) { // special case: targeting a pickup-able item or holding a pickup object actionState1.actionID = GameDataSource.Instance.PickUpActionPrototype.ActionID; } else if (m_ServerCharacter.TargetId.Value != 0 - && selection != null - && selection.NetworkObjectId != m_ServerCharacter.NetworkObjectId - && selection.TryGetComponent(out ServerCharacter charState) - && !charState.IsNpc) + && selection != null + && selection.NetworkObjectId != m_ServerCharacter.NetworkObjectId + && selection.TryGetComponent(out ServerCharacter charState) + && !charState.IsNpc) { // special case: when we have a player selected, we change the meaning of the basic action // we have another player selected! In that case we want to reflect that our basic Action is a Revive, not an attack! From d3f0ce446ad4484be27c61c41ffeaaf8c2cddcc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elfi=20K=C3=BChndorf?= Date: Tue, 5 Mar 2024 13:22:43 +0100 Subject: [PATCH 3/7] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 666c283b49..8eb6c15363 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com). +### Fixed +* Added Null reference check to ClientInputSender to fix null reference for missing ability + ## [2.4.0] - 2023-12-13 ### Changed From fce4bfdb45a9083b92caa32af2e845b007ab6978 Mon Sep 17 00:00:00 2001 From: Elfi0Kuhndorf <93766359+Elfi0Kuhndorf@users.noreply.github.com> Date: Wed, 6 Mar 2024 10:29:07 +0100 Subject: [PATCH 4/7] Update CHANGELOG.md pr number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8eb6c15363..84b783973b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com). ### Fixed -* Added Null reference check to ClientInputSender to fix null reference for missing ability +* Added Null reference check to ClientInputSender to fix null reference for missing ability (#880) ## [2.4.0] - 2023-12-13 From 5da9cee4474cd611fa49dfe673f6f60cbebac09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elfi=20K=C3=BChndorf?= Date: Thu, 7 Mar 2024 11:55:54 +0100 Subject: [PATCH 5/7] Revert "Fixed whitepsace issue" This reverts commit edc03c35a382b0e626f692b23afadeed19986743. --- .../Gameplay/UserInput/ClientInputSender.cs | 63 ++++++++----------- 1 file changed, 25 insertions(+), 38 deletions(-) diff --git a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs index 5e3b66fe68..ddeee2df07 100644 --- a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs +++ b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs @@ -23,9 +23,7 @@ public class ClientInputSender : NetworkBehaviour //upstream network conservation. This matters when holding down your mouse button to move. const float k_MoveSendRateSeconds = 0.04f; //25 fps. - const float - k_TargetMoveTimeout = - 0.45f; //prevent moves for this long after targeting someone (helps prevent walking to the guy you clicked). + const float k_TargetMoveTimeout = 0.45f; //prevent moves for this long after targeting someone (helps prevent walking to the guy you clicked). float m_LastSentMove; @@ -41,7 +39,8 @@ const float RaycastHitComparer m_RaycastHitComparer; - [SerializeField] ServerCharacter m_ServerCharacter; + [SerializeField] + ServerCharacter m_ServerCharacter; /// /// This event fires at the time when an action request is sent to the server. @@ -54,12 +53,12 @@ const float /// public enum SkillTriggerStyle { - None, //no skill was triggered. - MouseClick, //skill was triggered via mouse-click implying you should do a raycast from the mouse position to find a target. - Keyboard, //skill was triggered via a Keyboard press, implying target should be taken from the active target. + None, //no skill was triggered. + MouseClick, //skill was triggered via mouse-click implying you should do a raycast from the mouse position to find a target. + Keyboard, //skill was triggered via a Keyboard press, implying target should be taken from the active target. KeyboardRelease, //represents a released key. - UI, //skill was triggered from the UI, and similar to Keyboard, target should be inferred from the active target. - UIRelease, //represents letting go of the mouse-button on a UI button + UI, //skill was triggered from the UI, and similar to Keyboard, target should be inferred from the active target. + UIRelease, //represents letting go of the mouse-button on a UI button } bool IsReleaseStyle(SkillTriggerStyle style) @@ -106,7 +105,8 @@ struct ActionRequest /// CharacterClass CharacterClass => m_ServerCharacter.CharacterClass; - [SerializeField] PhysicsWrapper m_PhysicsWrapper; + [SerializeField] + PhysicsWrapper m_PhysicsWrapper; public ActionState actionState1 { get; private set; } @@ -140,13 +140,11 @@ public override void OnNetworkSpawn() { actionState1 = new ActionState() { actionID = action1.ActionID, selectable = true }; } - if (CharacterClass.Skill2 && GameDataSource.Instance.TryGetActionPrototypeByID(CharacterClass.Skill2.ActionID, out var action2)) { actionState2 = new ActionState() { actionID = action2.ActionID, selectable = true }; } - if (CharacterClass.Skill3 && GameDataSource.Instance.TryGetActionPrototypeByID(CharacterClass.Skill3.ActionID, out var action3)) { @@ -227,19 +225,16 @@ void FixedUpdate() } else if (!IsReleaseStyle(m_ActionRequests[i].TriggerStyle)) { - var actionPrototype = - GameDataSource.Instance.GetActionPrototypeByID(m_ActionRequests[i].RequestedActionID); + var actionPrototype = GameDataSource.Instance.GetActionPrototypeByID(m_ActionRequests[i].RequestedActionID); if (actionPrototype.Config.ActionInput != null) { var skillPlayer = Instantiate(actionPrototype.Config.ActionInput); - skillPlayer.Initiate(m_ServerCharacter, m_PhysicsWrapper.Transform.position, - actionPrototype.ActionID, SendInput, FinishSkill); + skillPlayer.Initiate(m_ServerCharacter, m_PhysicsWrapper.Transform.position, actionPrototype.ActionID, SendInput, FinishSkill); m_CurrentSkillInput = skillPlayer; } else { - PerformSkill(actionPrototype.ActionID, m_ActionRequests[i].TriggerStyle, - m_ActionRequests[i].TargetId); + PerformSkill(actionPrototype.ActionID, m_ActionRequests[i].TriggerStyle, m_ActionRequests[i].TargetId); } } } @@ -359,8 +354,7 @@ void PerformSkill(ActionID actionID, SkillTriggerStyle triggerStyle, ulong targe /// How did this skill play get triggered? Mouse, Keyboard, UI etc. /// Out parameter that will be filled with the resulting action, if any. /// true if we should play an action, false otherwise. - bool GetActionRequestForTarget(Transform hit, ActionID actionID, SkillTriggerStyle triggerStyle, - out ActionRequestData resultData) + bool GetActionRequestForTarget(Transform hit, ActionID actionID, SkillTriggerStyle triggerStyle, out ActionRequestData resultData) { resultData = new ActionRequestData(); @@ -433,8 +427,7 @@ void PopulateSkillRequest(Vector3 hitPoint, ActionID actionID, ref ActionRequest //for projectile logic, infer the direction from the click position. case ActionLogic.LaunchProjectile: resultData.Direction = direction; - resultData.ShouldClose = - false; //why? Because you could be lining up a shot, hoping to hit other people between you and your target. Moving you would be quite invasive. + resultData.ShouldClose = false; //why? Because you could be lining up a shot, hoping to hit other people between you and your target. Moving you would be quite invasive. return; case ActionLogic.Melee: resultData.Direction = direction; @@ -482,13 +475,13 @@ void Update() { if (Input.GetKeyDown(KeyCode.Alpha1) && CharacterClass.Skill1) { + RequestAction(actionState1.actionID, SkillTriggerStyle.Keyboard); } else if (Input.GetKeyUp(KeyCode.Alpha1) && CharacterClass.Skill1) { RequestAction(actionState1.actionID, SkillTriggerStyle.KeyboardRelease); } - if (Input.GetKeyDown(KeyCode.Alpha2) && CharacterClass.Skill2) { RequestAction(actionState2.actionID, SkillTriggerStyle.Keyboard); @@ -497,7 +490,6 @@ void Update() { RequestAction(actionState2.actionID, SkillTriggerStyle.KeyboardRelease); } - if (Input.GetKeyDown(KeyCode.Alpha3) && CharacterClass.Skill3) { RequestAction(actionState3.actionID, SkillTriggerStyle.Keyboard); @@ -511,17 +503,14 @@ void Update() { RequestAction(GameDataSource.Instance.Emote1ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); } - if (Input.GetKeyDown(KeyCode.Alpha6)) { RequestAction(GameDataSource.Instance.Emote2ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); } - if (Input.GetKeyDown(KeyCode.Alpha7)) { RequestAction(GameDataSource.Instance.Emote3ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); } - if (Input.GetKeyDown(KeyCode.Alpha8)) { RequestAction(GameDataSource.Instance.Emote4ActionPrototype.ActionID, SkillTriggerStyle.Keyboard); @@ -539,8 +528,7 @@ void Update() if (Input.GetMouseButtonDown(0)) { - RequestAction(GameDataSource.Instance.GeneralTargetActionPrototype.ActionID, - SkillTriggerStyle.MouseClick); + RequestAction(GameDataSource.Instance.GeneralTargetActionPrototype.ActionID, SkillTriggerStyle.MouseClick); } else if (Input.GetMouseButton(0)) { @@ -552,8 +540,7 @@ void Update() void UpdateAction1() { var isHoldingNetworkObject = - NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue( - m_ServerCharacter.HeldNetworkObject.Value, + NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(m_ServerCharacter.HeldNetworkObject.Value, out var heldNetworkObject); NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(m_ServerCharacter.TargetId.Value, @@ -567,19 +554,19 @@ void UpdateAction1() actionState1.actionID = GameDataSource.Instance.DropActionPrototype.ActionID; } else if ((m_ServerCharacter.TargetId.Value != 0 - && selection != null - && selection.TryGetComponent(out PickUpState pickUpState)) - ) + && selection != null + && selection.TryGetComponent(out PickUpState pickUpState)) + ) { // special case: targeting a pickup-able item or holding a pickup object actionState1.actionID = GameDataSource.Instance.PickUpActionPrototype.ActionID; } else if (m_ServerCharacter.TargetId.Value != 0 - && selection != null - && selection.NetworkObjectId != m_ServerCharacter.NetworkObjectId - && selection.TryGetComponent(out ServerCharacter charState) - && !charState.IsNpc) + && selection != null + && selection.NetworkObjectId != m_ServerCharacter.NetworkObjectId + && selection.TryGetComponent(out ServerCharacter charState) + && !charState.IsNpc) { // special case: when we have a player selected, we change the meaning of the basic action // we have another player selected! In that case we want to reflect that our basic Action is a Revive, not an attack! From 0f71e648769e5d15bb95a90bc6446a0585384841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elfi=20K=C3=BChndorf?= Date: Thu, 7 Mar 2024 13:12:08 +0100 Subject: [PATCH 6/7] fix line 478 --- Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs index ddeee2df07..7dc81ef4b8 100644 --- a/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs +++ b/Assets/Scripts/Gameplay/UserInput/ClientInputSender.cs @@ -475,7 +475,6 @@ void Update() { if (Input.GetKeyDown(KeyCode.Alpha1) && CharacterClass.Skill1) { - RequestAction(actionState1.actionID, SkillTriggerStyle.Keyboard); } else if (Input.GetKeyUp(KeyCode.Alpha1) && CharacterClass.Skill1) From 315a172c53bcd2367b89d675f4ff64774b45f657 Mon Sep 17 00:00:00 2001 From: Elfi0Kuhndorf <93766359+Elfi0Kuhndorf@users.noreply.github.com> Date: Tue, 12 Mar 2024 09:30:24 +0100 Subject: [PATCH 7/7] Update CHANGELOG.md Co-authored-by: Fernando Cortez --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a4deedc9d..17003298d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -109,7 +109,7 @@ Additional documentation and release notes are available at [Multiplayer Documen * Updated Boss Room to NGO 1.1.0 (#708) * Now uses managed types for custom INetworkSerializable in NetworkVariables. NetworkGUID is now a class instead of a struct. * Cleanup Relay and UTP setup. Flow is now simpler, no need for the RelayUtilities anymore. - * This cleansup various setup steps and puts them all in a new "ConnectionMethod.cs". + * This cleans up various setup steps and puts them all in a new "ConnectionMethod.cs". * MaxSendQueueSize value is removed, reserialized NetworkManager to remove that now useless value. * Reverted the default value for max payload size, this is no longer useful as NGO is mostly reliable. * Set connection approval timeout higher, 1 sec is pretty short. If there's a packet drop, some hangups on the network, clients would get timedout too easily.