From 04d527a2bd5919b3264f74cc596a9e151a39f67d Mon Sep 17 00:00:00 2001 From: Yuanchen Wang Date: Tue, 19 May 2026 01:53:01 +0800 Subject: [PATCH] update project version translate version from unity 2021 to unity 6.4, compiles correctly --- .../Resources/OneLine/OneLineSettings.asset | 2 +- .../Hierarchy 2/Editor/HierarchyEditor.cs | 4 +- .../Plugins/Editor/SubAssetDragAndDrop.cs | 2 +- .../SubAssetEditor/Editor/SubAssetEditor.cs | 2 +- .../Scripts/Input/PlayerInputActions.cs | 662 +++++++++++++++--- .../Scripts/Ultis/Random/DropOnDestroy.cs | 4 +- GameTemplate/Packages/manifest.json | 26 +- GameTemplate/Packages/packages-lock.json | 203 ++++-- .../ProjectSettings/MultiplayerManager.asset | 9 + .../ProjectSettings/ProjectSettings.asset | 150 +++- .../ProjectSettings/ProjectVersion.txt | 4 +- GameTemplate/ProjectSettings/boot.config | 0 12 files changed, 838 insertions(+), 230 deletions(-) create mode 100644 GameTemplate/ProjectSettings/MultiplayerManager.asset delete mode 100644 GameTemplate/ProjectSettings/boot.config diff --git a/GameTemplate/Assets/Editor/Resources/OneLine/OneLineSettings.asset b/GameTemplate/Assets/Editor/Resources/OneLine/OneLineSettings.asset index 76a826b0..f48807a8 100644 --- a/GameTemplate/Assets/Editor/Resources/OneLine/OneLineSettings.asset +++ b/GameTemplate/Assets/Editor/Resources/OneLine/OneLineSettings.asset @@ -11,7 +11,7 @@ MonoBehaviour: m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fc7365797ec216e488c1c630d3d218b4, type: 3} m_Name: OneLineSettings - m_EditorClassIdentifier: + m_EditorClassIdentifier: st.one-line.Editor::OneLine.Settings.Settings layer: enabled: value: 0 diff --git a/GameTemplate/Assets/Plugins/Editor/Hierarchy 2/Editor/HierarchyEditor.cs b/GameTemplate/Assets/Plugins/Editor/Hierarchy 2/Editor/HierarchyEditor.cs index f9b7883a..350138b0 100644 --- a/GameTemplate/Assets/Plugins/Editor/Hierarchy 2/Editor/HierarchyEditor.cs +++ b/GameTemplate/Assets/Plugins/Editor/Hierarchy 2/Editor/HierarchyEditor.cs @@ -1883,10 +1883,10 @@ internal static class Styles internal static GUIStyle TreeBoldLabel { - get { return TreeView.DefaultStyles.boldLabel; } + get { return UnityEditor.IMGUI.Controls.TreeView.DefaultStyles.boldLabel; } } - internal static GUIStyle TreeLabel = new GUIStyle(TreeView.DefaultStyles.label) + internal static GUIStyle TreeLabel = new GUIStyle(UnityEditor.IMGUI.Controls.TreeView.DefaultStyles.label) { richText = true, normal = new GUIStyleState() {textColor = Color.white} diff --git a/GameTemplate/Assets/Plugins/Editor/SubAssetDragAndDrop.cs b/GameTemplate/Assets/Plugins/Editor/SubAssetDragAndDrop.cs index 287b6ae7..4dff928b 100644 --- a/GameTemplate/Assets/Plugins/Editor/SubAssetDragAndDrop.cs +++ b/GameTemplate/Assets/Plugins/Editor/SubAssetDragAndDrop.cs @@ -165,7 +165,7 @@ private static string GetFileExtention(UnityEngine.Object obj) return "giparams"; else if (obj is GUISkin) return "guiskin"; - else if (obj is PhysicMaterial) + else if (obj is PhysicsMaterial) return "physicMaterial"; else if (obj is PhysicsMaterial2D) return "physicsMaterial2D"; diff --git a/GameTemplate/Assets/Plugins/Editor/SubAssetEditor/Editor/SubAssetEditor.cs b/GameTemplate/Assets/Plugins/Editor/SubAssetEditor/Editor/SubAssetEditor.cs index fa1d6918..bc3e2f7d 100644 --- a/GameTemplate/Assets/Plugins/Editor/SubAssetEditor/Editor/SubAssetEditor.cs +++ b/GameTemplate/Assets/Plugins/Editor/SubAssetEditor/Editor/SubAssetEditor.cs @@ -368,7 +368,7 @@ string GetFileExtention(Object obj) return "giparams"; else if (obj is GUISkin) return "guiskin"; - else if (obj is PhysicMaterial) + else if (obj is PhysicsMaterial) return "physicMaterial"; else if (obj is UnityEngine.Audio.AudioMixer) return "mixer"; diff --git a/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Input/PlayerInputActions.cs b/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Input/PlayerInputActions.cs index be90445d..ab9bbbd4 100644 --- a/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Input/PlayerInputActions.cs +++ b/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Input/PlayerInputActions.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator -// version 1.2.0 +// version 1.19.0 // from Assets/ScriptableObjects/Input/PlayerInputActions.inputactions // // Changes to this file may cause incorrect behavior and will be lost if @@ -15,12 +15,77 @@ using UnityEngine.InputSystem; using UnityEngine.InputSystem.Utilities; -public partial class @PlayerInputActions : IInputActionCollection2, IDisposable +/// +/// Provides programmatic access to , , and instances defined in asset "Assets/ScriptableObjects/Input/PlayerInputActions.inputactions". +/// +/// +/// This class is source generated and any manual edits will be discarded if the associated asset is reimported or modified. +/// +/// +/// +/// using namespace UnityEngine; +/// using UnityEngine.InputSystem; +/// +/// // Example of using an InputActionMap named "Player" from a UnityEngine.MonoBehaviour implementing callback interface. +/// public class Example : MonoBehaviour, MyActions.IPlayerActions +/// { +/// private MyActions_Actions m_Actions; // Source code representation of asset. +/// private MyActions_Actions.PlayerActions m_Player; // Source code representation of action map. +/// +/// void Awake() +/// { +/// m_Actions = new MyActions_Actions(); // Create asset object. +/// m_Player = m_Actions.Player; // Extract action map object. +/// m_Player.AddCallbacks(this); // Register callback interface IPlayerActions. +/// } +/// +/// void OnDestroy() +/// { +/// m_Actions.Dispose(); // Destroy asset object. +/// } +/// +/// void OnEnable() +/// { +/// m_Player.Enable(); // Enable all actions within map. +/// } +/// +/// void OnDisable() +/// { +/// m_Player.Disable(); // Disable all actions within map. +/// } +/// +/// #region Interface implementation of MyActions.IPlayerActions +/// +/// // Invoked when "Move" action is either started, performed or canceled. +/// public void OnMove(InputAction.CallbackContext context) +/// { +/// Debug.Log($"OnMove: {context.ReadValue<Vector2>()}"); +/// } +/// +/// // Invoked when "Attack" action is either started, performed or canceled. +/// public void OnAttack(InputAction.CallbackContext context) +/// { +/// Debug.Log($"OnAttack: {context.ReadValue<float>()}"); +/// } +/// +/// #endregion +/// } +/// +/// +public partial class @PlayerInputActions: IInputActionCollection2, IDisposable { + /// + /// Provides access to the underlying asset instance. + /// public InputActionAsset asset { get; } + + /// + /// Constructs a new instance. + /// public @PlayerInputActions() { asset = InputActionAsset.FromJson(@"{ + ""version"": 1, ""name"": ""PlayerInputActions"", ""maps"": [ { @@ -841,55 +906,78 @@ public @PlayerInputActions() m_Cheats_ToggleConsole = m_Cheats.FindAction("ToggleConsole", throwIfNotFound: true); } + ~@PlayerInputActions() + { + UnityEngine.Debug.Assert(!m_Player.enabled, "This will cause a leak and performance issues, PlayerInputActions.Player.Disable() has not been called."); + UnityEngine.Debug.Assert(!m_UI.enabled, "This will cause a leak and performance issues, PlayerInputActions.UI.Disable() has not been called."); + UnityEngine.Debug.Assert(!m_Cheats.enabled, "This will cause a leak and performance issues, PlayerInputActions.Cheats.Disable() has not been called."); + } + + /// + /// Destroys this asset and all associated instances. + /// public void Dispose() { UnityEngine.Object.Destroy(asset); } + /// public InputBinding? bindingMask { get => asset.bindingMask; set => asset.bindingMask = value; } + /// public ReadOnlyArray? devices { get => asset.devices; set => asset.devices = value; } + /// public ReadOnlyArray controlSchemes => asset.controlSchemes; + /// public bool Contains(InputAction action) { return asset.Contains(action); } + /// public IEnumerator GetEnumerator() { return asset.GetEnumerator(); } + /// IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } + /// public void Enable() { asset.Enable(); } + /// public void Disable() { asset.Disable(); } + + /// public IEnumerable bindings => asset.bindings; + /// public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false) { return asset.FindAction(actionNameOrId, throwIfNotFound); } + + /// public int FindBinding(InputBinding bindingMask, out InputAction action) { return asset.FindBinding(bindingMask, out action); @@ -897,56 +985,125 @@ public int FindBinding(InputBinding bindingMask, out InputAction action) // Player private readonly InputActionMap m_Player; - private IPlayerActions m_PlayerActionsCallbackInterface; + private List m_PlayerActionsCallbackInterfaces = new List(); private readonly InputAction m_Player_Move; private readonly InputAction m_Player_Look; private readonly InputAction m_Player_Fire; + /// + /// Provides access to input actions defined in input action map "Player". + /// public struct PlayerActions { private @PlayerInputActions m_Wrapper; + + /// + /// Construct a new instance of the input action map wrapper class. + /// public PlayerActions(@PlayerInputActions wrapper) { m_Wrapper = wrapper; } + /// + /// Provides access to the underlying input action "Player/Move". + /// public InputAction @Move => m_Wrapper.m_Player_Move; + /// + /// Provides access to the underlying input action "Player/Look". + /// public InputAction @Look => m_Wrapper.m_Player_Look; + /// + /// Provides access to the underlying input action "Player/Fire". + /// public InputAction @Fire => m_Wrapper.m_Player_Fire; + /// + /// Provides access to the underlying input action map instance. + /// public InputActionMap Get() { return m_Wrapper.m_Player; } + /// public void Enable() { Get().Enable(); } + /// public void Disable() { Get().Disable(); } + /// public bool enabled => Get().enabled; + /// + /// Implicitly converts an to an instance. + /// public static implicit operator InputActionMap(PlayerActions set) { return set.Get(); } + /// + /// Adds , and callbacks provided via on all input actions contained in this map. + /// + /// Callback instance. + /// + /// If is null or have already been added this method does nothing. + /// + /// + public void AddCallbacks(IPlayerActions instance) + { + if (instance == null || m_Wrapper.m_PlayerActionsCallbackInterfaces.Contains(instance)) return; + m_Wrapper.m_PlayerActionsCallbackInterfaces.Add(instance); + @Move.started += instance.OnMove; + @Move.performed += instance.OnMove; + @Move.canceled += instance.OnMove; + @Look.started += instance.OnLook; + @Look.performed += instance.OnLook; + @Look.canceled += instance.OnLook; + @Fire.started += instance.OnFire; + @Fire.performed += instance.OnFire; + @Fire.canceled += instance.OnFire; + } + + /// + /// Removes , and callbacks provided via on all input actions contained in this map. + /// + /// + /// Calling this method when have not previously been registered has no side-effects. + /// + /// + private void UnregisterCallbacks(IPlayerActions instance) + { + @Move.started -= instance.OnMove; + @Move.performed -= instance.OnMove; + @Move.canceled -= instance.OnMove; + @Look.started -= instance.OnLook; + @Look.performed -= instance.OnLook; + @Look.canceled -= instance.OnLook; + @Fire.started -= instance.OnFire; + @Fire.performed -= instance.OnFire; + @Fire.canceled -= instance.OnFire; + } + + /// + /// Unregisters and unregisters all input action callbacks via . + /// + /// + public void RemoveCallbacks(IPlayerActions instance) + { + if (m_Wrapper.m_PlayerActionsCallbackInterfaces.Remove(instance)) + UnregisterCallbacks(instance); + } + + /// + /// Replaces all existing callback instances and previously registered input action callbacks associated with them with callbacks provided via . + /// + /// + /// If is null, calling this method will only unregister all existing callbacks but not register any new callbacks. + /// + /// + /// + /// public void SetCallbacks(IPlayerActions instance) { - if (m_Wrapper.m_PlayerActionsCallbackInterface != null) - { - @Move.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMove; - @Move.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMove; - @Move.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMove; - @Look.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook; - @Look.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook; - @Look.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook; - @Fire.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFire; - @Fire.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFire; - @Fire.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnFire; - } - m_Wrapper.m_PlayerActionsCallbackInterface = instance; - if (instance != null) - { - @Move.started += instance.OnMove; - @Move.performed += instance.OnMove; - @Move.canceled += instance.OnMove; - @Look.started += instance.OnLook; - @Look.performed += instance.OnLook; - @Look.canceled += instance.OnLook; - @Fire.started += instance.OnFire; - @Fire.performed += instance.OnFire; - @Fire.canceled += instance.OnFire; - } + foreach (var item in m_Wrapper.m_PlayerActionsCallbackInterfaces) + UnregisterCallbacks(item); + m_Wrapper.m_PlayerActionsCallbackInterfaces.Clear(); + AddCallbacks(instance); } } + /// + /// Provides a new instance referencing this action map. + /// public PlayerActions @Player => new PlayerActions(this); // UI private readonly InputActionMap m_UI; - private IUIActions m_UIActionsCallbackInterface; + private List m_UIActionsCallbackInterfaces = new List(); private readonly InputAction m_UI_Navigate; private readonly InputAction m_UI_Submit; private readonly InputAction m_UI_Cancel; @@ -957,139 +1114,299 @@ public void SetCallbacks(IPlayerActions instance) private readonly InputAction m_UI_RightClick; private readonly InputAction m_UI_TabLeft; private readonly InputAction m_UI_TabRight; + /// + /// Provides access to input actions defined in input action map "UI". + /// public struct UIActions { private @PlayerInputActions m_Wrapper; + + /// + /// Construct a new instance of the input action map wrapper class. + /// public UIActions(@PlayerInputActions wrapper) { m_Wrapper = wrapper; } + /// + /// Provides access to the underlying input action "UI/Navigate". + /// public InputAction @Navigate => m_Wrapper.m_UI_Navigate; + /// + /// Provides access to the underlying input action "UI/Submit". + /// public InputAction @Submit => m_Wrapper.m_UI_Submit; + /// + /// Provides access to the underlying input action "UI/Cancel". + /// public InputAction @Cancel => m_Wrapper.m_UI_Cancel; + /// + /// Provides access to the underlying input action "UI/Point". + /// public InputAction @Point => m_Wrapper.m_UI_Point; + /// + /// Provides access to the underlying input action "UI/Click". + /// public InputAction @Click => m_Wrapper.m_UI_Click; + /// + /// Provides access to the underlying input action "UI/ScrollWheel". + /// public InputAction @ScrollWheel => m_Wrapper.m_UI_ScrollWheel; + /// + /// Provides access to the underlying input action "UI/MiddleClick". + /// public InputAction @MiddleClick => m_Wrapper.m_UI_MiddleClick; + /// + /// Provides access to the underlying input action "UI/RightClick". + /// public InputAction @RightClick => m_Wrapper.m_UI_RightClick; + /// + /// Provides access to the underlying input action "UI/TabLeft". + /// public InputAction @TabLeft => m_Wrapper.m_UI_TabLeft; + /// + /// Provides access to the underlying input action "UI/TabRight". + /// public InputAction @TabRight => m_Wrapper.m_UI_TabRight; + /// + /// Provides access to the underlying input action map instance. + /// public InputActionMap Get() { return m_Wrapper.m_UI; } + /// public void Enable() { Get().Enable(); } + /// public void Disable() { Get().Disable(); } + /// public bool enabled => Get().enabled; + /// + /// Implicitly converts an to an instance. + /// public static implicit operator InputActionMap(UIActions set) { return set.Get(); } + /// + /// Adds , and callbacks provided via on all input actions contained in this map. + /// + /// Callback instance. + /// + /// If is null or have already been added this method does nothing. + /// + /// + public void AddCallbacks(IUIActions instance) + { + if (instance == null || m_Wrapper.m_UIActionsCallbackInterfaces.Contains(instance)) return; + m_Wrapper.m_UIActionsCallbackInterfaces.Add(instance); + @Navigate.started += instance.OnNavigate; + @Navigate.performed += instance.OnNavigate; + @Navigate.canceled += instance.OnNavigate; + @Submit.started += instance.OnSubmit; + @Submit.performed += instance.OnSubmit; + @Submit.canceled += instance.OnSubmit; + @Cancel.started += instance.OnCancel; + @Cancel.performed += instance.OnCancel; + @Cancel.canceled += instance.OnCancel; + @Point.started += instance.OnPoint; + @Point.performed += instance.OnPoint; + @Point.canceled += instance.OnPoint; + @Click.started += instance.OnClick; + @Click.performed += instance.OnClick; + @Click.canceled += instance.OnClick; + @ScrollWheel.started += instance.OnScrollWheel; + @ScrollWheel.performed += instance.OnScrollWheel; + @ScrollWheel.canceled += instance.OnScrollWheel; + @MiddleClick.started += instance.OnMiddleClick; + @MiddleClick.performed += instance.OnMiddleClick; + @MiddleClick.canceled += instance.OnMiddleClick; + @RightClick.started += instance.OnRightClick; + @RightClick.performed += instance.OnRightClick; + @RightClick.canceled += instance.OnRightClick; + @TabLeft.started += instance.OnTabLeft; + @TabLeft.performed += instance.OnTabLeft; + @TabLeft.canceled += instance.OnTabLeft; + @TabRight.started += instance.OnTabRight; + @TabRight.performed += instance.OnTabRight; + @TabRight.canceled += instance.OnTabRight; + } + + /// + /// Removes , and callbacks provided via on all input actions contained in this map. + /// + /// + /// Calling this method when have not previously been registered has no side-effects. + /// + /// + private void UnregisterCallbacks(IUIActions instance) + { + @Navigate.started -= instance.OnNavigate; + @Navigate.performed -= instance.OnNavigate; + @Navigate.canceled -= instance.OnNavigate; + @Submit.started -= instance.OnSubmit; + @Submit.performed -= instance.OnSubmit; + @Submit.canceled -= instance.OnSubmit; + @Cancel.started -= instance.OnCancel; + @Cancel.performed -= instance.OnCancel; + @Cancel.canceled -= instance.OnCancel; + @Point.started -= instance.OnPoint; + @Point.performed -= instance.OnPoint; + @Point.canceled -= instance.OnPoint; + @Click.started -= instance.OnClick; + @Click.performed -= instance.OnClick; + @Click.canceled -= instance.OnClick; + @ScrollWheel.started -= instance.OnScrollWheel; + @ScrollWheel.performed -= instance.OnScrollWheel; + @ScrollWheel.canceled -= instance.OnScrollWheel; + @MiddleClick.started -= instance.OnMiddleClick; + @MiddleClick.performed -= instance.OnMiddleClick; + @MiddleClick.canceled -= instance.OnMiddleClick; + @RightClick.started -= instance.OnRightClick; + @RightClick.performed -= instance.OnRightClick; + @RightClick.canceled -= instance.OnRightClick; + @TabLeft.started -= instance.OnTabLeft; + @TabLeft.performed -= instance.OnTabLeft; + @TabLeft.canceled -= instance.OnTabLeft; + @TabRight.started -= instance.OnTabRight; + @TabRight.performed -= instance.OnTabRight; + @TabRight.canceled -= instance.OnTabRight; + } + + /// + /// Unregisters and unregisters all input action callbacks via . + /// + /// + public void RemoveCallbacks(IUIActions instance) + { + if (m_Wrapper.m_UIActionsCallbackInterfaces.Remove(instance)) + UnregisterCallbacks(instance); + } + + /// + /// Replaces all existing callback instances and previously registered input action callbacks associated with them with callbacks provided via . + /// + /// + /// If is null, calling this method will only unregister all existing callbacks but not register any new callbacks. + /// + /// + /// + /// public void SetCallbacks(IUIActions instance) { - if (m_Wrapper.m_UIActionsCallbackInterface != null) - { - @Navigate.started -= m_Wrapper.m_UIActionsCallbackInterface.OnNavigate; - @Navigate.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnNavigate; - @Navigate.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnNavigate; - @Submit.started -= m_Wrapper.m_UIActionsCallbackInterface.OnSubmit; - @Submit.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnSubmit; - @Submit.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnSubmit; - @Cancel.started -= m_Wrapper.m_UIActionsCallbackInterface.OnCancel; - @Cancel.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnCancel; - @Cancel.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnCancel; - @Point.started -= m_Wrapper.m_UIActionsCallbackInterface.OnPoint; - @Point.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnPoint; - @Point.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnPoint; - @Click.started -= m_Wrapper.m_UIActionsCallbackInterface.OnClick; - @Click.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnClick; - @Click.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnClick; - @ScrollWheel.started -= m_Wrapper.m_UIActionsCallbackInterface.OnScrollWheel; - @ScrollWheel.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnScrollWheel; - @ScrollWheel.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnScrollWheel; - @MiddleClick.started -= m_Wrapper.m_UIActionsCallbackInterface.OnMiddleClick; - @MiddleClick.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnMiddleClick; - @MiddleClick.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnMiddleClick; - @RightClick.started -= m_Wrapper.m_UIActionsCallbackInterface.OnRightClick; - @RightClick.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnRightClick; - @RightClick.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnRightClick; - @TabLeft.started -= m_Wrapper.m_UIActionsCallbackInterface.OnTabLeft; - @TabLeft.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnTabLeft; - @TabLeft.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnTabLeft; - @TabRight.started -= m_Wrapper.m_UIActionsCallbackInterface.OnTabRight; - @TabRight.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnTabRight; - @TabRight.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnTabRight; - } - m_Wrapper.m_UIActionsCallbackInterface = instance; - if (instance != null) - { - @Navigate.started += instance.OnNavigate; - @Navigate.performed += instance.OnNavigate; - @Navigate.canceled += instance.OnNavigate; - @Submit.started += instance.OnSubmit; - @Submit.performed += instance.OnSubmit; - @Submit.canceled += instance.OnSubmit; - @Cancel.started += instance.OnCancel; - @Cancel.performed += instance.OnCancel; - @Cancel.canceled += instance.OnCancel; - @Point.started += instance.OnPoint; - @Point.performed += instance.OnPoint; - @Point.canceled += instance.OnPoint; - @Click.started += instance.OnClick; - @Click.performed += instance.OnClick; - @Click.canceled += instance.OnClick; - @ScrollWheel.started += instance.OnScrollWheel; - @ScrollWheel.performed += instance.OnScrollWheel; - @ScrollWheel.canceled += instance.OnScrollWheel; - @MiddleClick.started += instance.OnMiddleClick; - @MiddleClick.performed += instance.OnMiddleClick; - @MiddleClick.canceled += instance.OnMiddleClick; - @RightClick.started += instance.OnRightClick; - @RightClick.performed += instance.OnRightClick; - @RightClick.canceled += instance.OnRightClick; - @TabLeft.started += instance.OnTabLeft; - @TabLeft.performed += instance.OnTabLeft; - @TabLeft.canceled += instance.OnTabLeft; - @TabRight.started += instance.OnTabRight; - @TabRight.performed += instance.OnTabRight; - @TabRight.canceled += instance.OnTabRight; - } + foreach (var item in m_Wrapper.m_UIActionsCallbackInterfaces) + UnregisterCallbacks(item); + m_Wrapper.m_UIActionsCallbackInterfaces.Clear(); + AddCallbacks(instance); } } + /// + /// Provides a new instance referencing this action map. + /// public UIActions @UI => new UIActions(this); // Cheats private readonly InputActionMap m_Cheats; - private ICheatsActions m_CheatsActionsCallbackInterface; + private List m_CheatsActionsCallbackInterfaces = new List(); private readonly InputAction m_Cheats_ToggleDebugMode; private readonly InputAction m_Cheats_ToggleConsole; + /// + /// Provides access to input actions defined in input action map "Cheats". + /// public struct CheatsActions { private @PlayerInputActions m_Wrapper; + + /// + /// Construct a new instance of the input action map wrapper class. + /// public CheatsActions(@PlayerInputActions wrapper) { m_Wrapper = wrapper; } + /// + /// Provides access to the underlying input action "Cheats/ToggleDebugMode". + /// public InputAction @ToggleDebugMode => m_Wrapper.m_Cheats_ToggleDebugMode; + /// + /// Provides access to the underlying input action "Cheats/ToggleConsole". + /// public InputAction @ToggleConsole => m_Wrapper.m_Cheats_ToggleConsole; + /// + /// Provides access to the underlying input action map instance. + /// public InputActionMap Get() { return m_Wrapper.m_Cheats; } + /// public void Enable() { Get().Enable(); } + /// public void Disable() { Get().Disable(); } + /// public bool enabled => Get().enabled; + /// + /// Implicitly converts an to an instance. + /// public static implicit operator InputActionMap(CheatsActions set) { return set.Get(); } + /// + /// Adds , and callbacks provided via on all input actions contained in this map. + /// + /// Callback instance. + /// + /// If is null or have already been added this method does nothing. + /// + /// + public void AddCallbacks(ICheatsActions instance) + { + if (instance == null || m_Wrapper.m_CheatsActionsCallbackInterfaces.Contains(instance)) return; + m_Wrapper.m_CheatsActionsCallbackInterfaces.Add(instance); + @ToggleDebugMode.started += instance.OnToggleDebugMode; + @ToggleDebugMode.performed += instance.OnToggleDebugMode; + @ToggleDebugMode.canceled += instance.OnToggleDebugMode; + @ToggleConsole.started += instance.OnToggleConsole; + @ToggleConsole.performed += instance.OnToggleConsole; + @ToggleConsole.canceled += instance.OnToggleConsole; + } + + /// + /// Removes , and callbacks provided via on all input actions contained in this map. + /// + /// + /// Calling this method when have not previously been registered has no side-effects. + /// + /// + private void UnregisterCallbacks(ICheatsActions instance) + { + @ToggleDebugMode.started -= instance.OnToggleDebugMode; + @ToggleDebugMode.performed -= instance.OnToggleDebugMode; + @ToggleDebugMode.canceled -= instance.OnToggleDebugMode; + @ToggleConsole.started -= instance.OnToggleConsole; + @ToggleConsole.performed -= instance.OnToggleConsole; + @ToggleConsole.canceled -= instance.OnToggleConsole; + } + + /// + /// Unregisters and unregisters all input action callbacks via . + /// + /// + public void RemoveCallbacks(ICheatsActions instance) + { + if (m_Wrapper.m_CheatsActionsCallbackInterfaces.Remove(instance)) + UnregisterCallbacks(instance); + } + + /// + /// Replaces all existing callback instances and previously registered input action callbacks associated with them with callbacks provided via . + /// + /// + /// If is null, calling this method will only unregister all existing callbacks but not register any new callbacks. + /// + /// + /// + /// public void SetCallbacks(ICheatsActions instance) { - if (m_Wrapper.m_CheatsActionsCallbackInterface != null) - { - @ToggleDebugMode.started -= m_Wrapper.m_CheatsActionsCallbackInterface.OnToggleDebugMode; - @ToggleDebugMode.performed -= m_Wrapper.m_CheatsActionsCallbackInterface.OnToggleDebugMode; - @ToggleDebugMode.canceled -= m_Wrapper.m_CheatsActionsCallbackInterface.OnToggleDebugMode; - @ToggleConsole.started -= m_Wrapper.m_CheatsActionsCallbackInterface.OnToggleConsole; - @ToggleConsole.performed -= m_Wrapper.m_CheatsActionsCallbackInterface.OnToggleConsole; - @ToggleConsole.canceled -= m_Wrapper.m_CheatsActionsCallbackInterface.OnToggleConsole; - } - m_Wrapper.m_CheatsActionsCallbackInterface = instance; - if (instance != null) - { - @ToggleDebugMode.started += instance.OnToggleDebugMode; - @ToggleDebugMode.performed += instance.OnToggleDebugMode; - @ToggleDebugMode.canceled += instance.OnToggleDebugMode; - @ToggleConsole.started += instance.OnToggleConsole; - @ToggleConsole.performed += instance.OnToggleConsole; - @ToggleConsole.canceled += instance.OnToggleConsole; - } + foreach (var item in m_Wrapper.m_CheatsActionsCallbackInterfaces) + UnregisterCallbacks(item); + m_Wrapper.m_CheatsActionsCallbackInterfaces.Clear(); + AddCallbacks(instance); } } + /// + /// Provides a new instance referencing this action map. + /// public CheatsActions @Cheats => new CheatsActions(this); private int m_KeyboardMouseSchemeIndex = -1; + /// + /// Provides access to the input control scheme. + /// + /// public InputControlScheme KeyboardMouseScheme { get @@ -1099,6 +1416,10 @@ public InputControlScheme KeyboardMouseScheme } } private int m_GamepadSchemeIndex = -1; + /// + /// Provides access to the input control scheme. + /// + /// public InputControlScheme GamepadScheme { get @@ -1108,6 +1429,10 @@ public InputControlScheme GamepadScheme } } private int m_TouchSchemeIndex = -1; + /// + /// Provides access to the input control scheme. + /// + /// public InputControlScheme TouchScheme { get @@ -1116,28 +1441,133 @@ public InputControlScheme TouchScheme return asset.controlSchemes[m_TouchSchemeIndex]; } } + /// + /// Interface to implement callback methods for all input action callbacks associated with input actions defined by "Player" which allows adding and removing callbacks. + /// + /// + /// public interface IPlayerActions { + /// + /// Method invoked when associated input action "Move" is either , or . + /// + /// + /// + /// void OnMove(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "Look" is either , or . + /// + /// + /// + /// void OnLook(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "Fire" is either , or . + /// + /// + /// + /// void OnFire(InputAction.CallbackContext context); } + /// + /// Interface to implement callback methods for all input action callbacks associated with input actions defined by "UI" which allows adding and removing callbacks. + /// + /// + /// public interface IUIActions { + /// + /// Method invoked when associated input action "Navigate" is either , or . + /// + /// + /// + /// void OnNavigate(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "Submit" is either , or . + /// + /// + /// + /// void OnSubmit(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "Cancel" is either , or . + /// + /// + /// + /// void OnCancel(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "Point" is either , or . + /// + /// + /// + /// void OnPoint(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "Click" is either , or . + /// + /// + /// + /// void OnClick(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "ScrollWheel" is either , or . + /// + /// + /// + /// void OnScrollWheel(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "MiddleClick" is either , or . + /// + /// + /// + /// void OnMiddleClick(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "RightClick" is either , or . + /// + /// + /// + /// void OnRightClick(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "TabLeft" is either , or . + /// + /// + /// + /// void OnTabLeft(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "TabRight" is either , or . + /// + /// + /// + /// void OnTabRight(InputAction.CallbackContext context); } + /// + /// Interface to implement callback methods for all input action callbacks associated with input actions defined by "Cheats" which allows adding and removing callbacks. + /// + /// + /// public interface ICheatsActions { + /// + /// Method invoked when associated input action "ToggleDebugMode" is either , or . + /// + /// + /// + /// void OnToggleDebugMode(InputAction.CallbackContext context); + /// + /// Method invoked when associated input action "ToggleConsole" is either , or . + /// + /// + /// + /// void OnToggleConsole(InputAction.CallbackContext context); } } diff --git a/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Ultis/Random/DropOnDestroy.cs b/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Ultis/Random/DropOnDestroy.cs index 1683f52e..1b3041db 100644 --- a/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Ultis/Random/DropOnDestroy.cs +++ b/GameTemplate/Assets/Plugins/GameTemplate/Scripts/Ultis/Random/DropOnDestroy.cs @@ -39,8 +39,8 @@ void Die() { Rigidbody2D objectRb = go.GetComponent(); if (objectRb) { - objectRb.velocity += rb.velocity; - objectRb.velocity += (Vector2)positions[usedPos].localPosition.normalized * dropForce.GetRandomValue(); + objectRb.linearVelocity += rb.linearVelocity; + objectRb.linearVelocity += (Vector2)positions[usedPos].localPosition.normalized * dropForce.GetRandomValue(); objectRb.angularVelocity += rb.angularVelocity; } diff --git a/GameTemplate/Packages/manifest.json b/GameTemplate/Packages/manifest.json index 539190a1..1b6815da 100644 --- a/GameTemplate/Packages/manifest.json +++ b/GameTemplate/Packages/manifest.json @@ -25,23 +25,24 @@ "com.teamon.screenshooter": "https://github.com/Team-on/UnityScreenShooter.git#main", "com.unity.2d.sprite": "1.0.0", "com.unity.2d.tilemap": "1.0.0", + "com.unity.ai.navigation": "2.0.12", "com.unity.build-report-inspector": "0.2.2-preview", - "com.unity.cinemachine": "2.8.4", - "com.unity.ide.visualstudio": "2.0.12", - "com.unity.inputsystem": "1.2.0", - "com.unity.memoryprofiler": "0.4.4-preview.2", - "com.unity.performance.profile-analyzer": "1.1.1", - "com.unity.postprocessing": "3.2.0", - "com.unity.recorder": "3.0.3", - "com.unity.sysroot.linux-x86_64": "1.0.0", - "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.6.3", - "com.unity.toolchain.win-x86_64-linux-x86_64": "1.0.0", - "com.unity.ugui": "1.0.0", + "com.unity.cinemachine": "2.10.7", + "com.unity.ide.visualstudio": "2.0.27", + "com.unity.inputsystem": "1.19.0", + "com.unity.memoryprofiler": "1.1.12", + "com.unity.multiplayer.center": "1.0.1", + "com.unity.performance.profile-analyzer": "1.3.4", + "com.unity.postprocessing": "3.5.4", + "com.unity.recorder": "5.1.6", + "com.unity.timeline": "1.8.12", + "com.unity.ugui": "2.0.0", "com.unity.uiextensions": "https://github.com/JohannesDeml/unity-ui-extensions.git", "com.yasirkula.ingamedebugconsole": "https://github.com/yasirkula/UnityIngameDebugConsole.git#master", "st.one-line": "https://github.com/slavniyteo/one-line.git#master", "st.rect-ex": "https://github.com/slavniyteo/rect-ex.git#master", + "com.unity.modules.accessibility": "1.0.0", + "com.unity.modules.adaptiveperformance": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", "com.unity.modules.assetbundle": "1.0.0", @@ -59,6 +60,7 @@ "com.unity.modules.uielements": "1.0.0", "com.unity.modules.umbra": "1.0.0", "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.vectorgraphics": "1.0.0", "com.unity.modules.video": "1.0.0", "com.unity.modules.vr": "1.0.0" }, diff --git a/GameTemplate/Packages/packages-lock.json b/GameTemplate/Packages/packages-lock.json index f92842ef..3b20a7d0 100644 --- a/GameTemplate/Packages/packages-lock.json +++ b/GameTemplate/Packages/packages-lock.json @@ -175,7 +175,28 @@ "version": "1.0.0", "depth": 0, "source": "builtin", - "dependencies": {} + "dependencies": { + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.uielements": "1.0.0" + } + }, + "com.unity.ai.navigation": { + "version": "2.0.12", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.ai": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.bindings.openimageio": { + "version": "1.0.2", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.collections": "1.2.4" + }, + "url": "https://packages.unity.com" }, "com.unity.build-report-inspector": { "version": "0.2.2-preview", @@ -184,38 +205,61 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.burst": { + "version": "1.8.29", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.mathematics": "1.2.1", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.cinemachine": { - "version": "2.8.4", + "version": "2.10.7", "depth": 0, "source": "registry", - "dependencies": {}, + "dependencies": { + "com.unity.test-framework": "1.1.31" + }, "url": "https://packages.unity.com" }, + "com.unity.collections": { + "version": "6.4.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.burst": "1.8.23", + "com.unity.mathematics": "1.3.2", + "com.unity.nuget.mono-cecil": "1.11.5", + "com.unity.test-framework": "1.4.6", + "com.unity.test-framework.performance": "3.0.3" + } + }, "com.unity.editorcoroutines": { - "version": "1.0.0", + "version": "1.1.0", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.ext.nunit": { - "version": "1.0.6", + "version": "2.0.5", "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" + "source": "builtin", + "dependencies": {} }, "com.unity.ide.visualstudio": { - "version": "2.0.12", + "version": "2.0.27", "depth": 0, "source": "registry", "dependencies": { - "com.unity.test-framework": "1.1.9" + "com.unity.test-framework": "1.1.33" }, "url": "https://packages.unity.com" }, "com.unity.inputsystem": { - "version": "1.2.0", + "version": "1.19.0", "depth": 0, "source": "registry", "dependencies": { @@ -223,100 +267,110 @@ }, "url": "https://packages.unity.com" }, + "com.unity.mathematics": { + "version": "1.3.3", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.memoryprofiler": { - "version": "0.4.4-preview.2", + "version": "1.1.12", "depth": 0, "source": "registry", "dependencies": { + "com.unity.burst": "1.8.0", + "com.unity.collections": "1.2.3", + "com.unity.mathematics": "1.2.1", + "com.unity.profiling.core": "1.0.0", "com.unity.editorcoroutines": "1.0.0" }, "url": "https://packages.unity.com" }, - "com.unity.performance.profile-analyzer": { - "version": "1.1.1", + "com.unity.multiplayer.center": { + "version": "1.0.1", "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + } + }, + "com.unity.nuget.mono-cecil": { + "version": "1.11.6", + "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.postprocessing": { - "version": "3.2.0", + "com.unity.performance.profile-analyzer": { + "version": "1.3.4", "depth": 0, "source": "registry", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - }, + "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.recorder": { - "version": "3.0.3", + "com.unity.postprocessing": { + "version": "3.5.4", "depth": 0, "source": "registry", "dependencies": { - "com.unity.timeline": "1.0.0" + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.physics": "1.0.0" }, "url": "https://packages.unity.com" }, - "com.unity.sysroot": { - "version": "1.0.0", + "com.unity.profiling.core": { + "version": "1.0.3", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.sysroot.linux-x86_64": { - "version": "1.0.0", + "com.unity.recorder": { + "version": "5.1.6", "depth": 0, "source": "registry", "dependencies": { - "com.unity.sysroot": "1.0.0" + "com.unity.timeline": "1.8.7", + "com.unity.collections": "1.2.4", + "com.unity.bindings.openimageio": "1.0.2" }, "url": "https://packages.unity.com" }, "com.unity.test-framework": { - "version": "1.1.29", + "version": "1.6.0", "depth": 1, - "source": "registry", + "source": "builtin", "dependencies": { - "com.unity.ext.nunit": "1.0.6", + "com.unity.ext.nunit": "2.0.3", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" + } }, - "com.unity.textmeshpro": { - "version": "3.0.6", - "depth": 0, + "com.unity.test-framework.performance": { + "version": "3.4.0", + "depth": 2, "source": "registry", "dependencies": { - "com.unity.ugui": "1.0.0" + "com.unity.test-framework": "1.1.33", + "com.unity.modules.jsonserialize": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.6.3", + "version": "1.8.12", "depth": 0, "source": "registry", "dependencies": { + "com.unity.modules.audio": "1.0.0", "com.unity.modules.director": "1.0.0", "com.unity.modules.animation": "1.0.0", - "com.unity.modules.audio": "1.0.0", "com.unity.modules.particlesystem": "1.0.0" }, "url": "https://packages.unity.com" }, - "com.unity.toolchain.win-x86_64-linux-x86_64": { - "version": "1.0.0", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.sysroot": "1.0.0", - "com.unity.sysroot.linux-x86_64": "1.0.0" - }, - "url": "https://packages.unity.com" - }, "com.unity.ugui": { - "version": "1.0.0", + "version": "2.0.0", "depth": 0, "source": "builtin", "dependencies": { @@ -354,6 +408,26 @@ "dependencies": {}, "hash": "c8c32b33ce250aa927de7f6c79ae7c0b6eab36cb" }, + "com.unity.modules.accessibility": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.adaptiveperformance": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.subsystems": "1.0.0" + } + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, "com.unity.modules.androidjni": { "version": "1.0.0", "depth": 0, @@ -387,6 +461,12 @@ "com.unity.modules.animation": "1.0.0" } }, + "com.unity.modules.hierarchycore": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, "com.unity.modules.imageconversion": { "version": "1.0.0", "depth": 0, @@ -433,7 +513,7 @@ }, "com.unity.modules.subsystems": { "version": "1.0.0", - "depth": 2, + "depth": 1, "source": "builtin", "dependencies": { "com.unity.modules.jsonserialize": "1.0.0" @@ -461,17 +541,8 @@ "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.uielementsnative": "1.0.0" - } - }, - "com.unity.modules.uielementsnative": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" + "com.unity.modules.hierarchycore": "1.0.0", + "com.unity.modules.physics": "1.0.0" } }, "com.unity.modules.umbra": { @@ -495,6 +566,16 @@ "source": "builtin", "dependencies": {} }, + "com.unity.modules.vectorgraphics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, "com.unity.modules.video": { "version": "1.0.0", "depth": 0, diff --git a/GameTemplate/ProjectSettings/MultiplayerManager.asset b/GameTemplate/ProjectSettings/MultiplayerManager.asset new file mode 100644 index 00000000..c19bcd73 --- /dev/null +++ b/GameTemplate/ProjectSettings/MultiplayerManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!655991488 &1 +MultiplayerManager: + m_ObjectHideFlags: 0 + m_EnableMultiplayerRoles: 0 + m_EnablePlayModeLocalDeployment: 0 + m_EnablePlayModeRemoteDeployment: 0 + m_StrippingTypes: {} diff --git a/GameTemplate/ProjectSettings/ProjectSettings.asset b/GameTemplate/ProjectSettings/ProjectSettings.asset index 451dbd07..d1e7facf 100644 --- a/GameTemplate/ProjectSettings/ProjectSettings.asset +++ b/GameTemplate/ProjectSettings/ProjectSettings.asset @@ -3,7 +3,7 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 23 + serializedVersion: 28 productGUID: ed8e90f108d8c8f48b8bee84bba66610 AndroidProfiler: 0 AndroidFilterTouchesWhenObscured: 0 @@ -43,21 +43,23 @@ PlayerSettings: - logo: {fileID: 21300000, guid: 1696ee6fe69c39e4bb34d213a78f7ca2, type: 3} duration: 2 m_VirtualRealitySplashScreen: {fileID: 0} - m_HolographicTrackingLossScreen: {fileID: 0} defaultScreenWidth: 1024 defaultScreenHeight: 768 defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 540 m_StereoRenderingPath: 0 m_ActiveColorSpace: 0 + unsupportedMSAAFallback: 0 + m_SpriteBatchMaxVertexCount: 65535 + m_SpriteBatchVertexThreshold: 300 m_MTRendering: 1 mipStripping: 0 numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 iosUseCustomAppBackgroundBehavior: 0 - iosAllowHTTPDownload: 1 allowedAutorotateToPortrait: 0 allowedAutorotateToPortraitUpsideDown: 0 allowedAutorotateToLandscapeRight: 1 @@ -69,24 +71,29 @@ PlayerSettings: androidStartInFullscreen: 1 androidRenderOutsideSafeArea: 1 androidUseSwappy: 0 + androidDisplayOptions: 1 androidBlitType: 0 - androidResizableWindow: 0 + androidResizeableActivity: 0 androidDefaultWindowWidth: 1920 androidDefaultWindowHeight: 1080 androidMinimumWindowWidth: 400 androidMinimumWindowHeight: 300 androidFullscreenMode: 1 + androidAutoRotationBehavior: 1 + androidPredictiveBackSupport: 1 + androidApplicationEntry: 1 defaultIsNativeResolution: 1 macRetinaSupport: 1 runInBackground: 1 - captureSingleScreen: 0 muteOtherAudioSources: 0 Prepare IOS For Recording: 0 Force IOS Speakers When Recording: 0 + audioSpatialExperience: 0 deferSystemGesturesMode: 0 hideHomeButton: 0 submitAnalytics: 1 usePlayerLog: 1 + dedicatedServerOptimizations: 1 bakeCollisionMeshes: 0 forceSingleInstance: 0 useFlipModelSwapchain: 1 @@ -94,6 +101,7 @@ PlayerSettings: useMacAppStoreValidation: 0 macAppStoreCategory: public.app-category.games gpuSkinning: 1 + meshDeformation: 2 xboxPIXTextureCapture: 0 xboxEnableAvatar: 0 xboxEnableKinect: 0 @@ -107,6 +115,7 @@ PlayerSettings: xboxEnableGuest: 0 xboxEnablePIXSampling: 0 metalFramebufferOnly: 0 + metalUseMetalDisplayLink: 0 xboxOneResolution: 0 xboxOneSResolution: 0 xboxOneXResolution: 3 @@ -121,21 +130,21 @@ PlayerSettings: switchNVNShaderPoolsGranularity: 33554432 switchNVNDefaultPoolsGranularity: 16777216 switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 switchNVNMaxPublicTextureIDCount: 0 switchNVNMaxPublicSamplerIDCount: 0 - stadiaPresentMode: 0 - stadiaTargetFramerate: 0 + switchMaxWorkerMultiple: 8 + switchNVNGraphicsFirmwareMemory: 32 + switchGraphicsJobsSyncAfterKick: 1 vulkanNumSwapchainBuffers: 3 vulkanEnableSetSRGBWrite: 0 vulkanEnablePreTransform: 0 vulkanEnableLateAcquireNextImage: 0 vulkanEnableCommandBufferRecycling: 1 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 + loadStoreDebugModeEnabled: 0 + visionOSBundleVersion: 1.0 + tvOSBundleVersion: 1.0 bundleVersion: 0.1 preloadedAssets: - {fileID: 11400000, guid: 64abcd9314851a5438eea74e4eb8c601, type: 2} @@ -146,31 +155,35 @@ PlayerSettings: - {fileID: 11400000, guid: acb598c77ab4d114498263a60f759183, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 - m_HolographicPauseOnTrackingLoss: 1 xboxOneDisableKinectGpuReservation: 1 xboxOneEnable7thCore: 1 vrSettings: enable360StereoCapture: 0 - isWsaHolographicRemotingEnabled: 0 enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + allowHDRDisplaySupport: 0 useHDRDisplay: 0 - D3DHDRBitDepth: 0 + hdrBitDepth: 0 m_ColorGamuts: 00000000 targetPixelDensity: 30 resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 + androidMinAspectRatio: 1 applicationIdentifier: Standalone: com.Team-on.GameTemplate buildNumber: Standalone: 0 + VisionOS: 0 iPhone: 0 tvOS: 0 overrideDefaultApplicationIdentifier: 1 AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 22 + AndroidMinSdkVersion: 25 AndroidTargetSdkVersion: 0 AndroidPreferredInstallLocation: 0 + AndroidPreferredDataLocation: 1 aotOptions: stripEngineCode: 1 iPhoneStrippingLevel: 0 @@ -178,15 +191,20 @@ PlayerSettings: ForceInternetPermission: 0 ForceSDCardPermission: 0 CreateWallpaper: 0 - APKExpansionFiles: 0 + androidSplitApplicationBinary: 0 keepLoadedShadersAlive: 0 StripUnusedMeshComponents: 1 + strictShaderVariantMatching: 0 VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 11.0 + iOSSimulatorArchitecture: 0 + iOSTargetOSVersionString: 15.0 tvOSSdkVersion: 0 + tvOSSimulatorArchitecture: 0 tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 11.0 + tvOSTargetOSVersionString: 15.0 + VisionOSSdkVersion: 0 + VisionOSTargetOSVersionString: 1.0 uIPrerenderedIcon: 0 uIRequiresPersistentWiFi: 0 uIRequiresFullScreen: 1 @@ -211,7 +229,6 @@ PlayerSettings: rgba: 0 iOSLaunchScreenFillPct: 100 iOSLaunchScreenSize: 100 - iOSLaunchScreenCustomXibPath: iOSLaunchScreeniPadType: 0 iOSLaunchScreeniPadImage: {fileID: 0} iOSLaunchScreeniPadBackgroundColor: @@ -219,7 +236,6 @@ PlayerSettings: rgba: 0 iOSLaunchScreeniPadFillPct: 100 iOSLaunchScreeniPadSize: 100 - iOSLaunchScreeniPadCustomXibPath: iOSLaunchScreenCustomStoryboardPath: iOSLaunchScreeniPadCustomStoryboardPath: iOSDeviceRequirements: [] @@ -229,13 +245,16 @@ PlayerSettings: iOSMetalForceHardShadows: 0 metalEditorSupport: 1 metalAPIValidation: 1 + metalCompileShaderBinary: 0 iOSRenderExtraFrameOnPause: 0 iosCopyPluginsCodeInsteadOfSymlink: 0 appleDeveloperTeamID: iOSManualSigningProvisioningProfileID: tvOSManualSigningProvisioningProfileID: + VisionOSManualSigningProvisioningProfileID: iOSManualSigningProvisioningProfileType: 0 tvOSManualSigningProvisioningProfileType: 0 + VisionOSManualSigningProvisioningProfileType: 0 appleEnableAutomaticSigning: 0 iOSRequireARKit: 0 iOSAutomaticallyDetectAndAddCapabilities: 1 @@ -250,16 +269,22 @@ PlayerSettings: useCustomLauncherGradleManifest: 0 useCustomBaseGradleTemplate: 0 useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 useCustomProguardFile: 0 AndroidTargetArchitectures: -1 - AndroidTargetDevices: 0 + AndroidAllowedArchitectures: -1 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} AndroidKeystoreName: '{inproject}: Keystore/Template.keystore' AndroidKeyaliasName: gametemplate + AndroidEnableArmv9SecurityFeatures: 0 + AndroidEnableArm64MTE: 0 AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 0 AndroidIsGame: 1 + androidAppCategory: 3 + useAndroidAppCategory: 1 + androidAppCategoryOther: AndroidEnableTango: 0 androidEnableBanner: 1 androidUseLowAccuracyLocation: 0 @@ -269,12 +294,12 @@ PlayerSettings: height: 180 banner: {fileID: 0} androidGamepadSupportLevel: 0 - chromeosInputEmulation: 1 - AndroidMinifyWithR8: 0 AndroidMinifyRelease: 0 AndroidMinifyDebug: 0 AndroidValidateAppBundleSize: 1 AndroidAppBundleSizeToValidate: 150 + AndroidReportGooglePlayAppDependencies: 1 + androidSymbolsSizeThreshold: 800 m_BuildTargetIcons: - m_BuildTarget: m_Icons: @@ -392,6 +417,7 @@ PlayerSettings: - m_BuildTarget: WebGL m_StaticBatching: 1 m_DynamicBatching: 1 + m_BuildTargetShaderSettings: [] m_BuildTargetGraphicsJobs: - m_BuildTarget: MacStandaloneSupport m_GraphicsJobs: 0 @@ -440,6 +466,8 @@ PlayerSettings: - m_BuildTarget: WebGL m_Enabled: 0 m_Devices: [] + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 openGLRequireES31: 0 openGLRequireES31AEP: 0 openGLRequireES32: 0 @@ -452,12 +480,15 @@ PlayerSettings: iPhone: 1 tvOS: 1 m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupHDRCubemapEncodingQuality: [] m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] m_BuildTargetNormalMapEncoding: [] m_BuildTargetDefaultTextureCompressionFormat: [] playModeTestRunnerEnabled: 0 runPlayModeTestAsEditModeTest: 0 actionOnDotNetUnhandledException: 1 + editorGfxJobOverride: 1 enableInternalProfiler: 0 logObjCUncaughtExceptions: 1 enableCrashReportAPI: 1 @@ -465,6 +496,7 @@ PlayerSettings: locationUsageDescription: microphoneUsageDescription: bluetoothUsageDescription: + macOSTargetOSVersion: 12.0 switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 @@ -472,10 +504,11 @@ PlayerSettings: switchSocketConcurrencyLimit: 14 switchScreenResolutionBehavior: 2 switchUseCPUProfiler: 0 - switchUseGOLDLinker: 0 + switchEnableFileSystemTrace: 0 switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 switchNSODependencies: + switchCompilerFlags: switchTitleNames_0: switchTitleNames_1: switchTitleNames_2: @@ -549,7 +582,6 @@ PlayerSettings: switchReleaseVersion: 0 switchDisplayVersion: 1.0.0 switchStartupUserAccount: 0 - switchTouchScreenUsage: 0 switchSupportedLanguagesMask: 0 switchLogoType: 0 switchApplicationErrorCodeCategory: @@ -591,6 +623,7 @@ PlayerSettings: switchNativeFsCacheSize: 32 switchIsHoldTypeHorizontal: 0 switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 switchSocketConfigEnabled: 0 switchTcpInitialSendBufferSize: 32 switchTcpInitialReceiveBufferSize: 64 @@ -601,12 +634,14 @@ PlayerSettings: switchSocketBufferEfficiency: 4 switchSocketInitializeEnabled: 1 switchNetworkInterfaceManagerInitializeEnabled: 1 - switchPlayerConnectionEnabled: 1 + switchDisableHTCSPlayerConnection: 0 switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 0 switchUseMicroSleepForYield: 1 switchEnableRamDiskSupport: 0 switchMicroSleepForYieldTime: 25 switchRamDiskSpaceSize: 12 + switchUpgradedPlayerSettingsToNMETA: 0 ps4NPAgeRating: 12 ps4NPTitleSecret: ps4NPTrophyPackPath: @@ -677,6 +712,7 @@ PlayerSettings: ps4videoRecordingFeaturesUsed: 0 ps4contentSearchFeaturesUsed: 0 ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 ps4GPU800MHz: 1 ps4attribEyeToEyeDistanceSettingVR: 0 ps4IncludedModules: [] @@ -689,6 +725,7 @@ PlayerSettings: webGLMemorySize: 16 webGLExceptionSupport: 1 webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 webGLDataCaching: 1 webGLDebugSymbols: 0 webGLEmscriptenArgs: @@ -701,18 +738,35 @@ PlayerSettings: webGLLinkerTarget: 1 webGLThreadsSupport: 0 webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 + webGLPowerPreference: 2 + webGLWebAssemblyTable: 0 + webGLWebAssemblyBigInt: 0 + webGLCloseOnQuit: 0 + webWasm2023: 0 + webEnableSubmoduleStrippingCompatibility: 0 scriptingDefineSymbols: Android: UNITY_POST_PROCESSING_STACK_V2;TMP_PRESENT;ARABSUPPORT_ENABLED;POLYGLOT;GAME_TEMPLATE CloudRendering: UNITY_POST_PROCESSING_STACK_V2 EmbeddedLinux: UNITY_POST_PROCESSING_STACK_V2 GameCoreScarlett: UNITY_POST_PROCESSING_STACK_V2 GameCoreXboxOne: UNITY_POST_PROCESSING_STACK_V2 + Kepler: UNITY_POST_PROCESSING_STACK_V2 + LinuxHeadlessSimulation: UNITY_POST_PROCESSING_STACK_V2 Lumin: UNITY_POST_PROCESSING_STACK_V2 Nintendo Switch: UNITY_POST_PROCESSING_STACK_V2 + Nintendo Switch 2: UNITY_POST_PROCESSING_STACK_V2 PS4: UNITY_POST_PROCESSING_STACK_V2 PS5: UNITY_POST_PROCESSING_STACK_V2 + QNX: UNITY_POST_PROCESSING_STACK_V2 Stadia: UNITY_POST_PROCESSING_STACK_V2 Standalone: UNITY_POST_PROCESSING_STACK_V2;TMP_PRESENT;ARABSUPPORT_ENABLED;POLYGLOT;GAME_TEMPLATE + VisionOS: UNITY_POST_PROCESSING_STACK_V2 WebGL: UNITY_POST_PROCESSING_STACK_V2;TMP_PRESENT;ARABSUPPORT_ENABLED;POLYGLOT;GAME_TEMPLATE Windows Store Apps: UNITY_POST_PROCESSING_STACK_V2 XboxOne: UNITY_POST_PROCESSING_STACK_V2 @@ -727,24 +781,39 @@ PlayerSettings: Android: 2 Standalone: 2 WebGL: 2 + il2cppCodeGeneration: {} + il2cppStacktraceInformation: {} managedStrippingLevel: Android: 2 + EmbeddedLinux: 1 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Kepler: 1 + Nintendo Switch: 1 + Nintendo Switch 2: 1 + PS4: 1 + PS5: 1 + QNX: 1 Standalone: 2 + VisionOS: 1 WebGL: 2 + Windows Store Apps: 1 + XboxOne: 1 + iPhone: 1 + tvOS: 1 incrementalIl2cppBuild: {} suppressCommonWarnings: 1 allowUnsafeCode: 0 useDeterministicCompilation: 1 - enableRoslynAnalyzers: 1 additionalIl2CppArgs: scriptingRuntimeVersion: 1 gcIncremental: 1 - assemblyVersionValidation: 1 gcWBarrierValidation: 0 apiCompatibilityLevelPerPlatform: Android: 6 Standalone: 6 WebGL: 6 + editorAssembliesCompatibilityLevel: 1 m_RenderingPath: 1 m_MobileRenderingPath: 1 metroPackageName: Template_2D @@ -769,11 +838,13 @@ PlayerSettings: metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} metroSplashScreenUseBackgroundColor: 0 + syncCapabilities: 0 platformCapabilities: {} metroTargetDeviceFamilies: {} metroFTAName: metroFTAFileTypes: [] metroProtocolName: + vcxProjDefaultLanguage: XboxOneProductId: XboxOneUpdateKey: XboxOneSandboxId: @@ -816,8 +887,17 @@ PlayerSettings: luminVersion: m_VersionCode: 1 m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 0 + hmiCpuConfiguration: + hmiLogStartupTiming: 0 + qnxGraphicConfPath: apiCompatibilityLevel: 6 + captureStartupLogs: {} activeInputHandler: 2 + windowsGamepadBackendHint: 0 + enableDirectStorage: 0 cloudProjectId: dcf51659-52ef-41c5-a78b-f82c36094a52 framebufferDepthMemorylessMode: 0 qualitySettingsNames: [] @@ -825,6 +905,12 @@ PlayerSettings: organizationId: team-on cloudEnabled: 0 legacyClampBlendShapeWeights: 0 - playerDataPath: - forceSRGBBlit: 1 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 + androidVulkanDenyFilterList: [] + androidVulkanAllowFilterList: [] + androidVulkanDeviceFilterListAsset: {fileID: 0} + d3d12DeviceFilterListAsset: {fileID: 0} + allowedHttpConnections: 3 diff --git a/GameTemplate/ProjectSettings/ProjectVersion.txt b/GameTemplate/ProjectSettings/ProjectVersion.txt index bbae793c..14cc1a9b 100644 --- a/GameTemplate/ProjectSettings/ProjectVersion.txt +++ b/GameTemplate/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2021.2.7f1 -m_EditorVersionWithRevision: 2021.2.7f1 (6bd9e232123f) +m_EditorVersion: 6000.4.7f1 +m_EditorVersionWithRevision: 6000.4.7f1 (f3c3c4248748) diff --git a/GameTemplate/ProjectSettings/boot.config b/GameTemplate/ProjectSettings/boot.config deleted file mode 100644 index e69de29b..00000000