From 20f9010787c56945e8be47a12e7c088f904a75c8 Mon Sep 17 00:00:00 2001 From: Scove Date: Sat, 13 Jun 2026 00:07:35 +0700 Subject: [PATCH] daily update --- .idea/.idea.BABA_YAGA/.idea/workspace.xml | 2 +- Assets/Materials/Ground.mat | 1 + Assets/Opsive.meta | 9 + Assets/Opsive/Installer.meta | 8 + .../UltimateCharacterController.meta | 8 + .../UltimateCharacterController/Editor.meta | 8 + .../Editor/CharacterControllerInstaller.cs | 259 ++++++++++++++++++ .../CharacterControllerInstaller.cs.meta | 11 + .../Editor/Icons.meta | 8 + .../Editor/Icons/FailureDarkIcon.png | Bin 0 -> 1064 bytes .../Editor/Icons/FailureDarkIcon.png.meta | 99 +++++++ .../Editor/Icons/FailureLightIcon.png | Bin 0 -> 1064 bytes .../Editor/Icons/FailureLightIcon.png.meta | 99 +++++++ .../Editor/Icons/SuccessDarkIcon.png | Bin 0 -> 1065 bytes .../Editor/Icons/SuccessDarkIcon.png.meta | 99 +++++++ .../Editor/Icons/SuccessLightIcon.png | Bin 0 -> 1064 bytes .../Editor/Icons/SuccessLightIcon.png.meta | 99 +++++++ Assets/Scenes/Test site.meta | 8 + Assets/Scenes/{ => Test site}/TEST.unity | 0 Assets/Scenes/{ => Test site}/TEST.unity.meta | 0 Assets/{ => Third Parties}/Photon.meta | 0 Assets/{ => Third Parties}/Photon/Fusion.meta | 0 .../Photon/Fusion/Assemblies.meta | 0 .../Photon/Fusion/Assemblies/Debug.meta | 0 .../Assemblies/Debug/Fusion.Common.dll.debug | Bin .../Debug/Fusion.Common.dll.debug.meta | 0 .../Assemblies/Debug/Fusion.Log.dll.debug | Bin .../Debug/Fusion.Log.dll.debug.meta | 0 .../Debug/Fusion.Realtime.dll.debug | Bin .../Debug/Fusion.Realtime.dll.debug.meta | 0 .../Assemblies/Debug/Fusion.Runtime.dll.debug | Bin .../Debug/Fusion.Runtime.dll.debug.meta | 0 .../Assemblies/Debug/Fusion.Sockets.dll.debug | Bin .../Debug/Fusion.Sockets.dll.debug.meta | 0 .../Fusion/Assemblies/Fusion.Common.dll | Bin .../Fusion/Assemblies/Fusion.Common.dll.meta | 0 .../Fusion/Assemblies/Fusion.Common.xml | 0 .../Fusion/Assemblies/Fusion.Common.xml.meta | 0 .../Photon/Fusion/Assemblies/Fusion.Log.dll | Bin .../Fusion/Assemblies/Fusion.Log.dll.meta | 0 .../Photon/Fusion/Assemblies/Fusion.Log.xml | 0 .../Fusion/Assemblies/Fusion.Log.xml.meta | 0 .../Fusion/Assemblies/Fusion.Realtime.dll | Bin .../Assemblies/Fusion.Realtime.dll.meta | 0 .../Fusion/Assemblies/Fusion.Realtime.xml | 0 .../Assemblies/Fusion.Realtime.xml.meta | 0 .../Fusion/Assemblies/Fusion.Runtime.dll | Bin .../Fusion/Assemblies/Fusion.Runtime.dll.meta | 0 .../Fusion/Assemblies/Fusion.Runtime.xml | 0 .../Fusion/Assemblies/Fusion.Runtime.xml.meta | 0 .../Fusion/Assemblies/Fusion.Sockets.dll | Bin .../Fusion/Assemblies/Fusion.Sockets.dll.meta | 0 .../Fusion/Assemblies/Fusion.Sockets.xml | 0 .../Fusion/Assemblies/Fusion.Sockets.xml.meta | 0 .../Photon/Fusion/Assemblies/Release.meta | 0 .../Release/Fusion.Common.dll.release | Bin .../Release/Fusion.Common.dll.release.meta | 0 .../Assemblies/Release/Fusion.Log.dll.release | Bin .../Release/Fusion.Log.dll.release.meta | 0 .../Release/Fusion.Realtime.dll.release | Bin .../Release/Fusion.Realtime.dll.release.meta | 0 .../Release/Fusion.Runtime.dll.release | Bin .../Release/Fusion.Runtime.dll.release.meta | 0 .../Release/Fusion.Sockets.dll.release | Bin .../Release/Fusion.Sockets.dll.release.meta | 0 .../Photon/Fusion/CodeGen.meta | 0 ...Fusion.CodeGen.Trigger.fusionweavertrigger | 0 ...n.CodeGen.Trigger.fusionweavertrigger.meta | 0 .../Fusion/CodeGen/Fusion.CodeGen.User.cs | 0 .../CodeGen/Fusion.CodeGen.User.cs.meta | 0 .../Fusion/CodeGen/Fusion.CodeGen.asmdef | 0 .../Fusion/CodeGen/Fusion.CodeGen.asmdef.meta | 0 .../Photon/Fusion/CodeGen/Fusion.CodeGen.cs | 0 .../Fusion/CodeGen/Fusion.CodeGen.cs.meta | 0 .../Photon/Fusion/Editor.meta | 0 .../Photon/Fusion/Editor/EditorResources.meta | 0 .../Fusion/Editor/EditorResources/Fonts.meta | 0 .../Editor/EditorResources/Fonts/OFL.txt | 0 .../Editor/EditorResources/Fonts/OFL.txt.meta | 0 .../EditorResources/Fonts/Oswald-Header.ttf | Bin .../Fonts/Oswald-Header.ttf.meta | 0 .../Fusion-dark-help-button-off.png | Bin .../Fusion-dark-help-button-off.png.meta | 0 .../Fusion-dark-help-button-on.png | Bin .../Fusion-dark-help-button-on.png.meta | 0 .../EditorResources/Fusion-inline-box-2x.png | Bin .../Fusion-inline-box-2x.png.meta | 0 .../Fusion-inline-box-no-vertical-borders.png | Bin ...on-inline-box-no-vertical-borders.png.meta | 0 .../EditorResources/Fusion-inline-box.png | Bin .../Fusion-inline-box.png.meta | 0 .../Fusion-inline-help-box.png | Bin .../Fusion-inline-help-box.png.meta | 0 .../Fusion-inline-selector.png | Bin .../Fusion-inline-selector.png.meta | 0 .../Fusion-light-help-button-off.png | Bin .../Fusion-light-help-button-off.png.meta | 0 .../Fusion-light-help-button-on.png | Bin .../Fusion-light-help-button-on.png.meta | 0 .../Editor/EditorResources/Fusion-logo-2x.png | Bin .../EditorResources/Fusion-logo-2x.png.meta | 0 .../Editor/EditorResources/Fusion-logo.png | Bin .../EditorResources/Fusion-logo.png.meta | 0 .../EditorResources/Fusion-outline-box.png | Bin .../Fusion-outline-box.png.meta | 0 .../Fusion-script-header-2x.png | Bin .../Fusion-script-header-2x.png.meta | 0 .../EditorResources/Fusion-script-header.png | Bin .../Fusion-script-header.png.meta | 0 .../Editor/EditorResources/Fusion.Unity.xml | 0 .../EditorResources/Fusion.Unity.xml.meta | 0 .../EditorResources/FusionEditorSkin.guiskin | 0 .../FusionEditorSkin.guiskin.meta | 0 .../Editor/EditorResources/FusionHub.meta | 0 .../FusionHub/Fusion-hub-community.png | Bin .../FusionHub/Fusion-hub-community.png.meta | 0 .../FusionHub/Fusion-hub-correct-icon.png | Bin .../Fusion-hub-correct-icon.png.meta | 0 .../FusionHub/Fusion-hub-documentation.png | Bin .../Fusion-hub-documentation.png.meta | 0 .../FusionHub/Fusion-hub-icon.png | Bin .../FusionHub/Fusion-hub-icon.png.meta | 0 .../FusionHub/Fusion-hub-information.png | Bin .../FusionHub/Fusion-hub-information.png.meta | 0 .../FusionHub/Fusion-hub-logo.png | Bin .../FusionHub/Fusion-hub-logo.png.meta | 0 .../Fusion-hub-photon-cloud-32-dark.png | Bin .../Fusion-hub-photon-cloud-32-dark.png.meta | 0 .../FusionHub/Fusion-hub-samples.png | Bin .../FusionHub/Fusion-hub-samples.png.meta | 0 .../FusionHub/Fusion-hub-skin-box.png | Bin .../FusionHub/Fusion-hub-skin-box.png.meta | 0 .../Fusion-hub-skin-button-active.png | Bin .../Fusion-hub-skin-button-active.png.meta | 0 .../Fusion-hub-skin-button-hover.png | Bin .../Fusion-hub-skin-button-hover.png.meta | 0 .../FusionHub/Fusion-hub-skin-button.png | Bin .../FusionHub/Fusion-hub-skin-button.png.meta | 0 .../FusionHub/Fusion-hub-skin-sand.png | Bin .../FusionHub/Fusion-hub-skin-sand.png.meta | 0 .../FusionHub/Fusion-hub-skin-steel.png | Bin .../FusionHub/Fusion-hub-skin-steel.png.meta | 0 .../FusionHub/Fusion-hub-skin-window.png | Bin .../FusionHub/Fusion-hub-skin-window.png.meta | 0 .../FusionHub/Fusion-hub-tanknarok-logo.png | Bin .../Fusion-hub-tanknarok-logo.png.meta | 0 .../FusionHub/FusionHubSkin.guiskin | 0 .../FusionHub/FusionHubSkin.guiskin.meta | 0 .../Fusion.Unity.Editor.AssemblyAttributes.cs | 0 ...on.Unity.Editor.AssemblyAttributes.cs.meta | 0 .../Fusion/Editor/Fusion.Unity.Editor.asmdef | 0 .../Editor/Fusion.Unity.Editor.asmdef.meta | 0 .../Fusion/Editor/Fusion.Unity.Editor.cs | 0 .../Fusion/Editor/Fusion.Unity.Editor.cs.meta | 0 .../Editor/FusionEditorConfigImporter.cs | 0 .../Editor/FusionEditorConfigImporter.cs.meta | 0 .../Photon/Fusion/Editor/FusionEditorSkin.cs | 0 .../Fusion/Editor/FusionEditorSkin.cs.meta | 0 .../Photon/Fusion/Editor/FusionHubWindow.cs | 0 .../Fusion/Editor/FusionHubWindow.cs.meta | 0 .../FusionRunnerVisibilityControlsWindow.cs | 0 ...sionRunnerVisibilityControlsWindow.cs.meta | 0 .../Editor/FusionWeaverTriggerImporter.cs | 0 .../FusionWeaverTriggerImporter.cs.meta | 0 .../Fusion/Editor/NetworkPrefabsInspector.cs | 0 .../Editor/NetworkPrefabsInspector.cs.meta | 0 .../Editor/NetworkProjectConfigImporter.cs | 0 .../NetworkProjectConfigImporter.cs.meta | 0 .../NetworkProjectConfigImporterEditor.cs | 0 ...NetworkProjectConfigImporterEditor.cs.meta | 0 .../Photon/Fusion/Plugins.meta | 0 .../Photon/Fusion/Plugins/NanoSockets.meta | 0 .../Fusion/Plugins/NanoSockets/Android.meta | 0 .../NanoSockets/Android/arm64-v8a.meta | 0 .../Android/arm64-v8a/libnanosockets.so | Bin .../Android/arm64-v8a/libnanosockets.so.meta | 0 .../NanoSockets/Android/armeabi-v7a.meta | 0 .../Android/armeabi-v7a/libnanosockets.so | Bin .../armeabi-v7a/libnanosockets.so.meta | 0 .../Plugins/NanoSockets/Android/x86.meta | 0 .../NanoSockets/Android/x86/libnanosockets.so | Bin .../Android/x86/libnanosockets.so.meta | 0 .../Plugins/NanoSockets/Android/x86_64.meta | 0 .../Android/x86_64/libnanosockets.so | Bin .../Android/x86_64/libnanosockets.so.meta | 0 .../Fusion/Plugins/NanoSockets/Linux.meta | 0 .../NanoSockets/Linux/libnanosockets.so | Bin .../NanoSockets/Linux/libnanosockets.so.meta | 0 .../Fusion/Plugins/NanoSockets/Metro.meta | 0 .../Fusion/Plugins/NanoSockets/Metro/ARM.meta | 0 .../NanoSockets/Metro/ARM/libnanosockets.dll | Bin .../Metro/ARM/libnanosockets.dll.meta | 0 .../Plugins/NanoSockets/Metro/ARM64.meta | 0 .../Metro/ARM64/libnanosockets.dll | Bin .../Metro/ARM64/libnanosockets.dll.meta | 0 .../Plugins/NanoSockets/Metro/NanoSockets.dll | Bin .../NanoSockets/Metro/NanoSockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/Metro/x64.meta | 0 .../NanoSockets/Metro/x64/libnanosockets.dll | Bin .../Metro/x64/libnanosockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/Metro/x86.meta | 0 .../NanoSockets/Metro/x86/libnanosockets.dll | Bin .../Metro/x86/libnanosockets.dll.meta | 0 .../Plugins/NanoSockets/NanoSockets.meta | 0 .../NanoSockets/NanoSockets/Dynamic.meta | 0 .../NanoSockets/Dynamic/NanoSockets.dll | Bin .../NanoSockets/Dynamic/NanoSockets.dll.meta | 0 .../NanoSockets/NanoSockets/Static.meta | 0 .../NanoSockets/Static/NanoSockets.dll | Bin .../NanoSockets/Static/NanoSockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/WebGL.meta | 0 .../Plugins/NanoSockets/WebGL/NanoSockets.dll | Bin .../NanoSockets/WebGL/NanoSockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/Windows.meta | 0 .../NanoSockets/Windows/nanosockets.dll | Bin .../NanoSockets/Windows/nanosockets.dll.meta | 0 .../Fusion/Plugins/NanoSockets/iOS.meta | 0 .../Plugins/NanoSockets/iOS/libnanosockets.a | Bin .../NanoSockets/iOS/libnanosockets.a.meta | 0 .../NanoSockets/libnanosockets_LICENSE.txt | 0 .../libnanosockets_LICENSE.txt.meta | 0 .../Fusion/Plugins/NanoSockets/macOS.meta | 0 .../NanoSockets/macOS/libnanosockets.dylib | Bin .../macOS/libnanosockets.dylib.meta | 0 .../Fusion/Plugins/NanoSockets/tvOS.meta | 0 .../Plugins/NanoSockets/tvOS/libnanosockets.a | Bin .../NanoSockets/tvOS/libnanosockets.a.meta | 0 .../Fusion/Plugins/NanoSockets/visionOS.meta | 0 .../NanoSockets/visionOS/libnanosockets.a | Bin .../visionOS/libnanosockets.a.meta | 0 .../Photon/Fusion/Resources.meta | 0 .../Resources/NetworkProjectConfig.fusion | 0 .../NetworkProjectConfig.fusion.meta | 0 .../Fusion/Resources/PhotonAppSettings.asset | 0 .../Resources/PhotonAppSettings.asset.meta | 0 .../Photon/Fusion/Runtime.meta | 0 .../Fusion.Unity.AssemblyAttributes.cs | 0 .../Fusion.Unity.AssemblyAttributes.cs.meta | 0 .../Photon/Fusion/Runtime/Fusion.Unity.asmdef | 0 .../Fusion/Runtime/Fusion.Unity.asmdef.meta | 0 .../Photon/Fusion/Runtime/Fusion.Unity.cs | 0 .../Fusion/Runtime/Fusion.Unity.cs.meta | 0 .../FusionAddressablePrefabsPreloader.cs | 0 .../FusionAddressablePrefabsPreloader.cs.meta | 0 .../Fusion/Runtime/FusionBasicBillboard.cs | 0 .../Runtime/FusionBasicBillboard.cs.meta | 0 .../Photon/Fusion/Runtime/FusionBootstrap.cs | 0 .../Fusion/Runtime/FusionBootstrap.cs.meta | 0 .../Fusion/Runtime/FusionBootstrapDebugGUI.cs | 0 .../Runtime/FusionBootstrapDebugGUI.cs.meta | 0 .../FusionBootstrapDebugGUISkin.guiskin | 0 .../FusionBootstrapDebugGUISkin.guiskin.meta | 0 .../FusionBootstrapDebugGUIStartButton.png | Bin ...usionBootstrapDebugGUIStartButton.png.meta | 0 ...FusionBootstrapDebugGUIStartButtonDown.png | Bin ...nBootstrapDebugGUIStartButtonDown.png.meta | 0 ...FusionBootstrapDebugGUIStartButtonOver.png | Bin ...nBootstrapDebugGUIStartButtonOver.png.meta | 0 .../FusionBootstrapDebugGUIStartWindow.png | Bin ...usionBootstrapDebugGUIStartWindow.png.meta | 0 .../Runtime/NetworkCharacterController.cs | 0 .../NetworkCharacterController.cs.meta | 0 .../Runtime/NetworkObjectProviderDefault.cs | 0 .../NetworkObjectProviderDefault.cs.meta | 0 .../Runtime/NetworkSceneManagerDefault.cs | 0 .../NetworkSceneManagerDefault.cs.meta | 0 .../Photon/Fusion/Runtime/RuntimeAssets.meta | 0 .../RuntimeAssets/JetBrainsMono OFL.txt | 0 .../RuntimeAssets/JetBrainsMono OFL.txt.meta | 0 .../RuntimeAssets/JetBrainsMono-Regular.ttf | Bin .../JetBrainsMono-Regular.ttf.meta | 0 .../Runtime/RuntimeAssets/Roboto-Regular.ttf | Bin .../RuntimeAssets/Roboto-Regular.ttf.meta | 0 .../Photon/Fusion/Runtime/Statistics.meta | 0 .../Runtime/Statistics/.idea/.gitignore | 0 .../Runtime/Statistics/.idea/encodings.xml | 0 .../Runtime/Statistics/.idea/indexLayout.xml | 0 .../inspectionProfiles/Project_Default.xml | 0 .../Fusion/Runtime/Statistics/.idea/vcs.xml | 0 .../FusionNetworkObjectStatistics.cs | 0 .../FusionNetworkObjectStatistics.cs.meta | 0 .../FusionNetworkObjectStatsGraph.cs | 0 .../FusionNetworkObjectStatsGraph.cs.meta | 0 .../FusionNetworkObjectStatsGraphCombine.cs | 0 ...sionNetworkObjectStatsGraphCombine.cs.meta | 0 .../Runtime/Statistics/FusionStatistics.cs | 0 .../Statistics/FusionStatistics.cs.meta | 0 .../Runtime/Statistics/FusionStatsCanvas.cs | 0 .../Statistics/FusionStatsCanvas.cs.meta | 0 .../Runtime/Statistics/FusionStatsConfig.cs | 0 .../Statistics/FusionStatsConfig.cs.meta | 0 .../Statistics/FusionStatsGraphDefault.cs | 0 .../FusionStatsGraphDefault.cs.meta | 0 .../Statistics/FusionStatsGraphMaterial.mat | 0 .../FusionStatsGraphMaterial.mat.meta | 0 .../Statistics/FusionStatsGraphShader.shader | 0 .../FusionStatsGraphShader.shader.meta | 0 .../Statistics/FusionStatsPanelHeader.cs | 0 .../Statistics/FusionStatsPanelHeader.cs.meta | 0 .../Statistics/FusionStatsWorldAnchor.cs | 0 .../Statistics/FusionStatsWorldAnchor.cs.meta | 0 .../Fusion/Runtime/Statistics/Prefabs.meta | 0 .../Prefabs/FusionStatsSimpleButton.prefab | 0 .../FusionStatsSimpleButton.prefab.meta | 0 .../Statistics/Prefabs/NOStatGraph.prefab | 0 .../Prefabs/NOStatGraph.prefab.meta | 0 .../Prefabs/SingleStatistics.prefab | 0 .../Prefabs/SingleStatistics.prefab.meta | 0 .../Prefabs/StatisticsRenderGraph.prefab | 0 .../Prefabs/StatisticsRenderGraph.prefab.meta | 0 .../Fusion/Runtime/Statistics/Resources.meta | 0 .../Resources/FusionStatsResources.meta | 0 .../FusionStatsRenderPanel.prefab | 0 .../FusionStatsRenderPanel.prefab.meta | 0 .../NetworkObjectStatistics.prefab | 0 .../NetworkObjectStatistics.prefab.meta | 0 .../Fusion/Runtime/Statistics/StatsIcons.meta | 0 .../StatsIcons/FusionStatsCancelIcon.png | Bin .../StatsIcons/FusionStatsCancelIcon.png.meta | 0 .../StatsIcons/FusionStatsGearIcon.png | Bin .../StatsIcons/FusionStatsGearIcon.png.meta | 0 .../StatsIcons/FusionStatsResetIcon.png | Bin .../StatsIcons/FusionStatsResetIcon.png.meta | 0 .../StatsIcons/FusionStatsToggleArrowIcon.png | Bin .../FusionStatsToggleArrowIcon.png.meta | 0 .../Photon/Fusion/Runtime/Utilities.meta | 0 .../Runtime/Utilities/RunnerVisibility.meta | 0 .../RunnerVisibility/EnableOnSingleRunner.cs | 0 .../EnableOnSingleRunner.cs.meta | 0 .../RunnerVisibility/RunnerAOIGizmos.cs | 0 .../RunnerVisibility/RunnerAOIGizmos.cs.meta | 0 .../RunnerEnableVisibility.cs | 0 .../RunnerEnableVisibility.cs.meta | 0 .../RunnerLagCompensationGizmos.cs | 0 .../RunnerLagCompensationGizmos.cs.meta | 0 .../RunnerVisibility/RunnerVisibilityLink.cs | 0 .../RunnerVisibilityLink.cs.meta | 0 .../RunnerVisibilityLinksRoot.cs | 0 .../RunnerVisibilityLinksRoot.cs.meta | 0 .../Photon/Fusion/build_info.txt | 0 .../Photon/Fusion/build_info.txt.meta | 0 .../Photon/Fusion/package.json | 0 .../Photon/Fusion/package.json.meta | 0 .../Photon/Fusion/release_history.txt | 0 .../Photon/Fusion/release_history.txt.meta | 0 .../Photon/FusionDemos.meta | 0 .../Photon/FusionMenu.meta | 0 .../Photon/PhotonLibs.meta | 0 .../Photon/PhotonLibs/WebSocket.meta | 0 .../WebSocket/PhotonWebSocket.asmdef | 0 .../WebSocket/PhotonWebSocket.asmdef.meta | 0 .../PhotonLibs/WebSocket/SocketWebTcp.cs | 0 .../PhotonLibs/WebSocket/SocketWebTcp.cs.meta | 0 .../Photon/PhotonLibs/WebSocket/WebSocket.cs | 0 .../PhotonLibs/WebSocket/WebSocket.cs.meta | 0 .../PhotonLibs/WebSocket/WebSocket.jslib | 0 .../PhotonLibs/WebSocket/WebSocket.jslib.meta | 0 .../WebSocket/websocket-sharp.README | 0 .../WebSocket/websocket-sharp.README.meta | 0 .../PhotonLibs/WebSocket/websocket-sharp.dll | Bin .../WebSocket/websocket-sharp.dll.meta | 0 .../Photon/PhotonLibs/changes-library.txt | 0 .../PhotonLibs/changes-library.txt.meta | 0 .../Photon/PhotonLibs/netstandard2.0.meta | 0 .../netstandard2.0/Photon3Unity3D.dll | Bin .../netstandard2.0/Photon3Unity3D.dll.meta | 0 .../netstandard2.0/Photon3Unity3D.xml | 0 .../netstandard2.0/Photon3Unity3D.xml.meta | 0 BABA_YAGA_Updater/sections/07_roadmap.md | 12 +- .../sections/08_team_standards.md | 2 +- README.md | 14 +- 371 files changed, 731 insertions(+), 15 deletions(-) create mode 100644 Assets/Opsive.meta create mode 100644 Assets/Opsive/Installer.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureDarkIcon.png create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureDarkIcon.png.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureLightIcon.png create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureLightIcon.png.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/SuccessDarkIcon.png create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/SuccessDarkIcon.png.meta create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/SuccessLightIcon.png create mode 100644 Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/SuccessLightIcon.png.meta create mode 100644 Assets/Scenes/Test site.meta rename Assets/Scenes/{ => Test site}/TEST.unity (100%) rename Assets/Scenes/{ => Test site}/TEST.unity.meta (100%) rename Assets/{ => Third Parties}/Photon.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Common.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Common.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Log.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Log.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Realtime.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Realtime.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Runtime.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Runtime.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Sockets.dll.debug (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Debug/Fusion.Sockets.dll.debug.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Common.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Log.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Realtime.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Runtime.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Fusion.Sockets.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Common.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Common.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Log.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Log.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Realtime.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Realtime.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Runtime.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Runtime.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Sockets.dll.release (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Assemblies/Release/Fusion.Sockets.dll.release.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.Trigger.fusionweavertrigger (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.Trigger.fusionweavertrigger.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.User.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.User.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.asmdef (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/CodeGen/Fusion.CodeGen.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/OFL.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/OFL.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/Oswald-Header.ttf (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fonts/Oswald-Header.ttf.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-off.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-off.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-on.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-on.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-2x.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-2x.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-no-vertical-borders.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-no-vertical-borders.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-help-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-help-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-selector.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-inline-selector.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-off.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-off.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-on.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-on.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo-2x.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo-2x.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-logo.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-outline-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-outline-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header-2x.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header-2x.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion-script-header.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion.Unity.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/Fusion.Unity.xml.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionEditorSkin.guiskin (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionEditorSkin.guiskin.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-community.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-community.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-correct-icon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-correct-icon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-documentation.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-documentation.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-icon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-icon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-information.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-information.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-logo.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-logo.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-photon-cloud-32-dark.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-photon-cloud-32-dark.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-samples.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-samples.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-box.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-box.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-active.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-active.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-hover.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-hover.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-sand.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-sand.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-steel.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-steel.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-window.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-window.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-tanknarok-logo.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-tanknarok-logo.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/FusionHubSkin.guiskin (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/EditorResources/FusionHub/FusionHubSkin.guiskin.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.AssemblyAttributes.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.AssemblyAttributes.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.asmdef (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/Fusion.Unity.Editor.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorConfigImporter.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorConfigImporter.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorSkin.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionEditorSkin.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionHubWindow.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionHubWindow.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionRunnerVisibilityControlsWindow.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionRunnerVisibilityControlsWindow.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionWeaverTriggerImporter.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/FusionWeaverTriggerImporter.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkPrefabsInspector.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkPrefabsInspector.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporter.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporter.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporterEditor.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Editor/NetworkProjectConfigImporterEditor.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/arm64-v8a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/arm64-v8a/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/arm64-v8a/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/armeabi-v7a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/armeabi-v7a/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/armeabi-v7a/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86_64.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86_64/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Android/x86_64/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Linux.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Linux/libnanosockets.so (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Linux/libnanosockets.so.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM64.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM64/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/ARM64/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x64.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x64/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x64/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x86.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x86/libnanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Metro/x86/libnanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Dynamic.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Dynamic/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Dynamic/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Static.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Static/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/NanoSockets/Static/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/WebGL.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/WebGL/NanoSockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/WebGL/NanoSockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Windows.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Windows/nanosockets.dll (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/Windows/nanosockets.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/iOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/iOS/libnanosockets.a (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/iOS/libnanosockets.a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/libnanosockets_LICENSE.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/libnanosockets_LICENSE.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/macOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/macOS/libnanosockets.dylib (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/macOS/libnanosockets.dylib.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/tvOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/tvOS/libnanosockets.a (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/tvOS/libnanosockets.a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/visionOS.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/visionOS/libnanosockets.a (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Plugins/NanoSockets/visionOS/libnanosockets.a.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/NetworkProjectConfig.fusion (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/NetworkProjectConfig.fusion.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/PhotonAppSettings.asset (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Resources/PhotonAppSettings.asset.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.AssemblyAttributes.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.AssemblyAttributes.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.asmdef (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Fusion.Unity.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionAddressablePrefabsPreloader.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionAddressablePrefabsPreloader.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBasicBillboard.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBasicBillboard.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrap.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrap.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUI.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUI.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUISkin.guiskin (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUISkin.guiskin.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButton.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButton.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonDown.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonDown.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonOver.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartButtonOver.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartWindow.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/FusionBootstrapDebugGUIStartWindow.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkCharacterController.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkCharacterController.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkObjectProviderDefault.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkObjectProviderDefault.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkSceneManagerDefault.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/NetworkSceneManagerDefault.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono OFL.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono OFL.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono-Regular.ttf (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/JetBrainsMono-Regular.ttf.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/Roboto-Regular.ttf (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/RuntimeAssets/Roboto-Regular.ttf.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/.idea/.gitignore (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/.idea/encodings.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/.idea/indexLayout.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/.idea/inspectionProfiles/Project_Default.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/.idea/vcs.xml (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatistics.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatistics.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraph.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraph.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraphCombine.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionNetworkObjectStatsGraphCombine.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatistics.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatistics.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsCanvas.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsCanvas.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsConfig.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsConfig.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphDefault.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphDefault.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphMaterial.mat (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphMaterial.mat.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphShader.shader (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsGraphShader.shader.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsPanelHeader.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsPanelHeader.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsWorldAnchor.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/FusionStatsWorldAnchor.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/FusionStatsSimpleButton.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/FusionStatsSimpleButton.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/NOStatGraph.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/NOStatGraph.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/SingleStatistics.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/SingleStatistics.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/StatisticsRenderGraph.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Prefabs/StatisticsRenderGraph.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/FusionStatsRenderPanel.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/FusionStatsRenderPanel.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/NetworkObjectStatistics.prefab (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/Resources/FusionStatsResources/NetworkObjectStatistics.prefab.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsCancelIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsCancelIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsGearIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsGearIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsResetIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsResetIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsToggleArrowIcon.png (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Statistics/StatsIcons/FusionStatsToggleArrowIcon.png.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/EnableOnSingleRunner.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/EnableOnSingleRunner.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerAOIGizmos.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerAOIGizmos.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerEnableVisibility.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerEnableVisibility.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerLagCompensationGizmos.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerLagCompensationGizmos.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLink.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLink.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLinksRoot.cs (100%) rename Assets/{ => Third Parties}/Photon/Fusion/Runtime/Utilities/RunnerVisibility/RunnerVisibilityLinksRoot.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/build_info.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/build_info.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/package.json (100%) rename Assets/{ => Third Parties}/Photon/Fusion/package.json.meta (100%) rename Assets/{ => Third Parties}/Photon/Fusion/release_history.txt (100%) rename Assets/{ => Third Parties}/Photon/Fusion/release_history.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/FusionDemos.meta (100%) rename Assets/{ => Third Parties}/Photon/FusionMenu.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/PhotonWebSocket.asmdef (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/PhotonWebSocket.asmdef.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/SocketWebTcp.cs (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/SocketWebTcp.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.cs (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.cs.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.jslib (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/WebSocket.jslib.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.README (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.README.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.dll (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/WebSocket/websocket-sharp.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/changes-library.txt (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/changes-library.txt.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.dll (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.dll.meta (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.xml (100%) rename Assets/{ => Third Parties}/Photon/PhotonLibs/netstandard2.0/Photon3Unity3D.xml.meta (100%) diff --git a/.idea/.idea.BABA_YAGA/.idea/workspace.xml b/.idea/.idea.BABA_YAGA/.idea/workspace.xml index ee2c9484..f68c8e39 100644 --- a/.idea/.idea.BABA_YAGA/.idea/workspace.xml +++ b/.idea/.idea.BABA_YAGA/.idea/workspace.xml @@ -104,7 +104,7 @@ - + diff --git a/Assets/Materials/Ground.mat b/Assets/Materials/Ground.mat index 40b8cc77..436d6180 100644 --- a/Assets/Materials/Ground.mat +++ b/Assets/Materials/Ground.mat @@ -25,6 +25,7 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: + - _ENVIRONMENTREFLECTIONS_OFF - _NORMALMAP m_InvalidKeywords: - _GLOSSYREFLECTIONS_OFF diff --git a/Assets/Opsive.meta b/Assets/Opsive.meta new file mode 100644 index 00000000..5c204198 --- /dev/null +++ b/Assets/Opsive.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ae72dd24de3573846aa1d25dc79e3c7b +folderAsset: yes +timeCreated: 1472392281 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Opsive/Installer.meta b/Assets/Opsive/Installer.meta new file mode 100644 index 00000000..349918bb --- /dev/null +++ b/Assets/Opsive/Installer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3cc18ee2cd0283a4abd90744786162fc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Opsive/Installer/UltimateCharacterController.meta b/Assets/Opsive/Installer/UltimateCharacterController.meta new file mode 100644 index 00000000..be0eb03a --- /dev/null +++ b/Assets/Opsive/Installer/UltimateCharacterController.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3987e835f2ffaf5448ed238772c9b829 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Opsive/Installer/UltimateCharacterController/Editor.meta b/Assets/Opsive/Installer/UltimateCharacterController/Editor.meta new file mode 100644 index 00000000..865269df --- /dev/null +++ b/Assets/Opsive/Installer/UltimateCharacterController/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1fa5eaf492095a746b30348037a7d51f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs b/Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs new file mode 100644 index 00000000..fccaabd4 --- /dev/null +++ b/Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs @@ -0,0 +1,259 @@ +/// --------------------------------------------- +/// Ultimate Character Controller +/// Copyright (c) Opsive. All Rights Reserved. +/// https://www.opsive.com +/// --------------------------------------------- + +namespace Opsive.UltimateCharacterController.Editor +{ + using System; + using System.IO; + using UnityEditor; + using UnityEngine; + + /// + /// Creates a window which ensures the system is compatible with the latest version. + /// + [InitializeOnLoad] + public class CharacterControllerInstaller : EditorWindow + { + private const string c_InstallerGUID = "35e691a2917253e44a68e6ec41205b2b"; + private const string c_CharacterLocomotionGUID = "472740fcb9be66341b68ccd04c5cf8da"; + private const string c_DarkSuccessTextureGUID = "2d48e8627e5fcdf40bc1f0759570ca61"; + private const string c_LightSuccessTextureGUID = "7cb22900eb3ee0144b56b008cb7fbe44"; + private const string c_DarkFailureTextureGUID = "a68f8c9042dadf048912bfd8f0c88018"; + private const string c_LightFailureTextureGUID = "05bc7a74b5f6c6c4390f27a6121cf08e"; + + private static GUIStyle s_BoldLabel; + private static GUIStyle BoldLabel { + get { + if (s_BoldLabel == null) { + s_BoldLabel = new GUIStyle(EditorStyles.largeLabel); + s_BoldLabel.fontStyle = FontStyle.Bold; + } + return s_BoldLabel; + } + } + private static GUIStyle s_LinkStyle; + private static GUIStyle LinkStyle { + get { + if (s_LinkStyle == null) { + s_LinkStyle = new GUIStyle("Label"); + s_LinkStyle.normal.textColor = (EditorGUIUtility.isProSkin ? new Color(0.8f, 0.8f, 1.0f, 1.0f) : Color.blue); + } + return s_LinkStyle; + } + } + private static Texture2D s_SuccessTexture; + private static Texture2D SuccessTexture { + get { + if (s_SuccessTexture == null) { + s_SuccessTexture = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(EditorGUIUtility.isProSkin ? c_DarkSuccessTextureGUID : c_LightSuccessTextureGUID)); + } + return s_SuccessTexture; + } + } + private static Texture2D s_FailureTexture; + private static Texture2D FailureTexture { + get { + if (s_FailureTexture == null) { + s_FailureTexture = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(EditorGUIUtility.isProSkin ? c_DarkFailureTextureGUID : c_LightFailureTextureGUID)); + } + return s_FailureTexture; + } + } + + private string[] m_InstallPackages; + private string[] m_PackageNames; + private int m_SelectedPackage; + + /// + /// Perform editor checks as soon as the scripts are done compiling. + /// + static CharacterControllerInstaller() + { + EditorApplication.update += EditorStartup; + } + + /// + /// Shows the installer. + /// + [MenuItem("Tools/Opsive/Ultimate Character Controller/Installer", false, 0)] + public static CharacterControllerInstaller ShowWindow() + { + return EditorWindow.GetWindow(false, "Installer"); + } + + /// + /// Show the editor window if it hasn't been shown before. + /// + private static void EditorStartup() + { + if (EditorApplication.isCompiling) { + return; + } + + if (!EditorPrefs.GetBool("Opsive.UltimateCharacterController.Editor.InstallerWindowShown", false)) { + EditorPrefs.SetBool("Opsive.UltimateCharacterController.Editor.InstallerWindowShown", true); + ShowWindow(); + } + + EditorApplication.update -= EditorStartup; + } + + /// + /// The editor has been enabled. Check for available install packages. + /// + private void OnEnable() + { + var installerPath = AssetDatabase.GUIDToAssetPath(c_InstallerGUID); + if (string.IsNullOrEmpty(installerPath)) { + return; + } + + // Move up a directory. + var packageFolderPath = installerPath.Remove(installerPath.Length - 39); // Remove /Editor/CharacterControllerInstaller.cs. + if (!Directory.Exists(packageFolderPath)) { + return; + } + + // Find all of the packages in the package folder. + var files = Directory.GetFiles(packageFolderPath); + m_InstallPackages = new string[files.Length]; + var packageCount = 0; + for (int i = 0; i < files.Length; ++i) { + var extension = Path.GetExtension(files[i]); + if (extension != ".unitypackage") { + continue; + } + m_InstallPackages[packageCount] = files[i]; + packageCount++; + } + if (m_InstallPackages.Length != packageCount) { + Array.Resize(ref m_InstallPackages, packageCount); + } + m_PackageNames = new string[m_InstallPackages.Length]; + for (int i = 0; i < m_InstallPackages.Length; ++i) { + m_PackageNames[i] = Path.GetFileNameWithoutExtension(m_InstallPackages[i]); + } + } + + /// + /// Display the UI. + /// + private void OnGUI() + { + GUILayout.Label("Requirements", BoldLabel); + var validInstallPackage = m_InstallPackages != null && m_InstallPackages.Length > 0; + DrawRequirement("Located Install Package", validInstallPackage); + var height = 165; + if (!validInstallPackage) { + EditorGUILayout.HelpBox("Unable to find the install package. The package can be installed manually within the Opsive/Installer/UltimateCharacterController folder.", MessageType.Warning); + height += 45; + } +#if UNITY_2018_4_OR_NEWER || UNITY_2019_1 || UNITY_2019_2 + var validUnityVersion = true; +#else + var validUnityVersion= false; +#endif + DrawRequirement("Unity 2018.4 or Newer", validUnityVersion); +#if UNITY_2019_3_OR_NEWER + var validScriptingRuntime = true; +#else + var validScriptingRuntime = PlayerSettings.scriptingRuntimeVersion == ScriptingRuntimeVersion.Latest; +#endif + DrawRequirement(".NET 4.x Scripting Runtime", validScriptingRuntime); + if (!validScriptingRuntime) { + EditorGUILayout.HelpBox("Version 2.2 requires the .NET 4 framework. This can be changed in Unity's Player Settings editor.", MessageType.Warning); + height += 45; + } + + // If the user is updating from 2.0-2.1 then a dialog should warn about the major changes. + var requireCleanInstall = true; + var priorVersionInstalled = false; + var locomotionLocation = AssetDatabase.GUIDToAssetPath(c_CharacterLocomotionGUID); + if (!string.IsNullOrEmpty(locomotionLocation) && File.Exists(locomotionLocation)) { + var assetInfoType = Type.GetType("Opsive.UltimateCharacterController.Utility.AssetInfo, Opsive.UltimateCharacterController"); + if (assetInfoType != null) { + var versionProperty = assetInfoType.GetProperty("Version", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + if (versionProperty != null) { + var versionString = versionProperty.GetValue(null, null) as string; + var version = new Version(versionString); + if (version.CompareTo(new Version("2.2")) < 0) { + priorVersionInstalled = true; + } else { + requireCleanInstall = false; + } + } + } + } + if (requireCleanInstall) { + height += 15; + DrawRequirement("Clean Install", !priorVersionInstalled); + if (priorVersionInstalled) { + EditorGUILayout.HelpBox("Version 2.2 contains major structural changes. Before importing remove the Opsive/UltimateCharacterController folder. " + + "Ensure you have first moved your own assets out of that folder and have made a backup.", MessageType.Warning); + height += 45; + } + } + + GUILayout.Label("Required Changes", BoldLabel); + GUILayout.Label("Updates from versions prior to 2.2 require manual changes in order to upgrade your character."); + GUILayout.BeginHorizontal(); + GUILayout.Label("See"); + GUILayout.Space(-3); + if (GUILayout.Button("this page", LinkStyle, GUILayout.Width(55))) { + Application.OpenURL("https://opsive.com/support/documentation/ultimate-character-controller/getting-started/version-2-2-update-guide/"); + } + GUILayout.Space(-1); + GUILayout.Label("for more information."); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + GUILayout.Space(5); + GUI.enabled = validUnityVersion && validScriptingRuntime && validInstallPackage && !priorVersionInstalled; + EditorGUILayout.BeginHorizontal(); + if (m_InstallPackages != null && m_InstallPackages.Length > 1) { + m_SelectedPackage = EditorGUILayout.Popup(m_SelectedPackage, m_PackageNames, GUILayout.MaxWidth(200)); + } + + if (GUILayout.Button("Install")) { + Install(); + } + EditorGUILayout.EndHorizontal(); + GUI.enabled = true; +#if UNITY_2019_3_OR_NEWER + height += 10; +#endif + minSize = maxSize = new Vector2(620, height); + } + + /// + /// Draws the requirement line. + /// + /// The text that should be drawn. + /// Did the requirement pass? + private void DrawRequirement(string text, bool success) + { + GUILayout.BeginHorizontal(); + GUILayout.Label(success ? SuccessTexture : FailureTexture, GUILayout.Width(20)); + GUILayout.Space(-7); + GUILayout.BeginVertical(); + GUILayout.Space(-1); + GUILayout.Label(text); + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); + } + + /// + /// Install the update. + /// + private void Install() + { + if (string.IsNullOrEmpty(m_InstallPackages[m_SelectedPackage])) { + return; + } + AssetDatabase.ImportPackage(m_InstallPackages[m_SelectedPackage], true); + AssetDatabase.Refresh(); + } + } +} \ No newline at end of file diff --git a/Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs.meta b/Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs.meta new file mode 100644 index 00000000..f8b074a7 --- /dev/null +++ b/Assets/Opsive/Installer/UltimateCharacterController/Editor/CharacterControllerInstaller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 35e691a2917253e44a68e6ec41205b2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons.meta b/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons.meta new file mode 100644 index 00000000..c2f5cff1 --- /dev/null +++ b/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d94fae193a13deb44b98f8a0e69e481e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureDarkIcon.png b/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureDarkIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..736bb383d8a5e75b5e28995a4fe5f2bd3c852862 GIT binary patch literal 1064 zcmbVLPiWIn9FA;`txyLOr_+NW15vO|UYevySRH9!>I&;NyW)CtY4W;;HhEd{X0x3{ zJSZX}2qNC};LV!{@t}C~>P7G%dJ%6s3&MQq+Ua5JU`X=*ec$){z2BdED@#|?sk14D zVbYZaSfk@4{Ziv&^xru*`il-T#B7jN+#)?IM2z9!CSog|wSj8La<(@=qB({cX}R?V zX;c?=8+%zR!DM4EplpVjn~wv_?jXW8(T3|6xZSt!IM#Iv+?re!szC|0-G!YHt?n$< z?VXOTIo$jeb}rVbfQN|1#$MNt^tizFb#*#Vwt0^2LrABB391kGPVE! zt0-9@$%+Clv!Vb*UZAg%0g^5&x|nAN4@a$qPD`)B^1v2d6}UDbfzI>2UN76rWpTK{ z15MKs4N=TcL?+tyi4|x3Xm+RoQDld1KwRvziK5lSTcp5IPxr6j1=Z?-upbQqMMK8N zR=|U-z#zEKhtnAePAS&>Ww07FtmQxl_@`KgTeJd`=|Sn!#X<8RpLR@0TjRy`u1wpiQGrH1{?h!tw>LlX=GO72 z(VZLTTT`>suh+F_4^Mv&7u%^bk4`=B!2IKh`{|!!-$?r8iCtmp)7|CVHRj2Wz0nWM o%NBW{rq{U(_05_03l;9zxWI&;rzc}$;%m~o6>|x`Dz4xD14{5nm;e9( literal 0 HcmV?d00001 diff --git a/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureDarkIcon.png.meta b/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureDarkIcon.png.meta new file mode 100644 index 00000000..b41ca583 --- /dev/null +++ b/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureDarkIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: a68f8c9042dadf048912bfd8f0c88018 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureLightIcon.png b/Assets/Opsive/Installer/UltimateCharacterController/Editor/Icons/FailureLightIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..c148be430b23dff2ec68e584c528b4630a22271c GIT binary patch literal 1064 zcmbVLO=#0l9FI81oYcY8;q($R5Cz-hrOhX+BkfCFaouKHSdUGU*EMv>%aS*n?Id1Q zWCuY|uU@=)5f8(I;?1iU!P8Dd@UXKY%$Kg69>xxaB=76@`~Cm#|M7Tv@pfwb$~eO? zsq#Fm(s6=*<71=r-@Q8WlMd6wY>*mmlb#hK#&B>8v1QL%MO9=uo9my^EW?~`yY&WX zR2Fm_dl@UiWMVI%Y=)Vgiv!E+ywqAv$fi1eqa~(ngo#%VKUZ$7L;Bb`( znx-WhqL`+LbhPOcD^B~-%uoTM$PV3rxY%bCMXQB3NS>pf9$vus=&u{cqNDm|fcPqk@J49Ue6(kVWE#7Z4JAP8jlLARG%3~^#P)`V zd{Tyaj-F&3*U=>{Ybda2rWzKw=v_KfdmU3!U-HPcOadLgm@nC#mnFyCikt{Jt>x<q~t*s5nOq6V^@wUr$-!!V;Ax7i}C z+HKv&9&aTWKK262W|*1TII!#`MA$Z3bo~PN>&-ikb)5pYkgJKcpoF?^Wj#dm>vK(e zeaY4wZuSN{6YEsKL&RcZZ`qIZxWM&wbvjSB1&-}Q$WnnjbgEUWvn3oNHpgc(wg>>L zC_IpJiUO{)k_aS0q_2_zvYu0PDbEfbj#>+yj^2Rffi1c!a9u(IT@ZS`9^cFII9wEf zrfG?WBxNWf6Rr8giZgzc9x6Z-*`XT{7yE3YXtnVwDR9)&!z*|}t#%~rM}t7okO{FB z2!Iy_&r9yrM@OWA{6#x~$yjoU)Y={7AP#kI;$IZ*81fi)Zxoi;t(soeorJ&~)ILSzvfHZfivRzSUr368orU`z7~dv(F} z9o&nqCFwc5EkvRF2sz~tdu%_xx_gX$qa-OXuNlR%BAW&PhOA1aCPB#%O_+x!H{d$| z6ElH2BP7M~Pq7TQXay$Iqtd5~qvk3ib-v4pL^-cko1O=3L6izukX-7_P_O&d}6~%ny=9@GD(|efH~bJbqtEGIfX0OwC86(;~|dg znRKc(S}R@FEaE222$N{JK4Wv-&~VE)t!Yd_9Zxx4mfv{$jt7pN<;T;dWXaFrhBLAd z;IW0#s|jl%WpeXE0sZx1Q?_f zskoJd5Xf=@N@-b!7l4?AqL5^-9EXyYmNhX0IuFmR1@@#?L4}Sjw#xDiN_|Zbn$2dS znM#mgN`R`WMjE0RXNY(>?@_ZA_rig$0>YscI6ifV2O>qYPUdKqXP$0f!Szd}9bqr* z1d4@BXqmnM6G_2!qkFZ{A+6xQZtRK^)Ny2t)Ev=^X49e+JMm6#ZgbG9%rJz7bPeP=kWLIN1ZbnfhJ!RzN zbjpA*udA}CB1z5}dfHGV#prU2UPw*P!d<%#v)kbsdvdj0fK5t*Dj_r73Me-SC1Hd3 zAU7t1v*V6ulV*4>O3(If5e}T|*e(Rb1?~81&Mx-#oG7D=sv8Aa%Igs7k|O3+5s7*- zk1{CFcewWd#7tn$2vKqTQ!L#rR)NuUr}Wukr+Ki)IwoMPaa=sI$l9t_M0&NgUjMzd zHQb{v9{5=P@fGl_CbLl+)IJS1@*T{p}Yeww! x#b((C<8t9Q>l8+;Svz -
SYSTEM READINESS
27.9%
6
DONE
4
ACTIVE
16
BACKLOG
Phase Breakdown
Phase 1: Game Concept & Design100% (4/4)
Phase 2: Core Multiplayer & Player Systems41% (2/8)
Phase 3: Gameplay Features & Environment0% (0/8)
Phase 4: Polish, Testing & Finalization0% (0/6)
+
SYSTEM READINESS
30.2%
6
DONE
5
ACTIVE
15
BACKLOG
Phase Breakdown
Phase 1: Game Concept & Design100% (4/4)
Phase 2: Core Multiplayer & Player Systems48% (2/8)
Phase 3: Gameplay Features & Environment0% (0/8)
Phase 4: Polish, Testing & Finalization0% (0/6)
diff --git a/README.md b/README.md index df34b574..df50ec4f 100644 --- a/README.md +++ b/README.md @@ -765,9 +765,9 @@ Khi Trapper để mất quyền kiểm soát, Mê cung sẽ tự động phân r | | `2.3` | Develop Online Connection & Matchmaking | `Phương` | 08/06/2026 - 15/06/2026 | `██████████ 100%` | ![In Progress](https://img.shields.io/badge/-IN_PROGRESS-005cc5?style=flat-square) | | | `2.4` | Develop Player Spawn & Synchronization | `Duy` | 10/06/2026 - 16/06/2026 | `██░░░░░░░░ 20%` | ![In Progress](https://img.shields.io/badge/-IN_PROGRESS-005cc5?style=flat-square) | | | `2.5` | Develop Random Role Assignment (Seeker / Runner) | `Duy` | 14/06/2026 - 18/06/2026 | `░░░░░░░░░░ 5%` | ![In Progress](https://img.shields.io/badge/-IN_PROGRESS-005cc5?style=flat-square) | -| | `2.6` | Develop Character Movement System | `Tuấn` | 15/06/2026 - 21/06/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | -| | `2.7` | Develop Camera & Flashlight System | `Tuấn` | 18/06/2026 - 25/06/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | -| | `2.8` | Develop Environment Interaction System | `Tuấn` | 22/06/2026 - 01/07/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | +| | `2.6` | Develop Character Movement System | `Khang` | 15/06/2026 - 21/06/2026 | `██████░░░░ 60%` | ![In Progress](https://img.shields.io/badge/-IN_PROGRESS-005cc5?style=flat-square) | +| | `2.7` | Develop Camera & Flashlight System | `Khang` | 18/06/2026 - 25/06/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | +| | `2.8` | Develop Environment Interaction System | `Tuấn, Khang` | 22/06/2026 - 01/07/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | **Phase 3: Gameplay Features & Environment** | `3.1` | Develop Trap System | `Duy` | 01/07/2026 - 09/07/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | | `3.2` | Develop Item System (Battery, Mini Map, Buffs) | `Duy` | 05/07/2026 - 13/07/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | | `3.3` | Develop Gameplay Mechanics & Match Flow | `Duy, Tuấn` | 10/07/2026 - 19/07/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | @@ -776,9 +776,9 @@ Khi Trapper để mất quyền kiểm soát, Mê cung sẽ tự động phân r | | `3.6` | Implement Horror Lighting & Fog Effects | `Phương` | 18/07/2026 - 26/07/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | | `3.7` | Develop UI HUD & Ingame Interface | `Phương` | 15/07/2026 - 25/07/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | | `3.8` | Develop Win/Lose Screen & Match Result UI | `Phương` | 24/07/2026 - 01/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | -| **Phase 4: Polish, Testing & Finalization** | `4.1` | Integrate Sound Effects & Background Music | `Tuấn` | 01/08/2026 - 06/08/2026 | `░░░░░░░░░░ 0%` | ![In Progress](https://img.shields.io/badge/-IN_PROGRESS-005cc5?style=flat-square) | -| | `4.2` | Multiplayer Testing & Synchronization Check | `Tuấn` | 04/08/2026 - 09/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | -| | `4.3` | Gameplay Balancing & Bug Fixing | `Duy,Phương` | 07/08/2026 - 12/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | +| **Phase 4: Polish, Testing & Finalization** | `4.1` | Integrate Sound Effects & Background Music | `"Tuấn, Khang"` | 01/08/2026 - 06/08/2026 | `░░░░░░░░░░ 0%` | ![In Progress](https://img.shields.io/badge/-IN_PROGRESS-005cc5?style=flat-square) | +| | `4.2` | Multiplayer Testing & Synchronization Check | `"Tuấn, Khang"` | 04/08/2026 - 09/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | +| | `4.3` | Gameplay Balancing & Bug Fixing | `Khang` | 07/08/2026 - 12/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | | `4.4` | UI Polish & Optimization | `Phương` | 09/08/2026 - 13/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | | `4.5` | Create Game Design Document (GDD) | `Duy,Phương` | 09/08/2026 - 14/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | | | `4.6` | Final Build, Demo & Presentation Preparation | `TEAM` | 12/08/2026 - 16/08/2026 | `░░░░░░░░░░ 0%` | ![Not Started](https://img.shields.io/badge/-NOT_STARTED-6a737d?style=flat-square) | @@ -864,7 +864,7 @@ Khi Trapper để mất quyền kiểm soát, Mê cung sẽ tự động phân r -
SYSTEM READINESS
27.9%
6
DONE
4
ACTIVE
16
BACKLOG
Phase Breakdown
Phase 1: Game Concept & Design100% (4/4)
Phase 2: Core Multiplayer & Player Systems41% (2/8)
Phase 3: Gameplay Features & Environment0% (0/8)
Phase 4: Polish, Testing & Finalization0% (0/6)
+
SYSTEM READINESS
30.2%
6
DONE
5
ACTIVE
15
BACKLOG
Phase Breakdown
Phase 1: Game Concept & Design100% (4/4)
Phase 2: Core Multiplayer & Player Systems48% (2/8)
Phase 3: Gameplay Features & Environment0% (0/8)
Phase 4: Polish, Testing & Finalization0% (0/6)