From df7943b019350bae004eed03a691232e74980b4a Mon Sep 17 00:00:00 2001 From: David Hackbarth Date: Mon, 7 Jul 2025 18:37:44 +0200 Subject: [PATCH] add unity multithreading project --- UnityMultithreading/.gitignore | 71 ++ .../.idea/.gitignore | 8 + .../.idea/encodings.xml | 5 + .../.idea/indexLayout.xml | 8 + .../.idea.UnityMultithreading/.idea/vcs.xml | 7 + .../Assets/InputSystem_Actions.inputactions | 1057 +++++++++++++++++ .../InputSystem_Actions.inputactions.meta | 14 + UnityMultithreading/Assets/Plugins.meta | 8 + .../Assets/Plugins/PrimeTween.meta | 8 + .../PrimeTween/PrimeTweenInstaller.asset | 17 + .../PrimeTween/PrimeTweenInstaller.asset.meta | 15 + .../Assets/Plugins/PrimeTween/internal.meta | 8 + .../internal/PrimeTween.Installer.asmdef | 24 + .../internal/PrimeTween.Installer.asmdef.meta | 14 + .../internal/PrimeTweenInstaller.cs | 535 +++++++++ .../internal/PrimeTweenInstaller.cs.meta | 18 + .../internal/com.kyrylokuzyk.primetween.tgz | Bin 0 -> 341794 bytes .../com.kyrylokuzyk.primetween.tgz.meta | 7 + UnityMultithreading/Assets/Scenes.meta | 8 + .../Assets/Scenes/SampleScene.unity | 609 ++++++++++ .../Assets/Scenes/SampleScene.unity.meta | 7 + UnityMultithreading/Assets/Scripts.meta | 8 + .../Assets/Scripts/Animations.meta | 8 + .../Assets/Scripts/Animations/AsyncTween.cs | 39 + .../Scripts/Animations/AsyncTween.cs.meta | 3 + .../Scripts/Animations/CoRoutineTween.cs | 38 + .../Scripts/Animations/CoRoutineTween.cs.meta | 3 + .../Assets/Scripts/Animations/PrimeTween.cs | 19 + .../Scripts/Animations/PrimeTween.cs.meta | 3 + .../Scripts/Animations/ThreadAnimation.cs | 36 + .../Animations/ThreadAnimation.cs.meta | 3 + .../Assets/Scripts/Animations/UpdateTween.cs | 42 + .../Scripts/Animations/UpdateTween.cs.meta | 2 + UnityMultithreading/Assets/Settings.meta | 8 + .../Settings/DefaultVolumeProfile.asset | 982 +++++++++++++++ .../Settings/DefaultVolumeProfile.asset.meta | 8 + .../Assets/Settings/Mobile_RPAsset.asset | 135 +++ .../Assets/Settings/Mobile_RPAsset.asset.meta | 8 + .../Assets/Settings/Mobile_Renderer.asset | 52 + .../Settings/Mobile_Renderer.asset.meta | 8 + .../Assets/Settings/PC_RPAsset.asset | 135 +++ .../Assets/Settings/PC_RPAsset.asset.meta | 8 + .../Assets/Settings/PC_Renderer.asset | 95 ++ .../Assets/Settings/PC_Renderer.asset.meta | 8 + .../Assets/Settings/SampleSceneProfile.asset | 159 +++ .../Settings/SampleSceneProfile.asset.meta | 8 + ...niversalRenderPipelineGlobalSettings.asset | 264 ++++ ...salRenderPipelineGlobalSettings.asset.meta | 8 + UnityMultithreading/Packages/manifest.json | 49 + .../Packages/packages-lock.json | 476 ++++++++ .../ProjectSettings/AudioManager.asset | 19 + .../ProjectSettings/ClusterInputManager.asset | 6 + .../ProjectSettings/DynamicsManager.asset | 36 + .../ProjectSettings/EditorBuildSettings.asset | 13 + .../ProjectSettings/EditorSettings.asset | 49 + .../ProjectSettings/GraphicsSettings.asset | 70 ++ .../ProjectSettings/InputManager.asset | 487 ++++++++ .../ProjectSettings/MemorySettings.asset | 35 + .../ProjectSettings/MultiplayerManager.asset | 7 + .../ProjectSettings/NavMeshAreas.asset | 91 ++ .../PackageManagerSettings.asset | 43 + .../ProjectSettings/Physics2DSettings.asset | 56 + .../ProjectSettings/PresetManager.asset | 7 + .../ProjectSettings/ProjectSettings.asset | 930 +++++++++++++++ .../ProjectSettings/ProjectVersion.txt | 2 + .../ProjectSettings/QualitySettings.asset | 134 +++ .../SceneTemplateSettings.json | 121 ++ .../ProjectSettings/ShaderGraphSettings.asset | 18 + .../ProjectSettings/TagManager.asset | 76 ++ .../ProjectSettings/TimeManager.asset | 9 + .../ProjectSettings/URPProjectSettings.asset | 15 + .../UnityConnectSettings.asset | 36 + .../ProjectSettings/VFXManager.asset | 12 + .../VersionControlSettings.asset | 8 + .../ProjectSettings/XRSettings.asset | 10 + 75 files changed, 7353 insertions(+) create mode 100644 UnityMultithreading/.gitignore create mode 100644 UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/.gitignore create mode 100644 UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/encodings.xml create mode 100644 UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/indexLayout.xml create mode 100644 UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/vcs.xml create mode 100644 UnityMultithreading/Assets/InputSystem_Actions.inputactions create mode 100644 UnityMultithreading/Assets/InputSystem_Actions.inputactions.meta create mode 100644 UnityMultithreading/Assets/Plugins.meta create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween.meta create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/internal.meta create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz create mode 100644 UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta create mode 100644 UnityMultithreading/Assets/Scenes.meta create mode 100644 UnityMultithreading/Assets/Scenes/SampleScene.unity create mode 100644 UnityMultithreading/Assets/Scenes/SampleScene.unity.meta create mode 100644 UnityMultithreading/Assets/Scripts.meta create mode 100644 UnityMultithreading/Assets/Scripts/Animations.meta create mode 100644 UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs create mode 100644 UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs.meta create mode 100644 UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs create mode 100644 UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs.meta create mode 100644 UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs create mode 100644 UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs.meta create mode 100644 UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs create mode 100644 UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs.meta create mode 100644 UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs create mode 100644 UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs.meta create mode 100644 UnityMultithreading/Assets/Settings.meta create mode 100644 UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset create mode 100644 UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset.meta create mode 100644 UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset create mode 100644 UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset.meta create mode 100644 UnityMultithreading/Assets/Settings/Mobile_Renderer.asset create mode 100644 UnityMultithreading/Assets/Settings/Mobile_Renderer.asset.meta create mode 100644 UnityMultithreading/Assets/Settings/PC_RPAsset.asset create mode 100644 UnityMultithreading/Assets/Settings/PC_RPAsset.asset.meta create mode 100644 UnityMultithreading/Assets/Settings/PC_Renderer.asset create mode 100644 UnityMultithreading/Assets/Settings/PC_Renderer.asset.meta create mode 100644 UnityMultithreading/Assets/Settings/SampleSceneProfile.asset create mode 100644 UnityMultithreading/Assets/Settings/SampleSceneProfile.asset.meta create mode 100644 UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset create mode 100644 UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta create mode 100644 UnityMultithreading/Packages/manifest.json create mode 100644 UnityMultithreading/Packages/packages-lock.json create mode 100644 UnityMultithreading/ProjectSettings/AudioManager.asset create mode 100644 UnityMultithreading/ProjectSettings/ClusterInputManager.asset create mode 100644 UnityMultithreading/ProjectSettings/DynamicsManager.asset create mode 100644 UnityMultithreading/ProjectSettings/EditorBuildSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/EditorSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/GraphicsSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/InputManager.asset create mode 100644 UnityMultithreading/ProjectSettings/MemorySettings.asset create mode 100644 UnityMultithreading/ProjectSettings/MultiplayerManager.asset create mode 100644 UnityMultithreading/ProjectSettings/NavMeshAreas.asset create mode 100644 UnityMultithreading/ProjectSettings/PackageManagerSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/Physics2DSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/PresetManager.asset create mode 100644 UnityMultithreading/ProjectSettings/ProjectSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/ProjectVersion.txt create mode 100644 UnityMultithreading/ProjectSettings/QualitySettings.asset create mode 100644 UnityMultithreading/ProjectSettings/SceneTemplateSettings.json create mode 100644 UnityMultithreading/ProjectSettings/ShaderGraphSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/TagManager.asset create mode 100644 UnityMultithreading/ProjectSettings/TimeManager.asset create mode 100644 UnityMultithreading/ProjectSettings/URPProjectSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/UnityConnectSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/VFXManager.asset create mode 100644 UnityMultithreading/ProjectSettings/VersionControlSettings.asset create mode 100644 UnityMultithreading/ProjectSettings/XRSettings.asset diff --git a/UnityMultithreading/.gitignore b/UnityMultithreading/.gitignore new file mode 100644 index 0000000..07da593 --- /dev/null +++ b/UnityMultithreading/.gitignore @@ -0,0 +1,71 @@ +# This .gitignore file should be placed at the root of your Unity project directory +# +# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore +# +/[Ll]ibrary/ +/[Tt]emp/ +/[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Uu]ser[Ss]ettings/ + +# MemoryCaptures can get excessive in size. +# They also could contain extremely sensitive data +/[Mm]emoryCaptures/ + +# Asset meta data should only be ignored when the corresponding asset is also ignored +!/[Aa]ssets/**/*.meta + +# Uncomment this line if you wish to ignore the asset store tools plugin +# /[Aa]ssets/AssetStoreTools* + +# Autogenerated Jetbrains Rider plugin +/[Aa]ssets/Plugins/Editor/JetBrains* + +# Visual Studio cache directory +.vs/ + +# Gradle cache directory +.gradle/ + +# Autogenerated VS/MD/Consulo solution and project files +ExportedObj/ +.consulo/ +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.aab +*.unitypackage + +# Crashlytics generated file +crashlytics-build.properties + +# Packed Addressables +/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* + +# Temporary auto-generated Android Assets +/[Aa]ssets/[Ss]treamingAssets/aa.meta +/[Aa]ssets/[Ss]treamingAssets/aa/* \ No newline at end of file diff --git a/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/.gitignore b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/.gitignore new file mode 100644 index 0000000..6dfdf8a --- /dev/null +++ b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/modules.xml +/projectSettingsUpdater.xml +/.idea.UnityMultithreading.iml diff --git a/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/encodings.xml b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/encodings.xml new file mode 100644 index 0000000..c26d1c9 --- /dev/null +++ b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/indexLayout.xml b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/vcs.xml b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/vcs.xml new file mode 100644 index 0000000..62bd7a0 --- /dev/null +++ b/UnityMultithreading/.idea/.idea.UnityMultithreading/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/UnityMultithreading/Assets/InputSystem_Actions.inputactions b/UnityMultithreading/Assets/InputSystem_Actions.inputactions new file mode 100644 index 0000000..1a12cb9 --- /dev/null +++ b/UnityMultithreading/Assets/InputSystem_Actions.inputactions @@ -0,0 +1,1057 @@ +{ + "name": "InputSystem_Actions", + "maps": [ + { + "name": "Player", + "id": "df70fa95-8a34-4494-b137-73ab6b9c7d37", + "actions": [ + { + "name": "Move", + "type": "Value", + "id": "351f2ccd-1f9f-44bf-9bec-d62ac5c5f408", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Look", + "type": "Value", + "id": "6b444451-8a00-4d00-a97e-f47457f736a8", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Attack", + "type": "Button", + "id": "6c2ab1b8-8984-453a-af3d-a3c78ae1679a", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Interact", + "type": "Button", + "id": "852140f2-7766-474d-8707-702459ba45f3", + "expectedControlType": "Button", + "processors": "", + "interactions": "Hold", + "initialStateCheck": false + }, + { + "name": "Crouch", + "type": "Button", + "id": "27c5f898-bc57-4ee1-8800-db469aca5fe3", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Jump", + "type": "Button", + "id": "f1ba0d36-48eb-4cd5-b651-1c94a6531f70", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Previous", + "type": "Button", + "id": "2776c80d-3c14-4091-8c56-d04ced07a2b0", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Next", + "type": "Button", + "id": "b7230bb6-fc9b-4f52-8b25-f5e19cb2c2ba", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Sprint", + "type": "Button", + "id": "641cd816-40e6-41b4-8c3d-04687c349290", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "", + "id": "978bfe49-cc26-4a3d-ab7b-7d7a29327403", + "path": "/leftStick", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "WASD", + "id": "00ca640b-d935-4593-8157-c05846ea39b3", + "path": "Dpad", + "interactions": "", + "processors": "", + "groups": "", + "action": "Move", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "e2062cb9-1b15-46a2-838c-2f8d72a0bdd9", + "path": "/w", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "8180e8bd-4097-4f4e-ab88-4523101a6ce9", + "path": "/upArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "320bffee-a40b-4347-ac70-c210eb8bc73a", + "path": "/s", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "1c5327b5-f71c-4f60-99c7-4e737386f1d1", + "path": "/downArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "d2581a9b-1d11-4566-b27d-b92aff5fabbc", + "path": "/a", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "2e46982e-44cc-431b-9f0b-c11910bf467a", + "path": "/leftArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "fcfe95b8-67b9-4526-84b5-5d0bc98d6400", + "path": "/d", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "77bff152-3580-4b21-b6de-dcd0c7e41164", + "path": "/rightArrow", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Move", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "1635d3fe-58b6-4ba9-a4e2-f4b964f6b5c8", + "path": "/{Primary2DAxis}", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "3ea4d645-4504-4529-b061-ab81934c3752", + "path": "/stick", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Move", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c1f7a91b-d0fd-4a62-997e-7fb9b69bf235", + "path": "/rightStick", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8c8e490b-c610-4785-884f-f04217b23ca4", + "path": "/delta", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse;Touch", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "3e5f5442-8668-4b27-a940-df99bad7e831", + "path": "/{Hatswitch}", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Look", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "143bb1cd-cc10-4eca-a2f0-a3664166fe91", + "path": "/buttonWest", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "05f6913d-c316-48b2-a6bb-e225f14c7960", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "886e731e-7071-4ae4-95c0-e61739dad6fd", + "path": "/primaryTouch/tap", + "interactions": "", + "processors": "", + "groups": ";Touch", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ee3d0cd2-254e-47a7-a8cb-bc94d9658c54", + "path": "/trigger", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8255d333-5683-4943-a58a-ccb207ff1dce", + "path": "/{PrimaryAction}", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "b3c1c7f0-bd20-4ee7-a0f1-899b24bca6d7", + "path": "/enter", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Attack", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "cbac6039-9c09-46a1-b5f2-4e5124ccb5ed", + "path": "/2", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Next", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e15ca19d-e649-4852-97d5-7fe8ccc44e94", + "path": "/dpad/right", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Next", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "f2e9ba44-c423-42a7-ad56-f20975884794", + "path": "/leftShift", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Sprint", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8cbb2f4b-a784-49cc-8d5e-c010b8c7f4e6", + "path": "/leftStickPress", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Sprint", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "d8bf24bf-3f2f-4160-a97c-38ec1eb520ba", + "path": "/trigger", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Sprint", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "eb40bb66-4559-4dfa-9a2f-820438abb426", + "path": "/space", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "daba33a1-ad0c-4742-a909-43ad1cdfbeb6", + "path": "/buttonSouth", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "603f3daf-40bd-4854-8724-93e8017f59e3", + "path": "/secondaryButton", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Jump", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "1534dc16-a6aa-499d-9c3a-22b47347b52a", + "path": "/1", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Previous", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "25060bbd-a3a6-476e-8fba-45ae484aad05", + "path": "/dpad/left", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Previous", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "1c04ea5f-b012-41d1-a6f7-02e963b52893", + "path": "/e", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Interact", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "b3f66d0b-7751-423f-908b-a11c5bd95930", + "path": "/buttonNorth", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Interact", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4f4649ac-64a8-4a73-af11-b3faef356a4d", + "path": "/buttonEast", + "interactions": "", + "processors": "", + "groups": "Gamepad", + "action": "Crouch", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "36e52cba-0905-478e-a818-f4bfcb9f3b9a", + "path": "/c", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Crouch", + "isComposite": false, + "isPartOfComposite": false + } + ] + }, + { + "name": "UI", + "id": "272f6d14-89ba-496f-b7ff-215263d3219f", + "actions": [ + { + "name": "Navigate", + "type": "PassThrough", + "id": "c95b2375-e6d9-4b88-9c4c-c5e76515df4b", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Submit", + "type": "Button", + "id": "7607c7b6-cd76-4816-beef-bd0341cfe950", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Cancel", + "type": "Button", + "id": "15cef263-9014-4fd5-94d9-4e4a6234a6ef", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Point", + "type": "PassThrough", + "id": "32b35790-4ed0-4e9a-aa41-69ac6d629449", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Click", + "type": "PassThrough", + "id": "3c7022bf-7922-4f7c-a998-c437916075ad", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "RightClick", + "type": "PassThrough", + "id": "44b200b1-1557-4083-816c-b22cbdf77ddf", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "MiddleClick", + "type": "PassThrough", + "id": "dad70c86-b58c-4b17-88ad-f5e53adf419e", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "ScrollWheel", + "type": "PassThrough", + "id": "0489e84a-4833-4c40-bfae-cea84b696689", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "TrackedDevicePosition", + "type": "PassThrough", + "id": "24908448-c609-4bc3-a128-ea258674378a", + "expectedControlType": "Vector3", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "TrackedDeviceOrientation", + "type": "PassThrough", + "id": "9caa3d8a-6b2f-4e8e-8bad-6ede561bd9be", + "expectedControlType": "Quaternion", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "Gamepad", + "id": "809f371f-c5e2-4e7a-83a1-d867598f40dd", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "14a5d6e8-4aaf-4119-a9ef-34b8c2c548bf", + "path": "/leftStick/up", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "9144cbe6-05e1-4687-a6d7-24f99d23dd81", + "path": "/rightStick/up", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "2db08d65-c5fb-421b-983f-c71163608d67", + "path": "/leftStick/down", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "58748904-2ea9-4a80-8579-b500e6a76df8", + "path": "/rightStick/down", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "8ba04515-75aa-45de-966d-393d9bbd1c14", + "path": "/leftStick/left", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "712e721c-bdfb-4b23-a86c-a0d9fcfea921", + "path": "/rightStick/left", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "fcd248ae-a788-4676-a12e-f4d81205600b", + "path": "/leftStick/right", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "1f04d9bc-c50b-41a1-bfcc-afb75475ec20", + "path": "/rightStick/right", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "fb8277d4-c5cd-4663-9dc7-ee3f0b506d90", + "path": "/dpad", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Joystick", + "id": "e25d9774-381c-4a61-b47c-7b6b299ad9f9", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "3db53b26-6601-41be-9887-63ac74e79d19", + "path": "/stick/up", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "0cb3e13e-3d90-4178-8ae6-d9c5501d653f", + "path": "/stick/down", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "0392d399-f6dd-4c82-8062-c1e9c0d34835", + "path": "/stick/left", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "942a66d9-d42f-43d6-8d70-ecb4ba5363bc", + "path": "/stick/right", + "interactions": "", + "processors": "", + "groups": "Joystick", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "Keyboard", + "id": "ff527021-f211-4c02-933e-5976594c46ed", + "path": "2DVector", + "interactions": "", + "processors": "", + "groups": "", + "action": "Navigate", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "up", + "id": "563fbfdd-0f09-408d-aa75-8642c4f08ef0", + "path": "/w", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "up", + "id": "eb480147-c587-4a33-85ed-eb0ab9942c43", + "path": "/upArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "2bf42165-60bc-42ca-8072-8c13ab40239b", + "path": "/s", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "down", + "id": "85d264ad-e0a0-4565-b7ff-1a37edde51ac", + "path": "/downArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "74214943-c580-44e4-98eb-ad7eebe17902", + "path": "/a", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "left", + "id": "cea9b045-a000-445b-95b8-0c171af70a3b", + "path": "/leftArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "8607c725-d935-4808-84b1-8354e29bab63", + "path": "/d", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "right", + "id": "4cda81dc-9edd-4e03-9d7c-a71a14345d0b", + "path": "/rightArrow", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Navigate", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "", + "id": "9e92bb26-7e3b-4ec4-b06b-3c8f8e498ddc", + "path": "*/{Submit}", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR", + "action": "Submit", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "82627dcc-3b13-4ba9-841d-e4b746d6553e", + "path": "*/{Cancel}", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse;Gamepad;Touch;Joystick;XR", + "action": "Cancel", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c52c8e0b-8179-41d3-b8a1-d149033bbe86", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e1394cbc-336e-44ce-9ea8-6007ed6193f7", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "5693e57a-238a-46ed-b5ae-e64e6e574302", + "path": "/touch*/position", + "interactions": "", + "processors": "", + "groups": "Touch", + "action": "Point", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4faf7dc9-b979-4210-aa8c-e808e1ef89f5", + "path": "/leftButton", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8d66d5ba-88d7-48e6-b1cd-198bbfef7ace", + "path": "/tip", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "47c2a644-3ebc-4dae-a106-589b7ca75b59", + "path": "/touch*/press", + "interactions": "", + "processors": "", + "groups": "Touch", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "bb9e6b34-44bf-4381-ac63-5aa15d19f677", + "path": "/trigger", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "Click", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "38c99815-14ea-4617-8627-164d27641299", + "path": "/scroll", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "ScrollWheel", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4c191405-5738-4d4b-a523-c6a301dbf754", + "path": "/rightButton", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "RightClick", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "24066f69-da47-44f3-a07e-0015fb02eb2e", + "path": "/middleButton", + "interactions": "", + "processors": "", + "groups": "Keyboard&Mouse", + "action": "MiddleClick", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "7236c0d9-6ca3-47cf-a6ee-a97f5b59ea77", + "path": "/devicePosition", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "TrackedDevicePosition", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "23e01e3a-f935-4948-8d8b-9bcac77714fb", + "path": "/deviceRotation", + "interactions": "", + "processors": "", + "groups": "XR", + "action": "TrackedDeviceOrientation", + "isComposite": false, + "isPartOfComposite": false + } + ] + } + ], + "controlSchemes": [ + { + "name": "Keyboard&Mouse", + "bindingGroup": "Keyboard&Mouse", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + }, + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Gamepad", + "bindingGroup": "Gamepad", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Touch", + "bindingGroup": "Touch", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "Joystick", + "bindingGroup": "Joystick", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + }, + { + "name": "XR", + "bindingGroup": "XR", + "devices": [ + { + "devicePath": "", + "isOptional": false, + "isOR": false + } + ] + } + ] +} \ No newline at end of file diff --git a/UnityMultithreading/Assets/InputSystem_Actions.inputactions.meta b/UnityMultithreading/Assets/InputSystem_Actions.inputactions.meta new file mode 100644 index 0000000..6b38b04 --- /dev/null +++ b/UnityMultithreading/Assets/InputSystem_Actions.inputactions.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 052faaac586de48259a63d0c4782560b +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} + generateWrapperCode: 0 + wrapperCodePath: + wrapperClassName: + wrapperCodeNamespace: diff --git a/UnityMultithreading/Assets/Plugins.meta b/UnityMultithreading/Assets/Plugins.meta new file mode 100644 index 0000000..75bdbbb --- /dev/null +++ b/UnityMultithreading/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8819afb5743804d1c81dcdddcd5e8f8d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween.meta b/UnityMultithreading/Assets/Plugins/PrimeTween.meta new file mode 100644 index 0000000..1421330 --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: da2e19a1c5f8b4e2ca7c1785ea338b2e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset b/UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset new file mode 100644 index 0000000..fd93591 --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 118450fad714b420684eb5f984268b5c, type: 3} + m_Name: PrimeTweenInstaller + m_EditorClassIdentifier: + demoScene: {fileID: 102900000, guid: 13170347bc506405f88d3a87bd0982b3, type: 3} + demoSceneUrp: {fileID: 102900000, guid: 15054139658a5445689224c71f805b10, type: 3} + uninstallButtonColor: {r: 1, g: 0.23113209, b: 0.2762581, a: 1} diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta b/UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta new file mode 100644 index 0000000..6bcb9fd --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: aafeeef745bb4406db1b2cd166853022 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 252960 + packageName: "PrimeTween \xB7 High-Performance Animations and Sequences" + packageVersion: 1.3.1 + assetPath: Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset + uploadId: 757763 diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/internal.meta b/UnityMultithreading/Assets/Plugins/PrimeTween/internal.meta new file mode 100644 index 0000000..bd0e4c4 --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/internal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f164d11d6323e46b786f187ecd84eb1b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef new file mode 100644 index 0000000..39f2e78 --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef @@ -0,0 +1,24 @@ +{ + "name": "PrimeTween.Installer", + "rootNamespace": "", + "references": [ + "PrimeTween.Runtime" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [ + { + "name": "com.kyrylokuzyk.primetween", + "expression": "1.0.0", + "define": "PRIME_TWEEN_INSTALLED" + } + ], + "noEngineReferences": false +} \ No newline at end of file diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta new file mode 100644 index 0000000..f7098e6 --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 090d70c1ebac0421985bd70fa7f561ef +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 252960 + packageName: "PrimeTween \xB7 High-Performance Animations and Sequences" + packageVersion: 1.3.1 + assetPath: Assets/Plugins/PrimeTween/internal/PrimeTween.Installer.asmdef + uploadId: 757763 diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs new file mode 100644 index 0000000..693e6f7 --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs @@ -0,0 +1,535 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using System.Text; +using System.Text.RegularExpressions; +using UnityEditor; +using UnityEditor.PackageManager; +using UnityEditor.SceneManagement; +using UnityEngine; +using UnityEngine.Assertions; +using UnityEngine.Rendering; +using static UnityEngine.GUILayout; +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("PrimeTween.Internal")] + +namespace PrimeTween { + internal class PrimeTweenInstaller : ScriptableObject { + [SerializeField] internal SceneAsset demoScene; + [SerializeField] internal SceneAsset demoSceneUrp; + [SerializeField] internal Color uninstallButtonColor; + + [ContextMenu(nameof(ResetReviewRequest))] void ResetReviewRequest() => ReviewRequest.ResetReviewRequest(); + [ContextMenu(nameof(DebugReviewRequest))] void DebugReviewRequest() => ReviewRequest.DebugReviewRequest(); + } + + [CustomEditor(typeof(PrimeTweenInstaller), false)] + internal class InstallerInspector : Editor { + internal const string pluginName = "PrimeTween"; + internal const string pluginPackageId = "com.kyrylokuzyk.primetween"; + internal const string tgzPath = "Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz"; + internal const string newTgzPath = "Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween-" + version + ".tgz"; + const string documentationUrl = "https://github.com/KyryloKuzyk/PrimeTween"; + bool isInstalled; + bool hasNewTgz; + GUIStyle boldButtonStyle; + GUIStyle uninstallButtonStyle; + GUIStyle wordWrapLabelStyle; + + void OnEnable() { + isInstalled = CheckPluginInstalled(); + hasNewTgz = File.Exists(newTgzPath); + } + + /// Use Package Manager because Unity 2018 doesn't support version defines + static bool CheckPluginInstalled() { + var listRequest = Client.List(true); + while (!listRequest.IsCompleted) { + } + return listRequest.Result.Any(_ => _.name == pluginPackageId); + } + + public override void OnInspectorGUI() { + if (boldButtonStyle == null) { + boldButtonStyle = new GUIStyle(GUI.skin.button) { fontStyle = FontStyle.Bold }; + } + var installer = (PrimeTweenInstaller)target; + if (uninstallButtonStyle == null) { + uninstallButtonStyle = new GUIStyle(GUI.skin.button) { normal = { textColor = installer.uninstallButtonColor } }; + } + if (wordWrapLabelStyle == null) { + wordWrapLabelStyle = new GUIStyle(GUI.skin.label) { wordWrap = true, richText = true, margin = new RectOffset(4, 4, 8, 8) }; + } + EditorGUI.indentLevel = 5; + Space(8); + Label(pluginName, EditorStyles.boldLabel); + Space(4); + if (!isInstalled) { + if (Button("Install " + pluginName)) { + installPlugin(); + } + return; + } + if (hasNewTgz) { + if (Button($"Update to {version}", boldButtonStyle)) { + ReviewRequest.OnPackageUpdate(); + } + Space(8); + } + if (Button("Documentation", boldButtonStyle)) { + Application.OpenURL(documentationUrl); + } + + Space(8); + if (Button("Open Demo", boldButtonStyle)) { + var rpAsset = GraphicsSettings. + #if UNITY_2019_3_OR_NEWER + defaultRenderPipeline; + #else + renderPipelineAsset; + #endif + bool isUrp = rpAsset != null && rpAsset.GetType().Name.Contains("Universal"); + var demoScene = isUrp ? installer.demoSceneUrp : installer.demoScene; + if (demoScene == null) { + Debug.LogError("Please re-import the plugin from Asset Store and import the 'Demo' folder.\n"); + return; + } + var path = AssetDatabase.GetAssetPath(demoScene); + EditorSceneManager.OpenScene(path); + } + #if UNITY_2019_4_OR_NEWER + if (Button("Import Basic Examples")) { + EditorUtility.DisplayDialog(pluginName, $"Please select the '{pluginName}' package in 'Package Manager', then press the 'Samples/Import' button at the bottom of the plugin's description.", "Ok"); + UnityEditor.PackageManager.UI.Window.Open(pluginPackageId); + } + #endif + if (Button("Support")) { + Application.OpenURL("https://github.com/KyryloKuzyk/PrimeTween#support"); + } + + Space(8); + if (Button("Uninstall", uninstallButtonStyle)) { + Client.Remove(pluginPackageId); + isInstalled = false; + var msg = $"Please remove the folder manually to uninstall {pluginName} completely: 'Assets/Plugins/{pluginName}'"; + EditorUtility.DisplayDialog(pluginName, msg, "Ok"); + Debug.Log(msg); + } + + if (EditorPrefs.GetBool(InsertCallbackBug.showInsertCallbackBugUi, false)) { + Space(24); + Label("Updating from PrimeTween [1.1.10 - 1.1.22]", EditorStyles.boldLabel); + Label("The behaviour of 'Sequence.ChainCallback()' and 'InsertCallback()' was fixed in PrimeTween 1.2.0 so the code written with older versions may work differently in some cases.", wordWrapLabelStyle); + if (Button("Find potential issues")) { + InsertCallbackBug.Find(); + } + BeginHorizontal(); + if (Button("More info")) { + Application.OpenURL(InsertCallbackBug.moreInfoUrl); + } + if (Button("Download version 1.1.22")) { + Application.OpenURL("https://github.com/KyryloKuzyk/PrimeTween/blob/545dcc52769d52841e282c772e98c8984bfeb243/Benchmarks/Packages/com.kyrylokuzyk.primetween.tgz"); + } + EndHorizontal(); + } + + Space(24); + Label("Enjoying PrimeTween?", EditorStyles.boldLabel); + Label("Consider leaving an honest review and starring PrimeTween on GitHub!\n\n" + + "Honest reviews make PrimeTween better and help other developers discover it.", wordWrapLabelStyle); + if (Button("Leave review!", GUI.skin.button)) { + ReviewRequest.DisableReviewRequest(); + ReviewRequest.OpenReviewsURL(); + } + } + + static void installPlugin() { + if (File.Exists(newTgzPath)) { + MoveAndRenameTgzArchive(); + } + + ReviewRequest.OnBeforeInstall(); + var path = $"file:../{tgzPath}"; + var addRequest = Client.Add(path); + while (!addRequest.IsCompleted) { + } + if (addRequest.Status == StatusCode.Success) { + Debug.Log($"{pluginName} installed successfully.\n" + + $"Offline documentation is located at Packages/{pluginName}/Documentation.md.\n" + + $"Online documentation: {documentationUrl}\n"); + } else { + Debug.LogError($"Please re-import the plugin from the Asset Store and check that the file exists: [{path}].\n\n{addRequest.Error?.message}\n"); + } + } + + internal static void MoveAndRenameTgzArchive() { + Assert.IsTrue(File.Exists(newTgzPath)); + Assert.IsTrue(File.Exists(newTgzPath + ".meta")); + File.Delete(tgzPath); + File.Delete(tgzPath + ".meta"); + File.Move(newTgzPath, tgzPath); + File.Move(newTgzPath + ".meta", tgzPath + ".meta"); + RevertTgzMeta(); + } + + static void RevertTgzMeta() { + const string path = tgzPath + ".meta"; + Assert.IsTrue(File.Exists(path), path); + File.WriteAllText(path, @"fileFormatVersion: 2 +guid: cdd0c4b9889044d73bc958a922ada300 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +"); + } + + [InitializeOnLoadMethod] + static void InitOnLoad() { + AssetDatabase.importPackageCompleted += name => { + if (name.Contains(pluginName)) { + if (CheckPluginInstalled()) { + ReviewRequest.OnPackageUpdate(); + } else { + var installer = AssetDatabase.LoadAssetAtPath("Assets/Plugins/PrimeTween/PrimeTweenInstaller.asset"); + EditorUtility.FocusProjectWindow(); // this is important to show the installer object in the Project window + Selection.activeObject = installer; + EditorGUIUtility.PingObject(installer); + EditorApplication.update += InstallAndUnsubscribeFromUpdate; + void InstallAndUnsubscribeFromUpdate() { + EditorApplication.update -= InstallAndUnsubscribeFromUpdate; + installPlugin(); + } + } + } + }; + } + + internal const string version = "1.3.2"; + } + + internal static class FixedUpdateParameterMigration { + internal static string[] FindLocalScriptGuids() { + var listRequest = Client.List(true); + while (!listRequest.IsCompleted) { + } + Assert.AreEqual(StatusCode.Success, listRequest.Status); + string[] folders = listRequest.Result + .Where(x => x.source == PackageSource.Embedded || x.source == PackageSource.Local) + .Where(x => x.name != InstallerInspector.pluginPackageId) + .Select(x => x.assetPath) + .Append("Assets") + .ToArray(); + return AssetDatabase.FindAssets("t:Script", folders); + } + + internal static bool Process(string[] scripts, bool? fixAutomatically = null) { + var logSb = new StringBuilder(); + var fileSb = new StringBuilder(); + foreach (string guid in scripts) + { + string path = AssetDatabase.GUIDToAssetPath(guid); + var textAsset = AssetDatabase.LoadAssetAtPath(path); + string text = textAsset.text; + if (!Regex.IsMatch(text, @"using PrimeTween\s*;")) { + continue; + } + var parameterMatches = Regex.Matches(text, @"useFixedUpdate\s*:"); + if (parameterMatches.Count > 0) { + if (!fixAutomatically.HasValue) { + return true; + } + logSb.Clear(); + if (fixAutomatically.Value) { + fileSb.Clear(); + fileSb.Append(text); + for (int i = parameterMatches.Count - 1; i >= 0; i--) { + var paramMatch = parameterMatches[i]; + fileSb.Remove(paramMatch.Index, paramMatch.Length); + fileSb.Insert(paramMatch.Index, "updateType:"); + } + File.WriteAllText(path, fileSb.ToString()); + logSb.Append($"PrimeTween automatically renamed ({parameterMatches.Count}) occurrences of 'useFixedUpdate' to 'updateType' in file '{textAsset.name}.cs':\n"); + } else { + logSb.Append($"PrimeTween: please rename ({parameterMatches.Count}) occurrences of 'useFixedUpdate' to 'updateType' in file '{textAsset.name}.cs':\n"); + } + var lineMatches = Regex.Matches(text, @"(?m)^.*useFixedUpdate\s*:.*$", RegexOptions.Multiline); + foreach (Match match in lineMatches) { + logSb.Append($"{match.Value.Trim().Replace("useFixedUpdate", "useFixedUpdate")}\n"); + } + Debug.unityLogger.Log(fixAutomatically.Value ? LogType.Warning : LogType.Error, logSb.ToString()); + } + } + // no need to call AssetDatabase.Refresh() here because MoveAndRenameTgzArchive() already does that + return false; + } + } + + internal static class ReviewRequest { + const string version = InstallerInspector.version; + const string canAskKey = "PrimeTween.canAskForReview"; + const string versionKey = "PrimeTween.version"; + + internal static void OnPackageUpdate() { + log("OnPackageUpdate"); + if (!File.Exists(InstallerInspector.newTgzPath)) { + Debug.LogError($"The installation archive is missing: '{InstallerInspector.newTgzPath}'. Please re-import PrimeTween from Asset Store."); + return; + } + bool shouldAskForReview = true; + var scriptGuids = FixedUpdateParameterMigration.FindLocalScriptGuids(); + if (FixedUpdateParameterMigration.Process(scriptGuids)) { + shouldAskForReview = false; + const string msg = "'bool useFixedUpdate' parameter was changed to 'UpdateType updateType' in version 1.3.0, which will cause breaking changes in your current project.\n" + + "PrimeTween can fix the breaking changes automatically, or you can fix them manually after the update.\n"; + Debug.LogWarning($"PrimeTween: the {msg}"); + int response = EditorUtility.DisplayDialogComplex($"{InstallerInspector.pluginName} {version}", + $"The {msg}", + "Fix automatically", + "Cancel", + "Fix manually"); + string cancelMessage = $"PrimeTween: update to {version} was cancelled. You can trigger update manually from 'Assets/Plugins/PrimeTween/PrimeTweenInstaller'."; + if (response == 1) { + Debug.LogWarning(cancelMessage); + return; + } + if (!EditorUtility.DisplayDialog($"{InstallerInspector.pluginName} {version}", "Please back up your project before proceeding.", "OK", "Cancel")) { + Debug.LogWarning(cancelMessage); + return; + } + bool fixAutomatically = response == 0; + FixedUpdateParameterMigration.Process(scriptGuids, fixAutomatically); + } + InstallerInspector.MoveAndRenameTgzArchive(); + if (UNITY_2018) { + var removeRequest = Client.Remove(InstallerInspector.pluginPackageId); + while (!removeRequest.IsCompleted) { + } + string path = $"file:../{InstallerInspector.tgzPath}"; + Client.Add(path); + } else { + EditorApplication.ExecuteMenuItem("Assets/Refresh"); // AssetDatabase.Refresh() refreshes the project only partially + } + + string prevVersion = savedVersion; + if (savedVersion == version) { + log($"same version {version}"); + return; + } + savedVersion = version; + + if (InsertCallbackBug.IsUpdatingFromVersionWithBug(prevVersion)) { + InsertCallbackBug.Find(); + EditorPrefs.SetBool(InsertCallbackBug.showInsertCallbackBugUi, true); + shouldAskForReview = false; + } else { + EditorPrefs.SetBool(InsertCallbackBug.showInsertCallbackBugUi, false); + } + log($"updated from version {prevVersion} to {version}, {nameof(shouldAskForReview)}: {shouldAskForReview}"); + if (shouldAskForReview) { + TryAskForReview(); + } + } + + static bool UNITY_2018 { + get { + #if UNITY_2018 + return true; + #else + return false; + #endif + } + } + + static void TryAskForReview() { + if (!EditorPrefs.GetBool(canAskKey, true)) { + log("can't ask"); + return; + } + DisableReviewRequest(); + var response = EditorUtility.DisplayDialogComplex("Enjoying PrimeTween?", + "Would you mind to leave an honest review on Asset store? Honest reviews make PrimeTween better and help other developers discover it.", + "Sure, leave a review!", + "Never ask again", + ""); + if (response == 0) { + OpenReviewsURL(); + } + } + + internal static void OnBeforeInstall() { + log($"OnBeforeInstall {version}"); + if (string.IsNullOrEmpty(savedVersion)) { + savedVersion = version; + } + } + + static string savedVersion { + get => EditorPrefs.GetString(versionKey); + set => EditorPrefs.SetString(versionKey, value); + } + + internal static void DisableReviewRequest() => EditorPrefs.SetBool(canAskKey, false); + internal static void OpenReviewsURL() => Application.OpenURL("https://assetstore.unity.com/packages/slug/252960#reviews"); + + internal static void ResetReviewRequest() { + Debug.Log(nameof(ResetReviewRequest)); + EditorPrefs.DeleteKey(versionKey); + EditorPrefs.DeleteKey(canAskKey); + } + + internal static void DebugReviewRequest() { + Debug.Log(nameof(DebugReviewRequest)); + savedVersion = "1.1.22"; + EditorPrefs.SetBool(canAskKey, false); + // TryAskForReview(); + } + + [System.Diagnostics.Conditional("_")] + static void log(string msg) { + Debug.Log($"ReviewRequest: {msg}"); + } + } + + internal static class InsertCallbackBug { + internal const string moreInfoUrl = "https://github.com/KyryloKuzyk/PrimeTween/discussions/112"; + internal const string showInsertCallbackBugUi = "PrimeTween.showInsertCallbackBugUi"; + static Dictionary OpCodeDict; + static MethodInfo[] methodsWithBug; + static MethodInfo[] groupMethods; + + internal static bool IsUpdatingFromVersionWithBug(string prevVersionString) { + if (Version.TryParse(prevVersionString, out var prevVersion) + && new Version(1, 1, 10) <= prevVersion + && prevVersion <= new Version(1, 1, 22) + ) { + return true; + } + return false; + } + + internal static void Find() { + OpCodeDict = typeof(OpCodes) + .GetFields(BindingFlags.Public | BindingFlags.Static) + .Select(x => (OpCode)x.GetValue(null)) + .ToDictionary(x => x.Value, x => x); + #if PRIME_TWEEN_INSTALLED + methodsWithBug = typeof(Sequence).GetMethods(BindingFlags.Public | BindingFlags.Instance) + .Where(methodInfo => methodInfo.Name == nameof(Sequence.ChainCallback) || methodInfo.Name == nameof(Sequence.InsertCallback)) + .Select(methodInfo => methodInfo.IsGenericMethod ? methodInfo.GetGenericMethodDefinition() : methodInfo) + .ToArray(); + Assert.AreEqual(4, methodsWithBug.Length); + groupMethods = typeof(Sequence).GetMethods(BindingFlags.Public | BindingFlags.Instance) + .Where(methodInfo => methodInfo.Name == nameof(Sequence.Group)) + .ToArray(); + #endif + Assert.AreEqual(2, groupMethods.Length); + + string methodAssemblyName = methodsWithBug[0].Module.Assembly.FullName; + const BindingFlags findAll = BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static; + int numPotentialIssues = AppDomain.CurrentDomain.GetAssemblies() + .Where(assembly => assembly.GetReferencedAssemblies().Any(dependency => dependency.FullName == methodAssemblyName)) + .Where(assembly => !assembly.GetName().Name.StartsWith("PrimeTween.", StringComparison.Ordinal)) + .SelectMany(assembly => assembly.GetTypes()) + .SelectMany(type => type.GetMethods(findAll).Cast().Union(type.GetConstructors(findAll))) + .Count(method => FindInMethod(method)); + if (numPotentialIssues == 0) { + Debug.Log($"PrimeTween updated to version {InstallerInspector.version}: no potential issues found in ChainCallback() and InsertCallback() usages.\n" + + $"More info: {moreInfoUrl}\n"); + } + + int updateResponse = EditorUtility.DisplayDialogComplex($"{InstallerInspector.pluginName} {InstallerInspector.version}", + "PrimeTween 1.2.0 fixed a bug in ChainCallback() and InsertCallback() methods.\n" + + "This fix may introduce breaking changes in the existing projects. Please see the Console output for more details.", + "More info", + "Close", + ""); + if (updateResponse == 0) { + Application.OpenURL(moreInfoUrl); + } + } + + /// https://stackoverflow.com/a/33034906/1951038 + static bool FindInMethod(MethodBase method) { + byte[] il = method.GetMethodBody()?.GetILAsByteArray(); + if (il == null) { + return false; + } + bool bugFound = false; + using (var br = new BinaryReader(new MemoryStream(il))) { + while (br.BaseStream.Position < br.BaseStream.Length) { + byte firstByte = br.ReadByte(); + short opCodeValue = firstByte == 0xFE ? BitConverter.ToInt16(new[] { br.ReadByte(), firstByte }, 0) : firstByte; + OpCode opCode = OpCodeDict[opCodeValue]; + switch (opCode.OperandType) { + case OperandType.ShortInlineBrTarget: + case OperandType.ShortInlineVar: + case OperandType.ShortInlineI: + br.ReadByte(); + break; + case OperandType.InlineVar: + br.ReadInt16(); + break; + case OperandType.InlineField: + case OperandType.InlineType: + case OperandType.ShortInlineR: + case OperandType.InlineString: + case OperandType.InlineSig: + case OperandType.InlineI: + case OperandType.InlineBrTarget: + br.ReadInt32(); + break; + case OperandType.InlineI8: + case OperandType.InlineR: + br.ReadInt64(); + break; + case OperandType.InlineSwitch: + var size = (int)br.ReadUInt32(); + br.ReadBytes(size * 4); + break; + case OperandType.InlineTok: + br.ReadUInt32(); + break; + case OperandType.InlineMethod: + int token = (int)br.ReadUInt32(); + if (method.Module.ResolveMethod(token) is MethodInfo resolvedMethod) { + if (bugFound) { + if (groupMethods.Contains(resolvedMethod)) { + Debug.LogError($"PrimeTween updated to version {InstallerInspector.version}: potential breaking change found in the '{method.DeclaringType}.{method.Name}()' method.\n" + + "Please double-check the behavior if Group() is called immediately after the ChainCallback() or InsertCallback() and apply the fix manually if necessary.\n" + + "Or use ChainCallbackObsolete/InsertCallbackObsolete() instead to preserve the old incorrect behavior.\n" + + $"More info: {moreInfoUrl}\n"); + return true; + } + } else { + bugFound = isMethodWithBug(resolvedMethod); + } + } + break; + case OperandType.InlineNone: + break; + default: + throw new Exception(); + } + } + } + return false; + } + + static bool isMethodWithBug(MethodInfo method) { + foreach (var methodWithBug in methodsWithBug) { + if (methodWithBug.IsGenericMethodDefinition && method.IsGenericMethod) { + if (methodWithBug == method.GetGenericMethodDefinition()) { + return true; + } + } else if (methodWithBug == method) { + return true; + } + } + return false; + } + } +} diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta new file mode 100644 index 0000000..cf26aaa --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 118450fad714b420684eb5f984268b5c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 252960 + packageName: "PrimeTween \xB7 High-Performance Animations and Sequences" + packageVersion: 1.3.1 + assetPath: Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs + uploadId: 757763 diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d504197ae7b1f7d1e2b0daa3b2f02a37823898f0 GIT binary patch literal 341794 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 acdd+s;qqcoJs{ZcqJLz zu2$AzRLlN}nCCf;I)m9w`J^{&=sk);ZzwF~wXqKdyi{K3`#jMT<_~#`ye3%9rve4+ z-?*6)=)MzF>j#P2Co$;|`sWYdgk5$-Q%f zGca9TzAY}R_inyN0SRG6lXDj|h#w(#g-buJp8FosJJi+JhO<9EBqNdIlbsyfus;Xq zG^vEu=WNC?&xQB4_R+Ne2|;0tO_RZbnSRN{i)mB0GJ1cI&jaKvc! zM_^vFhXxc0Pb7xcac3#T7lUVO|za|+k2<{Oc(nY)i z=ID)Z?|~t;&zC%*R7X7Z`mEsE+A%sH$;*wcbtrAyIxABTj?7$t?re}in#cT~#ILHJ zl3N{%3gX()#BT$<-*^{E6AWz;idE>qCblIeVJmcOl#SiJmbe^ne592Jf)!6e6R~^T zFi-)z9YkMm5r6~WCdnuSy1H@aPol>S%xy8{S`9{b7zr+P&LVyPB9UO^^BP1-@JK=I z1ZOwpq2kR-A1L=Guor9JXlx0J9EZ<;{OnsqitddhTp2p#f$Qr`Py#`oa}cyH%JG~V zNRg@*WA1+kzX6aV)W;wdrAs4R*^8JtpR9G=coPPukD=y71&Enb2m5Zr6iouzI7@

nWf(=BI9F)sE-*YL%SFe;@7{p08 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

pNIB!%wu~B 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 p`FLsD)r2v2k=fsxM@F)8FJ literal 0 HcmV?d00001 diff --git a/UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta new file mode 100644 index 0000000..254cb2d --- /dev/null +++ b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cdd0c4b9889044d73bc958a922ada300 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Scenes.meta b/UnityMultithreading/Assets/Scenes.meta new file mode 100644 index 0000000..e59fb45 --- /dev/null +++ b/UnityMultithreading/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c53962885c2c4f449125a979d6ad240 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Scenes/SampleScene.unity b/UnityMultithreading/Assets/Scenes/SampleScene.unity new file mode 100644 index 0000000..6b17259 --- /dev/null +++ b/UnityMultithreading/Assets/Scenes/SampleScene.unity @@ -0,0 +1,609 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &330585543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 330585546} + - component: {fileID: 330585545} + - component: {fileID: 330585544} + - component: {fileID: 330585547} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &330585544 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 330585543} + m_Enabled: 1 +--- !u!20 &330585545 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 330585543} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &330585546 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 330585543} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &330585547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 330585543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 1 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!1 &410087039 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 410087041} + - component: {fileID: 410087040} + - component: {fileID: 410087042} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &410087040 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410087039} + m_Enabled: 1 + serializedVersion: 11 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 2 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 5000 + m_UseColorTemperature: 1 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!4 &410087041 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410087039} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &410087042 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 410087039} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 1 +--- !u!1 &832575517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832575519} + - component: {fileID: 832575518} + m_Layer: 0 + m_Name: Global Volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &832575518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832575517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IsGlobal: 1 + priority: 0 + blendDistance: 0 + weight: 1 + sharedProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2} +--- !u!4 &832575519 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 832575517} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1302064227 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1302064232} + - component: {fileID: 1302064231} + - component: {fileID: 1302064230} + - component: {fileID: 1302064229} + - component: {fileID: 1302064228} + - component: {fileID: 1302064233} + - component: {fileID: 1302064234} + - component: {fileID: 1302064235} + - component: {fileID: 1302064236} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1302064228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8140663adbc534c18853396e6a7924e2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!65 &1302064229 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1302064230 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1302064231 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1302064232 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1302064233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e35c5f2a0fdf454ea3fc6ef4543323da, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1302064234 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7132ac922e04f09a4bda87ad5e35722, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1302064235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 264a3a466b7247cea8465e4b3fdcdd75, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1302064236 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302064227} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e4d4225d496a4f5d89404f0ec4f33c90, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 330585546} + - {fileID: 410087041} + - {fileID: 832575519} + - {fileID: 1302064232} diff --git a/UnityMultithreading/Assets/Scenes/SampleScene.unity.meta b/UnityMultithreading/Assets/Scenes/SampleScene.unity.meta new file mode 100644 index 0000000..9531828 --- /dev/null +++ b/UnityMultithreading/Assets/Scenes/SampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 99c9720ab356a0642a771bea13969a05 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Scripts.meta b/UnityMultithreading/Assets/Scripts.meta new file mode 100644 index 0000000..9357de8 --- /dev/null +++ b/UnityMultithreading/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f7dad90a04164660b82dd210200a1f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Scripts/Animations.meta b/UnityMultithreading/Assets/Scripts/Animations.meta new file mode 100644 index 0000000..18e3888 --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 06c227bfd254c4c1da35212cd0d9cc1e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs b/UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs new file mode 100644 index 0000000..5589dae --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs @@ -0,0 +1,39 @@ +using System; +using System.Threading.Tasks; +using Cysharp.Threading.Tasks; +using UnityEngine; + +namespace Animations +{ + public class AsyncTween : MonoBehaviour + { + private void Start() + { + Animate(); + } + + private async UniTask Animate() + { + float time = 0.0f; + + // move + while (time < 1.0f) + { + transform.position = Vector3.Lerp(Vector3.zero, Vector3.forward * 5.0f, time); + // await Task.Delay(100); + await UniTask.DelayFrame(1); + time += Time.deltaTime; + } + + // scale + time = 0.0f; + while (time < 1.0f) + { + transform.localScale = Vector3.Lerp(Vector3.one, Vector3.one * 2.0f, time); + // await Task.Delay(100); + await UniTask.DelayFrame(1); + time += Time.deltaTime; + } + } + } +} \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs.meta b/UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs.meta new file mode 100644 index 0000000..2817613 --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/AsyncTween.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 264a3a466b7247cea8465e4b3fdcdd75 +timeCreated: 1751902541 \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs b/UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs new file mode 100644 index 0000000..c450bcd --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections; +using Cysharp.Threading.Tasks; +using UnityEngine; + +namespace Animations +{ + public class CoRoutineTween : MonoBehaviour + { + private async void Start() + { + // StartCoroutine(Animate()); + await Animate(); + } + + private IEnumerator Animate() + { + float time = 0.0f; + + // move + while (time < 1.0f) + { + transform.position = Vector3.Lerp(Vector3.zero, Vector3.forward * 5.0f, time); + yield return null; + time += Time.deltaTime; + } + + // scale + time = 0.0f; + while (time < 1.0f) + { + transform.localScale = Vector3.Lerp(Vector3.one, Vector3.one * 2.0f, time); + yield return null; + time += Time.deltaTime; + } + } + } +} \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs.meta b/UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs.meta new file mode 100644 index 0000000..3af1e0b --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/CoRoutineTween.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e35c5f2a0fdf454ea3fc6ef4543323da +timeCreated: 1751901739 \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs b/UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs new file mode 100644 index 0000000..ddda5a6 --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs @@ -0,0 +1,19 @@ +using System; +using Cysharp.Threading.Tasks; +using PrimeTween; +using UnityEngine; + +namespace Animations +{ + public class PrimeTween : MonoBehaviour + { + private void Start() + { + Tween.PositionZ(transform, 5.0f, 1.0f).Chain( + Tween.Scale(transform, Vector3.one * 2.0f, 1.0f)); + + // await Tween.PositionZ(transform, 5.0f, 1.0f); + // Tween.Scale(transform, Vector3.one * 2.0f, 1.0f); + } + } +} \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs.meta b/UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs.meta new file mode 100644 index 0000000..08f05db --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/PrimeTween.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e4d4225d496a4f5d89404f0ec4f33c90 +timeCreated: 1751903903 \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs b/UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs new file mode 100644 index 0000000..191a016 --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs @@ -0,0 +1,36 @@ +using System.Threading; +using UnityEngine; + +namespace Animations +{ + public class ThreadAnimation : MonoBehaviour + { + private void Start() + { + // CAUTION: you can not access Unity Objects from a thread which is not the main thread, e.g. transforms + // WARNING: never ever put the main thread to sleep + // Thread thread = new Thread(() => + // { + float time = 0.0f; + + // move + while (time < 1.0f) + { + transform.position = Vector3.Lerp(Vector3.zero, Vector3.forward * 5.0f, time); + Thread.Sleep(100); + time += 0.1f; + } + + // scale + time = 0.0f; + while (time < 1.0f) + { + transform.localScale = Vector3.Lerp(Vector3.one, Vector3.one * 2.0f, time); + Thread.Sleep(100); + time += 0.1f; + } + // }); + // thread.Start(); + } + } +} \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs.meta b/UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs.meta new file mode 100644 index 0000000..a33e571 --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/ThreadAnimation.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d7132ac922e04f09a4bda87ad5e35722 +timeCreated: 1751901998 \ No newline at end of file diff --git a/UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs b/UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs new file mode 100644 index 0000000..90c61cf --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs @@ -0,0 +1,42 @@ +using System; +using UnityEngine; + +public class UpdateTween : MonoBehaviour +{ + private bool _isMoving = true; + private bool _isAnimating = true; + private float _time = 0.0f; + + private void Update() + { + if (_isAnimating) + { + if (_isMoving) + { + // move + // transform.position += Vector3.forward * Time.deltaTime; + // transform.position = Vector3.Lerp(Vector3.zero, Vector3.forward * 5.0f, Time.deltaTime); + transform.position = Vector3.Lerp(Vector3.zero, Vector3.forward * 5.0f, _time); + _time += Time.deltaTime; + + if (_time >= 1.0f) + { + _time = 0.0f; + _isMoving = false; + } + } + else + { + // scale + transform.localScale = Vector3.Lerp(Vector3.one, Vector3.one * 2.0f, _time); + _time += Time.deltaTime; + + if (_time >= 1.0f) + { + _time = 0.0f; + _isAnimating = false; + } + } + } + } +} diff --git a/UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs.meta b/UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs.meta new file mode 100644 index 0000000..1e64e40 --- /dev/null +++ b/UnityMultithreading/Assets/Scripts/Animations/UpdateTween.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8140663adbc534c18853396e6a7924e2 \ No newline at end of file diff --git a/UnityMultithreading/Assets/Settings.meta b/UnityMultithreading/Assets/Settings.meta new file mode 100644 index 0000000..39b94dd --- /dev/null +++ b/UnityMultithreading/Assets/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 709f11a7f3c4041caa4ef136ea32d874 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset b/UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset new file mode 100644 index 0000000..6fb1822 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset @@ -0,0 +1,982 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-9167874883656233139 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5485954d14dfb9a4c8ead8edb0ded5b1, type: 3} + m_Name: LiftGammaGain + m_EditorClassIdentifier: + active: 1 + lift: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + gamma: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + gain: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} +--- !u!114 &-8270506406425502121 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 70afe9e12c7a7ed47911bb608a23a8ff, type: 3} + m_Name: SplitToning + m_EditorClassIdentifier: + active: 1 + shadows: + m_OverrideState: 1 + m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1} + highlights: + m_OverrideState: 1 + m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1} + balance: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-8104416584915340131 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: CopyPasteTestComponent2 + m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEditor.Rendering.Tests:VolumeComponentCopyPasteTests/CopyPasteTestComponent2 + active: 1 + p1: + m_OverrideState: 1 + m_Value: 0 + p2: + m_OverrideState: 1 + m_Value: 0 + p21: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-7750755424749557576 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 60f3b30c03e6ba64d9a27dc9dba8f28d, type: 3} + m_Name: OutlineVolumeComponent + m_EditorClassIdentifier: + active: 1 + Enabled: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-7743500325797982168 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccf1aba9553839d41ae37dd52e9ebcce, type: 3} + m_Name: MotionBlur + m_EditorClassIdentifier: + active: 1 + mode: + m_OverrideState: 1 + m_Value: 0 + quality: + m_OverrideState: 1 + m_Value: 0 + intensity: + m_OverrideState: 1 + m_Value: 0 + clamp: + m_OverrideState: 1 + m_Value: 0.05 +--- !u!114 &-7274224791359825572 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0fd9ee276a1023e439cf7a9c393195fa, type: 3} + m_Name: TestAnimationCurveVolumeComponent + m_EditorClassIdentifier: + active: 1 + testParameter: + m_OverrideState: 1 + m_Value: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.5 + value: 10 + inSlope: 0 + outSlope: 10 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 15 + inSlope: 10 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &-6335409530604852063 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 66f335fb1ffd8684294ad653bf1c7564, type: 3} + m_Name: ColorAdjustments + m_EditorClassIdentifier: + active: 1 + postExposure: + m_OverrideState: 1 + m_Value: 0 + contrast: + m_OverrideState: 1 + m_Value: 0 + colorFilter: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + hueShift: + m_OverrideState: 1 + m_Value: 0 + saturation: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-6288072647309666549 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 29fa0085f50d5e54f8144f766051a691, type: 3} + m_Name: FilmGrain + m_EditorClassIdentifier: + active: 1 + type: + m_OverrideState: 1 + m_Value: 0 + intensity: + m_OverrideState: 1 + m_Value: 0 + response: + m_OverrideState: 1 + m_Value: 0.8 + texture: + m_OverrideState: 1 + m_Value: {fileID: 0} +--- !u!114 &-5520245016509672950 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3} + m_Name: Tonemapping + m_EditorClassIdentifier: + active: 1 + mode: + m_OverrideState: 1 + m_Value: 0 + neutralHDRRangeReductionMode: + m_OverrideState: 1 + m_Value: 2 + acesPreset: + m_OverrideState: 1 + m_Value: 3 + hueShiftAmount: + m_OverrideState: 1 + m_Value: 0 + detectPaperWhite: + m_OverrideState: 1 + m_Value: 0 + paperWhite: + m_OverrideState: 1 + m_Value: 300 + detectBrightnessLimits: + m_OverrideState: 1 + m_Value: 1 + minNits: + m_OverrideState: 1 + m_Value: 0.005 + maxNits: + m_OverrideState: 1 + m_Value: 1000 +--- !u!114 &-5360449096862653589 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: VolumeComponentSupportedEverywhere + m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEngine.Rendering.Tests:VolumeComponentEditorSupportedOnTests/VolumeComponentSupportedEverywhere + active: 1 +--- !u!114 &-5139089513906902183 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a00a63fdd6bd2a45ab1f2d869305ffd, type: 3} + m_Name: OasisFogVolumeComponent + m_EditorClassIdentifier: + active: 1 + Density: + m_OverrideState: 1 + m_Value: 0 + StartDistance: + m_OverrideState: 1 + m_Value: 0 + HeightRange: + m_OverrideState: 1 + m_Value: {x: 0, y: 50} + Tint: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + SunScatteringIntensity: + m_OverrideState: 1 + m_Value: 2 +--- !u!114 &-4463884970436517307 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fb60a22f311433c4c962b888d1393f88, type: 3} + m_Name: PaniniProjection + m_EditorClassIdentifier: + active: 1 + distance: + m_OverrideState: 1 + m_Value: 0 + cropToFit: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &-1410297666881709256 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6bd486065ce11414fa40e631affc4900, type: 3} + m_Name: ProbeVolumesOptions + m_EditorClassIdentifier: + active: 1 + normalBias: + m_OverrideState: 1 + m_Value: 0.33 + viewBias: + m_OverrideState: 1 + m_Value: 0 + scaleBiasWithMinProbeDistance: + m_OverrideState: 1 + m_Value: 0 + samplingNoise: + m_OverrideState: 1 + m_Value: 0.1 + animateSamplingNoise: + m_OverrideState: 1 + m_Value: 1 + leakReductionMode: + m_OverrideState: 1 + m_Value: 1 + minValidDotProductValue: + m_OverrideState: 1 + m_Value: 0.1 + occlusionOnlyReflectionNormalization: + m_OverrideState: 1 + m_Value: 1 + intensityMultiplier: + m_OverrideState: 1 + m_Value: 1 + skyOcclusionIntensityMultiplier: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &-1216621516061285780 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3} + m_Name: Bloom + m_EditorClassIdentifier: + active: 1 + skipIterations: + m_OverrideState: 1 + m_Value: 1 + threshold: + m_OverrideState: 1 + m_Value: 0.9 + intensity: + m_OverrideState: 1 + m_Value: 0 + scatter: + m_OverrideState: 1 + m_Value: 0.7 + clamp: + m_OverrideState: 1 + m_Value: 65472 + tint: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + highQualityFiltering: + m_OverrideState: 1 + m_Value: 0 + downscale: + m_OverrideState: 1 + m_Value: 0 + maxIterations: + m_OverrideState: 1 + m_Value: 6 + dirtTexture: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + dirtIntensity: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-1170528603972255243 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 221518ef91623a7438a71fef23660601, type: 3} + m_Name: WhiteBalance + m_EditorClassIdentifier: + active: 1 + temperature: + m_OverrideState: 1 + m_Value: 0 + tint: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &-581120513425526550 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: CopyPasteTestComponent3 + m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEditor.Rendering.Tests:VolumeComponentCopyPasteTests/CopyPasteTestComponent3 + active: 1 + p1: + m_OverrideState: 1 + m_Value: 0 + p2: + m_OverrideState: 1 + m_Value: 0 + p31: + m_OverrideState: 1 + m_Value: {r: 0, g: 0, b: 0, a: 1} +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: DefaultVolumeProfile + m_EditorClassIdentifier: + components: + - {fileID: -9167874883656233139} + - {fileID: 1918650496244738858} + - {fileID: 853819529557874667} + - {fileID: 1052315754049611418} + - {fileID: -1170528603972255243} + - {fileID: -8270506406425502121} + - {fileID: -5520245016509672950} + - {fileID: 7173750748008157695} + - {fileID: 1666464333004379222} + - {fileID: 9001657382290151224} + - {fileID: -6335409530604852063} + - {fileID: -1216621516061285780} + - {fileID: 3959858460715838825} + - {fileID: -7743500325797982168} + - {fileID: 4644742534064026673} + - {fileID: -4463884970436517307} + - {fileID: -6288072647309666549} + - {fileID: 7518938298396184218} + - {fileID: -1410297666881709256} + - {fileID: -7750755424749557576} + - {fileID: -5139089513906902183} +--- !u!114 &853819529557874667 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 06437c1ff663d574d9447842ba0a72e4, type: 3} + m_Name: ScreenSpaceLensFlare + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 + tintColor: + m_OverrideState: 1 + m_Value: {r: 1, g: 1, b: 1, a: 1} + bloomMip: + m_OverrideState: 1 + m_Value: 1 + firstFlareIntensity: + m_OverrideState: 1 + m_Value: 1 + secondaryFlareIntensity: + m_OverrideState: 1 + m_Value: 1 + warpedFlareIntensity: + m_OverrideState: 1 + m_Value: 1 + warpedFlareScale: + m_OverrideState: 1 + m_Value: {x: 1, y: 1} + samples: + m_OverrideState: 1 + m_Value: 1 + sampleDimmer: + m_OverrideState: 1 + m_Value: 0.5 + vignetteEffect: + m_OverrideState: 1 + m_Value: 1 + startingPosition: + m_OverrideState: 1 + m_Value: 1.25 + scale: + m_OverrideState: 1 + m_Value: 1.5 + streaksIntensity: + m_OverrideState: 1 + m_Value: 0 + streaksLength: + m_OverrideState: 1 + m_Value: 0.5 + streaksOrientation: + m_OverrideState: 1 + m_Value: 0 + streaksThreshold: + m_OverrideState: 1 + m_Value: 0.25 + resolution: + m_OverrideState: 1 + m_Value: 4 + chromaticAbberationIntensity: + m_OverrideState: 1 + m_Value: 0.5 +--- !u!114 &1052315754049611418 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 558a8e2b6826cf840aae193990ba9f2e, type: 3} + m_Name: ShadowsMidtonesHighlights + m_EditorClassIdentifier: + active: 1 + shadows: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + midtones: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + highlights: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + shadowsStart: + m_OverrideState: 1 + m_Value: 0 + shadowsEnd: + m_OverrideState: 1 + m_Value: 0.3 + highlightsStart: + m_OverrideState: 1 + m_Value: 0.55 + highlightsEnd: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &1666464333004379222 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3eb4b772797da9440885e8bd939e9560, type: 3} + m_Name: ColorCurves + m_EditorClassIdentifier: + active: 1 + master: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + red: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + green: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + blue: + m_OverrideState: 1 + m_Value: + k__BackingField: 2 + m_Loop: 0 + m_ZeroValue: 0 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + hueVsHue: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 1 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + hueVsSat: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 1 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + satVsSat: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 0 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + lumVsSat: + m_OverrideState: 1 + m_Value: + k__BackingField: 0 + m_Loop: 0 + m_ZeroValue: 0.5 + m_Range: 1 + m_Curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &1918650496244738858 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e021b4c809a781e468c2988c016ebbea, type: 3} + m_Name: ColorLookup + m_EditorClassIdentifier: + active: 1 + texture: + m_OverrideState: 1 + m_Value: {fileID: 0} + dimension: 1 + contribution: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &3959858460715838825 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c01700fd266d6914ababb731e09af2eb, type: 3} + m_Name: DepthOfField + m_EditorClassIdentifier: + active: 1 + mode: + m_OverrideState: 1 + m_Value: 0 + gaussianStart: + m_OverrideState: 1 + m_Value: 10 + gaussianEnd: + m_OverrideState: 1 + m_Value: 30 + gaussianMaxRadius: + m_OverrideState: 1 + m_Value: 1 + highQualitySampling: + m_OverrideState: 1 + m_Value: 0 + focusDistance: + m_OverrideState: 1 + m_Value: 10 + aperture: + m_OverrideState: 1 + m_Value: 5.6 + focalLength: + m_OverrideState: 1 + m_Value: 50 + bladeCount: + m_OverrideState: 1 + m_Value: 5 + bladeCurvature: + m_OverrideState: 1 + m_Value: 1 + bladeRotation: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &4251301726029935498 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 74955a4b0b4243bc87231e8b59ed9140, type: 3} + m_Name: TestVolume + m_EditorClassIdentifier: + active: 1 + param: + m_OverrideState: 1 + m_Value: 123 +--- !u!114 &4644742534064026673 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 81180773991d8724ab7f2d216912b564, type: 3} + m_Name: ChromaticAberration + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &6940869943325143175 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: VolumeComponentSupportedOnAnySRP + m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEngine.Rendering.Tests:VolumeComponentEditorSupportedOnTests/VolumeComponentSupportedOnAnySRP + active: 1 +--- !u!114 &7173750748008157695 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3} + m_Name: Vignette + m_EditorClassIdentifier: + active: 1 + color: + m_OverrideState: 1 + m_Value: {r: 0, g: 0, b: 0, a: 1} + center: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + intensity: + m_OverrideState: 1 + m_Value: 0 + smoothness: + m_OverrideState: 1 + m_Value: 0.2 + rounded: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &7518938298396184218 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c5e1dc532bcb41949b58bc4f2abfbb7e, type: 3} + m_Name: LensDistortion + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 + xMultiplier: + m_OverrideState: 1 + m_Value: 1 + yMultiplier: + m_OverrideState: 1 + m_Value: 1 + center: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + scale: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &9001657382290151224 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cdfbdbb87d3286943a057f7791b43141, type: 3} + m_Name: ChannelMixer + m_EditorClassIdentifier: + active: 1 + redOutRedIn: + m_OverrideState: 1 + m_Value: 100 + redOutGreenIn: + m_OverrideState: 1 + m_Value: 0 + redOutBlueIn: + m_OverrideState: 1 + m_Value: 0 + greenOutRedIn: + m_OverrideState: 1 + m_Value: 0 + greenOutGreenIn: + m_OverrideState: 1 + m_Value: 100 + greenOutBlueIn: + m_OverrideState: 1 + m_Value: 0 + blueOutRedIn: + m_OverrideState: 1 + m_Value: 0 + blueOutGreenIn: + m_OverrideState: 1 + m_Value: 0 + blueOutBlueIn: + m_OverrideState: 1 + m_Value: 100 +--- !u!114 &9122958982931076880 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: CopyPasteTestComponent1 + m_EditorClassIdentifier: Unity.RenderPipelines.Core.Editor.Tests:UnityEditor.Rendering.Tests:VolumeComponentCopyPasteTests/CopyPasteTestComponent1 + active: 1 + p1: + m_OverrideState: 1 + m_Value: 0 + p2: + m_OverrideState: 1 + m_Value: 0 diff --git a/UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset.meta b/UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset.meta new file mode 100644 index 0000000..53b314a --- /dev/null +++ b/UnityMultithreading/Assets/Settings/DefaultVolumeProfile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ab09877e2e707104187f6f83e2f62510 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset b/UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset new file mode 100644 index 0000000..0fdefd1 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} + m_Name: Mobile_RPAsset + m_EditorClassIdentifier: + k_AssetVersion: 12 + k_AssetPreviousVersion: 12 + m_RendererType: 1 + m_RendererData: {fileID: 0} + m_RendererDataList: + - {fileID: 11400000, guid: 65bc7dbf4170f435aa868c779acfb082, type: 2} + m_DefaultRendererIndex: 0 + m_RequireDepthTexture: 0 + m_RequireOpaqueTexture: 0 + m_OpaqueDownsampling: 0 + m_SupportsTerrainHoles: 1 + m_SupportsHDR: 1 + m_HDRColorBufferPrecision: 0 + m_MSAA: 1 + m_RenderScale: 0.8 + m_UpscalingFilter: 3 + m_FsrOverrideSharpness: 0 + m_FsrSharpness: 0.92 + m_EnableLODCrossFade: 1 + m_LODCrossFadeDitheringType: 1 + m_ShEvalMode: 0 + m_LightProbeSystem: 0 + m_ProbeVolumeMemoryBudget: 1024 + m_ProbeVolumeBlendingMemoryBudget: 256 + m_SupportProbeVolumeGPUStreaming: 0 + m_SupportProbeVolumeDiskStreaming: 0 + m_SupportProbeVolumeScenarios: 0 + m_SupportProbeVolumeScenarioBlending: 0 + m_ProbeVolumeSHBands: 1 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 1024 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 4 + m_AdditionalLightShadowsSupported: 0 + m_AdditionalLightsShadowmapResolution: 2048 + m_AdditionalLightsShadowResolutionTierLow: 256 + m_AdditionalLightsShadowResolutionTierMedium: 512 + m_AdditionalLightsShadowResolutionTierHigh: 1024 + m_ReflectionProbeBlending: 1 + m_ReflectionProbeBoxProjection: 1 + m_ShadowDistance: 50 + m_ShadowCascadeCount: 1 + m_Cascade2Split: 0.25 + m_Cascade3Split: {x: 0.1, y: 0.3} + m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} + m_CascadeBorder: 0.2 + m_ShadowDepthBias: 1 + m_ShadowNormalBias: 1 + m_AnyShadowsSupported: 1 + m_SoftShadowsSupported: 0 + m_ConservativeEnclosingSphere: 1 + m_NumIterationsEnclosingSphere: 64 + m_SoftShadowQuality: 2 + m_AdditionalLightsCookieResolution: 1024 + m_AdditionalLightsCookieFormat: 1 + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 0 + m_MixedLightingSupported: 1 + m_SupportsLightCookies: 1 + m_SupportsLightLayers: 1 + m_DebugLevel: 0 + m_StoreActionsOptimization: 0 + m_UseAdaptivePerformance: 1 + m_ColorGradingMode: 0 + m_ColorGradingLutSize: 32 + m_UseFastSRGBLinearConversion: 1 + m_SupportDataDrivenLensFlare: 1 + m_SupportScreenSpaceLensFlare: 1 + m_GPUResidentDrawerMode: 0 + m_UseLegacyLightmaps: 0 + m_SmallMeshScreenPercentage: 0 + m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 + m_ShadowType: 1 + m_LocalShadowsSupported: 0 + m_LocalShadowsAtlasResolution: 256 + m_MaxPixelLights: 0 + m_ShadowAtlasResolution: 256 + m_VolumeFrameworkUpdateMode: 0 + m_VolumeProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2} + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: + m_PrefilteringModeMainLightShadows: 3 + m_PrefilteringModeAdditionalLight: 4 + m_PrefilteringModeAdditionalLightShadows: 0 + m_PrefilterXRKeywords: 1 + m_PrefilteringModeForwardPlus: 1 + m_PrefilteringModeDeferredRendering: 0 + m_PrefilteringModeScreenSpaceOcclusion: 0 + m_PrefilterDebugKeywords: 1 + m_PrefilterWriteRenderingLayers: 1 + m_PrefilterHDROutput: 1 + m_PrefilterSSAODepthNormals: 1 + m_PrefilterSSAOSourceDepthLow: 1 + m_PrefilterSSAOSourceDepthMedium: 0 + m_PrefilterSSAOSourceDepthHigh: 1 + m_PrefilterSSAOInterleaved: 0 + m_PrefilterSSAOBlueNoise: 1 + m_PrefilterSSAOSampleCountLow: 1 + m_PrefilterSSAOSampleCountMedium: 0 + m_PrefilterSSAOSampleCountHigh: 1 + m_PrefilterDBufferMRT1: 1 + m_PrefilterDBufferMRT2: 1 + m_PrefilterDBufferMRT3: 1 + m_PrefilterSoftShadowsQualityLow: 1 + m_PrefilterSoftShadowsQualityMedium: 1 + m_PrefilterSoftShadowsQualityHigh: 1 + m_PrefilterSoftShadows: 0 + m_PrefilterScreenCoord: 1 + m_PrefilterNativeRenderPass: 1 + m_PrefilterUseLegacyLightmaps: 0 + m_ShaderVariantLogLevel: 0 + m_ShadowCascades: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset.meta b/UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset.meta new file mode 100644 index 0000000..3660d15 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/Mobile_RPAsset.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e6cbd92db86f4b18aec3ed561671858 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Settings/Mobile_Renderer.asset b/UnityMultithreading/Assets/Settings/Mobile_Renderer.asset new file mode 100644 index 0000000..99d4fa5 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/Mobile_Renderer.asset @@ -0,0 +1,52 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} + m_Name: Mobile_Renderer + m_EditorClassIdentifier: + debugShaders: + debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, + type: 3} + hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} + probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, + type: 3} + probeVolumeResources: + probeVolumeDebugShader: {fileID: 0} + probeVolumeFragmentationDebugShader: {fileID: 0} + probeVolumeOffsetDebugShader: {fileID: 0} + probeVolumeSamplingDebugShader: {fileID: 0} + probeSamplingDebugMesh: {fileID: 0} + probeSamplingDebugTexture: {fileID: 0} + probeVolumeBlendStatesCS: {fileID: 0} + m_RendererFeatures: [] + m_RendererFeatureMap: + m_UseNativeRenderPass: 1 + postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} + m_AssetVersion: 2 + m_OpaqueLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_TransparentLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_DefaultStencilState: + overrideStencilState: 0 + stencilReference: 0 + stencilCompareFunction: 8 + passOperation: 2 + failOperation: 0 + zFailOperation: 0 + m_ShadowTransparentReceive: 0 + m_RenderingMode: 2 + m_DepthPrimingMode: 0 + m_CopyDepthMode: 0 + m_AccurateGbufferNormals: 0 + m_IntermediateTextureMode: 0 diff --git a/UnityMultithreading/Assets/Settings/Mobile_Renderer.asset.meta b/UnityMultithreading/Assets/Settings/Mobile_Renderer.asset.meta new file mode 100644 index 0000000..a3588b1 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/Mobile_Renderer.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65bc7dbf4170f435aa868c779acfb082 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Settings/PC_RPAsset.asset b/UnityMultithreading/Assets/Settings/PC_RPAsset.asset new file mode 100644 index 0000000..8b30a06 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/PC_RPAsset.asset @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} + m_Name: PC_RPAsset + m_EditorClassIdentifier: + k_AssetVersion: 12 + k_AssetPreviousVersion: 12 + m_RendererType: 1 + m_RendererData: {fileID: 0} + m_RendererDataList: + - {fileID: 11400000, guid: f288ae1f4751b564a96ac7587541f7a2, type: 2} + m_DefaultRendererIndex: 0 + m_RequireDepthTexture: 1 + m_RequireOpaqueTexture: 1 + m_OpaqueDownsampling: 1 + m_SupportsTerrainHoles: 1 + m_SupportsHDR: 1 + m_HDRColorBufferPrecision: 0 + m_MSAA: 1 + m_RenderScale: 1 + m_UpscalingFilter: 0 + m_FsrOverrideSharpness: 0 + m_FsrSharpness: 0.92 + m_EnableLODCrossFade: 1 + m_LODCrossFadeDitheringType: 1 + m_ShEvalMode: 0 + m_LightProbeSystem: 0 + m_ProbeVolumeMemoryBudget: 1024 + m_ProbeVolumeBlendingMemoryBudget: 256 + m_SupportProbeVolumeGPUStreaming: 0 + m_SupportProbeVolumeDiskStreaming: 0 + m_SupportProbeVolumeScenarios: 0 + m_SupportProbeVolumeScenarioBlending: 0 + m_ProbeVolumeSHBands: 1 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 2048 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 4 + m_AdditionalLightShadowsSupported: 1 + m_AdditionalLightsShadowmapResolution: 2048 + m_AdditionalLightsShadowResolutionTierLow: 256 + m_AdditionalLightsShadowResolutionTierMedium: 512 + m_AdditionalLightsShadowResolutionTierHigh: 1024 + m_ReflectionProbeBlending: 1 + m_ReflectionProbeBoxProjection: 1 + m_ShadowDistance: 50 + m_ShadowCascadeCount: 4 + m_Cascade2Split: 0.25 + m_Cascade3Split: {x: 0.1, y: 0.3} + m_Cascade4Split: {x: 0.12299999, y: 0.2926, z: 0.53599995} + m_CascadeBorder: 0.107758604 + m_ShadowDepthBias: 0.1 + m_ShadowNormalBias: 0.5 + m_AnyShadowsSupported: 1 + m_SoftShadowsSupported: 1 + m_ConservativeEnclosingSphere: 1 + m_NumIterationsEnclosingSphere: 64 + m_SoftShadowQuality: 3 + m_AdditionalLightsCookieResolution: 2048 + m_AdditionalLightsCookieFormat: 3 + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 0 + m_MixedLightingSupported: 1 + m_SupportsLightCookies: 1 + m_SupportsLightLayers: 1 + m_DebugLevel: 0 + m_StoreActionsOptimization: 0 + m_UseAdaptivePerformance: 1 + m_ColorGradingMode: 0 + m_ColorGradingLutSize: 32 + m_UseFastSRGBLinearConversion: 0 + m_SupportDataDrivenLensFlare: 1 + m_SupportScreenSpaceLensFlare: 1 + m_GPUResidentDrawerMode: 0 + m_UseLegacyLightmaps: 0 + m_SmallMeshScreenPercentage: 0 + m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 + m_ShadowType: 1 + m_LocalShadowsSupported: 0 + m_LocalShadowsAtlasResolution: 256 + m_MaxPixelLights: 0 + m_ShadowAtlasResolution: 256 + m_VolumeFrameworkUpdateMode: 0 + m_VolumeProfile: {fileID: 11400000, guid: 10fc4df2da32a41aaa32d77bc913491c, type: 2} + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: + m_PrefilteringModeMainLightShadows: 3 + m_PrefilteringModeAdditionalLight: 4 + m_PrefilteringModeAdditionalLightShadows: 0 + m_PrefilterXRKeywords: 1 + m_PrefilteringModeForwardPlus: 1 + m_PrefilteringModeDeferredRendering: 0 + m_PrefilteringModeScreenSpaceOcclusion: 1 + m_PrefilterDebugKeywords: 1 + m_PrefilterWriteRenderingLayers: 0 + m_PrefilterHDROutput: 1 + m_PrefilterSSAODepthNormals: 0 + m_PrefilterSSAOSourceDepthLow: 1 + m_PrefilterSSAOSourceDepthMedium: 1 + m_PrefilterSSAOSourceDepthHigh: 1 + m_PrefilterSSAOInterleaved: 1 + m_PrefilterSSAOBlueNoise: 0 + m_PrefilterSSAOSampleCountLow: 1 + m_PrefilterSSAOSampleCountMedium: 0 + m_PrefilterSSAOSampleCountHigh: 1 + m_PrefilterDBufferMRT1: 1 + m_PrefilterDBufferMRT2: 1 + m_PrefilterDBufferMRT3: 0 + m_PrefilterSoftShadowsQualityLow: 0 + m_PrefilterSoftShadowsQualityMedium: 0 + m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilterSoftShadows: 0 + m_PrefilterScreenCoord: 1 + m_PrefilterNativeRenderPass: 1 + m_PrefilterUseLegacyLightmaps: 0 + m_ShaderVariantLogLevel: 0 + m_ShadowCascades: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/UnityMultithreading/Assets/Settings/PC_RPAsset.asset.meta b/UnityMultithreading/Assets/Settings/PC_RPAsset.asset.meta new file mode 100644 index 0000000..e286b2f --- /dev/null +++ b/UnityMultithreading/Assets/Settings/PC_RPAsset.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b83569d67af61e458304325a23e5dfd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Settings/PC_Renderer.asset b/UnityMultithreading/Assets/Settings/PC_Renderer.asset new file mode 100644 index 0000000..475b02e --- /dev/null +++ b/UnityMultithreading/Assets/Settings/PC_Renderer.asset @@ -0,0 +1,95 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} + m_Name: PC_Renderer + m_EditorClassIdentifier: + debugShaders: + debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, + type: 3} + hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} + probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, + type: 3} + probeVolumeResources: + probeVolumeDebugShader: {fileID: 4800000, guid: e5c6678ed2aaa91408dd3df699057aae, + type: 3} + probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 03cfc4915c15d504a9ed85ecc404e607, + type: 3} + probeVolumeOffsetDebugShader: {fileID: 4800000, guid: 53a11f4ebaebf4049b3638ef78dc9664, + type: 3} + probeVolumeSamplingDebugShader: {fileID: 4800000, guid: 8f96cd657dc40064aa21efcc7e50a2e7, + type: 3} + probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 57d7c4c16e2765b47a4d2069b311bffe, + type: 3} + probeSamplingDebugTexture: {fileID: 2800000, guid: 24ec0e140fb444a44ab96ee80844e18e, + type: 3} + probeVolumeBlendStatesCS: {fileID: 7200000, guid: b9a23f869c4fd45f19c5ada54dd82176, + type: 3} + m_RendererFeatures: + - {fileID: 7833122117494664109} + m_RendererFeatureMap: ad6b866f10d7b46c + m_UseNativeRenderPass: 1 + postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} + m_AssetVersion: 2 + m_OpaqueLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_TransparentLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_DefaultStencilState: + overrideStencilState: 0 + stencilReference: 1 + stencilCompareFunction: 3 + passOperation: 2 + failOperation: 0 + zFailOperation: 0 + m_ShadowTransparentReceive: 1 + m_RenderingMode: 2 + m_DepthPrimingMode: 0 + m_CopyDepthMode: 0 + m_AccurateGbufferNormals: 0 + m_IntermediateTextureMode: 0 +--- !u!114 &7833122117494664109 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3} + m_Name: ScreenSpaceAmbientOcclusion + m_EditorClassIdentifier: + m_Active: 1 + m_Settings: + AOMethod: 0 + Downsample: 0 + AfterOpaque: 0 + Source: 1 + NormalSamples: 1 + Intensity: 0.4 + DirectLightingStrength: 0.25 + Radius: 0.3 + Samples: 1 + BlurQuality: 0 + Falloff: 100 + SampleCount: -1 + m_BlueNoise256Textures: + - {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3} + - {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3} + - {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3} + - {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3} + - {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3} + - {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3} + - {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3} + m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3} diff --git a/UnityMultithreading/Assets/Settings/PC_Renderer.asset.meta b/UnityMultithreading/Assets/Settings/PC_Renderer.asset.meta new file mode 100644 index 0000000..ddae6a5 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/PC_Renderer.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f288ae1f4751b564a96ac7587541f7a2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Settings/SampleSceneProfile.asset b/UnityMultithreading/Assets/Settings/SampleSceneProfile.asset new file mode 100644 index 0000000..c1b0f63 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/SampleSceneProfile.asset @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7893295128165547882 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3} + m_Name: Bloom + m_EditorClassIdentifier: + active: 1 + skipIterations: + m_OverrideState: 1 + m_Value: 0 + threshold: + m_OverrideState: 1 + m_Value: 1 + intensity: + m_OverrideState: 1 + m_Value: 0.25 + scatter: + m_OverrideState: 1 + m_Value: 0.5 + clamp: + m_OverrideState: 0 + m_Value: 65472 + tint: + m_OverrideState: 0 + m_Value: {r: 1, g: 1, b: 1, a: 1} + highQualityFiltering: + m_OverrideState: 1 + m_Value: 1 + downscale: + m_OverrideState: 0 + m_Value: 0 + maxIterations: + m_OverrideState: 0 + m_Value: 6 + dirtTexture: + m_OverrideState: 0 + m_Value: {fileID: 0} + dimension: 1 + dirtIntensity: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &-3357603926938260329 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3} + m_Name: Vignette + m_EditorClassIdentifier: + active: 1 + color: + m_OverrideState: 0 + m_Value: {r: 0, g: 0, b: 0, a: 1} + center: + m_OverrideState: 0 + m_Value: {x: 0.5, y: 0.5} + intensity: + m_OverrideState: 1 + m_Value: 0.2 + smoothness: + m_OverrideState: 0 + m_Value: 0.2 + rounded: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: SampleSceneProfile + m_EditorClassIdentifier: + components: + - {fileID: 849379129802519247} + - {fileID: -7893295128165547882} + - {fileID: 7391319092446245454} + - {fileID: -3357603926938260329} +--- !u!114 &849379129802519247 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3} + m_Name: Tonemapping + m_EditorClassIdentifier: + active: 1 + mode: + m_OverrideState: 1 + m_Value: 1 + neutralHDRRangeReductionMode: + m_OverrideState: 0 + m_Value: 2 + acesPreset: + m_OverrideState: 0 + m_Value: 3 + hueShiftAmount: + m_OverrideState: 0 + m_Value: 0 + detectPaperWhite: + m_OverrideState: 1 + m_Value: 0 + paperWhite: + m_OverrideState: 1 + m_Value: 234 + detectBrightnessLimits: + m_OverrideState: 1 + m_Value: 1 + minNits: + m_OverrideState: 1 + m_Value: 0.005 + maxNits: + m_OverrideState: 1 + m_Value: 647 +--- !u!114 &7391319092446245454 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ccf1aba9553839d41ae37dd52e9ebcce, type: 3} + m_Name: MotionBlur + m_EditorClassIdentifier: + active: 0 + mode: + m_OverrideState: 0 + m_Value: 0 + quality: + m_OverrideState: 1 + m_Value: 2 + intensity: + m_OverrideState: 1 + m_Value: 0.6 + clamp: + m_OverrideState: 0 + m_Value: 0.05 diff --git a/UnityMultithreading/Assets/Settings/SampleSceneProfile.asset.meta b/UnityMultithreading/Assets/Settings/SampleSceneProfile.asset.meta new file mode 100644 index 0000000..b82270c --- /dev/null +++ b/UnityMultithreading/Assets/Settings/SampleSceneProfile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 10fc4df2da32a41aaa32d77bc913491c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset b/UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset new file mode 100644 index 0000000..a66c128 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset @@ -0,0 +1,264 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3} + m_Name: UniversalRenderPipelineGlobalSettings + m_EditorClassIdentifier: + m_ShaderStrippingSetting: + m_Version: 0 + m_ExportShaderVariants: 1 + m_ShaderVariantLogLevel: 0 + m_StripRuntimeDebugShaders: 1 + m_URPShaderStrippingSetting: + m_Version: 0 + m_StripUnusedPostProcessingVariants: 1 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + m_ShaderVariantLogLevel: 0 + m_ExportShaderVariants: 1 + m_StripDebugVariants: 1 + m_StripUnusedPostProcessingVariants: 1 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + supportRuntimeDebugDisplay: 0 + m_EnableRenderGraph: 0 + m_Settings: + m_SettingsList: + m_List: + - rid: 6852985685364965376 + - rid: 6852985685364965377 + - rid: 6852985685364965378 + - rid: 6852985685364965379 + - rid: 6852985685364965380 + - rid: 6852985685364965381 + - rid: 6852985685364965382 + - rid: 6852985685364965383 + - rid: 6852985685364965384 + - rid: 6852985685364965385 + - rid: 6852985685364965386 + - rid: 6852985685364965387 + - rid: 6852985685364965388 + - rid: 6852985685364965389 + - rid: 6852985685364965390 + - rid: 6852985685364965391 + - rid: 6852985685364965392 + - rid: 6852985685364965393 + - rid: 6852985685364965394 + - rid: 8712630790384254976 + - rid: 420794267821670400 + - rid: 420794267821670401 + m_RuntimeSettings: + m_List: [] + m_AssetVersion: 8 + m_ObsoleteDefaultVolumeProfile: {fileID: 0} + m_RenderingLayerNames: + - Light Layer default + - Light Layer 1 + - Light Layer 2 + - Light Layer 3 + - Light Layer 4 + - Light Layer 5 + - Light Layer 6 + - Light Layer 7 + m_ValidRenderingLayers: 0 + lightLayerName0: Light Layer default + lightLayerName1: Light Layer 1 + lightLayerName2: Light Layer 2 + lightLayerName3: Light Layer 3 + lightLayerName4: Light Layer 4 + lightLayerName5: Light Layer 5 + lightLayerName6: Light Layer 6 + lightLayerName7: Light Layer 7 + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: + references: + version: 2 + RefIds: + - rid: 420794267821670400 + type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2} + - rid: 420794267821670401 + type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3} + m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3} + m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3} + - rid: 6852985685364965376 + type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_StripUnusedPostProcessingVariants: 1 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + - rid: 6852985685364965377 + type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3} + m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3} + m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3} + m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} + m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} + m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} + m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3} + m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3} + m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3} + - rid: 6852985685364965378 + type: {class: UniversalRendererResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3} + m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} + m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3} + - rid: 6852985685364965379 + type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DebugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3} + m_HdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} + m_ProbeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3} + - rid: 6852985685364965380 + type: {class: UniversalRenderPipelineRuntimeShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_FallbackErrorShader: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} + m_BlitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3} + m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} + m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3} + m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} + m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} + m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} + m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} + - rid: 6852985685364965381 + type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 1 + m_BlueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + m_BayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_DebugFontTex: {fileID: 2800000, guid: 26a413214480ef144b2915d6ff4d0beb, type: 3} + - rid: 6852985685364965382 + type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_LightShader: {fileID: 4800000, guid: 3f6c848ca3d7bca4bbe846546ac701a1, type: 3} + m_ProjectedShadowShader: {fileID: 4800000, guid: ce09d4a80b88c5a4eb9768fab4f1ee00, type: 3} + m_SpriteShadowShader: {fileID: 4800000, guid: 44fc62292b65ab04eabcf310e799ccf6, type: 3} + m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, type: 3} + m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, type: 3} + m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, type: 3} + m_FallOffLookup: {fileID: 2800000, guid: 5688ab254e4c0634f8d6c8e0792331ca, type: 3} + m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} + m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2} + - rid: 6852985685364965383 + type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_DefaultParticleMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2} + m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2} + m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} + m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2} + m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} + - rid: 6852985685364965384 + type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_VolumeProfile: {fileID: 11400000, guid: ab09877e2e707104187f6f83e2f62510, type: 2} + - rid: 6852985685364965385 + type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_EnableRenderCompatibilityMode: 0 + - rid: 6852985685364965386 + type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime} + data: + m_Version: 0 + m_InstanceDataBufferCopyKernels: {fileID: 7200000, guid: f984aeb540ded8b4fbb8a2047ab5b2e2, type: 3} + m_InstanceDataBufferUploadKernels: {fileID: 7200000, guid: 53864816eb00f2343b60e1a2c5a262ef, type: 3} + m_TransformUpdaterKernels: {fileID: 7200000, guid: 2a567b9b2733f8d47a700c3c85bed75b, type: 3} + m_WindDataUpdaterKernels: {fileID: 7200000, guid: fde76746e4fd0ed418c224f6b4084114, type: 3} + m_OccluderDepthPyramidKernels: {fileID: 7200000, guid: 08b2b5fb307b0d249860612774a987da, type: 3} + m_InstanceOcclusionCullingKernels: {fileID: 7200000, guid: f6d223acabc2f974795a5a7864b50e6c, type: 3} + m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3} + m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3} + m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3} + - rid: 6852985685364965387 + type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3} + m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3} + m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3} + - rid: 6852985685364965388 + type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + dilationShader: {fileID: 7200000, guid: 6bb382f7de370af41b775f54182e491d, type: 3} + subdivideSceneCS: {fileID: 7200000, guid: bb86f1f0af829fd45b2ebddda1245c22, type: 3} + voxelizeSceneShader: {fileID: 4800000, guid: c8b6a681c7b4e2e4785ffab093907f9e, type: 3} + traceVirtualOffsetCS: {fileID: -6772857160820960102, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3} + traceVirtualOffsetRT: {fileID: -5126288278712620388, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3} + skyOcclusionCS: {fileID: -6772857160820960102, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3} + skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3} + renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3} + renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3} + - rid: 6852985685364965389 + type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + m_ProbeVolumeDisableStreamingAssets: 0 + - rid: 6852985685364965390 + type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + probeVolumeDebugShader: {fileID: 4800000, guid: 3b21275fd12d65f49babb5286f040f2d, type: 3} + probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 3a80877c579b9144ebdcc6d923bca303, type: 3} + probeVolumeSamplingDebugShader: {fileID: 4800000, guid: bf54e6528c79a224e96346799064c393, type: 3} + probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3} + probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3} + numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3} + - rid: 6852985685364965391 + type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + m_IncludeReferencedInScenes: 0 + m_IncludeAssetsByLabel: 0 + m_LabelToInclude: + - rid: 6852985685364965392 + type: {class: ShaderStrippingSetting, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 0 + m_ExportShaderVariants: 1 + m_ShaderVariantLogLevel: 0 + m_StripRuntimeDebugShaders: 1 + - rid: 6852985685364965393 + type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3} + probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3} + probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3} + - rid: 6852985685364965394 + type: {class: RenderGraphGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + m_EnableCompilationCaching: 1 + m_EnableValidityChecks: 1 + - rid: 8712630790384254976 + type: {class: RenderGraphUtilsResources, ns: UnityEngine.Rendering.RenderGraphModule.Util, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 0 + m_CoreCopyPS: {fileID: 4800000, guid: 12dc59547ea167a4ab435097dd0f9add, type: 3} diff --git a/UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta b/UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta new file mode 100644 index 0000000..81b84f2 --- /dev/null +++ b/UnityMultithreading/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18dc0cd2c080841dea60987a38ce93fa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityMultithreading/Packages/manifest.json b/UnityMultithreading/Packages/manifest.json new file mode 100644 index 0000000..2a30ff3 --- /dev/null +++ b/UnityMultithreading/Packages/manifest.json @@ -0,0 +1,49 @@ +{ + "dependencies": { + "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", + "com.kyrylokuzyk.primetween": "file:../Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz", + "com.unity.ai.navigation": "2.0.7", + "com.unity.collab-proxy": "2.8.2", + "com.unity.ide.rider": "3.0.35", + "com.unity.ide.visualstudio": "2.0.23", + "com.unity.inputsystem": "1.14.0", + "com.unity.multiplayer.center": "1.0.0", + "com.unity.render-pipelines.universal": "17.0.4", + "com.unity.test-framework": "1.5.1", + "com.unity.timeline": "1.8.7", + "com.unity.ugui": "2.0.0", + "com.unity.visualscripting": "1.9.6", + "com.unity.modules.accessibility": "1.0.0", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/UnityMultithreading/Packages/packages-lock.json b/UnityMultithreading/Packages/packages-lock.json new file mode 100644 index 0000000..95366d3 --- /dev/null +++ b/UnityMultithreading/Packages/packages-lock.json @@ -0,0 +1,476 @@ +{ + "dependencies": { + "com.cysharp.unitask": { + "version": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", + "depth": 0, + "source": "git", + "dependencies": {}, + "hash": "f213ff497e4ff462a77319cf677cf20cc0860ca9" + }, + "com.kyrylokuzyk.primetween": { + "version": "file:../Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": {} + }, + "com.unity.ai.navigation": { + "version": "2.0.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.ai": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.burst": { + "version": "1.8.21", + "depth": 2, + "source": "registry", + "dependencies": { + "com.unity.mathematics": "1.2.1", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.collab-proxy": { + "version": "2.8.2", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.collections": { + "version": "2.5.1", + "depth": 2, + "source": "registry", + "dependencies": { + "com.unity.burst": "1.8.17", + "com.unity.test-framework": "1.4.5", + "com.unity.nuget.mono-cecil": "1.11.4", + "com.unity.test-framework.performance": "3.0.3" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "2.0.5", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, + "com.unity.ide.rider": { + "version": "3.0.35", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.23", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.inputsystem": { + "version": "1.14.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.mathematics": { + "version": "1.3.2", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.multiplayer.center": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + } + }, + "com.unity.nuget.mono-cecil": { + "version": "1.11.4", + "depth": 3, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.render-pipelines.core": { + "version": "17.0.4", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.burst": "1.8.14", + "com.unity.mathematics": "1.3.2", + "com.unity.ugui": "2.0.0", + "com.unity.collections": "2.4.3", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.rendering.light-transport": "1.0.1" + } + }, + "com.unity.render-pipelines.universal": { + "version": "17.0.4", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.render-pipelines.core": "17.0.4", + "com.unity.shadergraph": "17.0.4", + "com.unity.render-pipelines.universal-config": "17.0.3" + } + }, + "com.unity.render-pipelines.universal-config": { + "version": "17.0.3", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.render-pipelines.core": "17.0.3" + } + }, + "com.unity.rendering.light-transport": { + "version": "1.0.1", + "depth": 2, + "source": "builtin", + "dependencies": { + "com.unity.collections": "2.2.0", + "com.unity.mathematics": "1.2.4", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.searcher": { + "version": "4.9.3", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.shadergraph": { + "version": "17.0.4", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.render-pipelines.core": "17.0.4", + "com.unity.searcher": "4.9.3" + } + }, + "com.unity.test-framework": { + "version": "1.5.1", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.ext.nunit": "2.0.3", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.test-framework.performance": { + "version": "3.1.0", + "depth": 3, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.33", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.8.7", + "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.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "2.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.visualscripting": { + "version": "1.9.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.modules.accessibility": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "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, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "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.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/UnityMultithreading/ProjectSettings/AudioManager.asset b/UnityMultithreading/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..27287fe --- /dev/null +++ b/UnityMultithreading/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 0 diff --git a/UnityMultithreading/ProjectSettings/ClusterInputManager.asset b/UnityMultithreading/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000..e7886b2 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/UnityMultithreading/ProjectSettings/DynamicsManager.asset b/UnityMultithreading/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..fc90ab9 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0.1 + m_ClothInterCollisionStiffness: 0.2 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ClothGravity: {x: 0, y: -9.81, z: 0} + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_SolverType: 0 + m_DefaultMaxAngularSpeed: 50 diff --git a/UnityMultithreading/ProjectSettings/EditorBuildSettings.asset b/UnityMultithreading/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..d057ba3 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,13 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 1 + path: Assets/Scenes/SampleScene.unity + guid: 99c9720ab356a0642a771bea13969a05 + m_configObjects: + com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} + m_UseUCBPForAssetBundles: 0 diff --git a/UnityMultithreading/ProjectSettings/EditorSettings.asset b/UnityMultithreading/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..fc70035 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/EditorSettings.asset @@ -0,0 +1,49 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 14 + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerCacheSize: 10 + m_SpritePackerPaddingPower: 1 + m_Bc7TextureCompressor: 0 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref + m_ProjectGenerationRootNamespace: + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_EnableEditorAsyncCPUTextureLoading: 0 + m_AsyncShaderCompilation: 1 + m_PrefabModeAllowAutoSave: 1 + m_EnterPlayModeOptionsEnabled: 1 + m_EnterPlayModeOptions: 0 + m_GameObjectNamingDigits: 1 + m_GameObjectNamingScheme: 0 + m_AssetNamingUsesSpace: 1 + m_InspectorUseIMGUIDefaultInspector: 0 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 + m_DisableCookiesInLightmapper: 0 + m_ShadowmaskStitching: 0 + m_AssetPipelineMode: 1 + m_RefreshImportMode: 0 + m_CacheServerMode: 0 + m_CacheServerEndpoint: + m_CacheServerNamespacePrefix: default + m_CacheServerEnableDownload: 1 + m_CacheServerEnableUpload: 1 + m_CacheServerEnableAuth: 0 + m_CacheServerEnableTls: 0 + m_CacheServerValidationMode: 2 + m_CacheServerDownloadBatchSize: 128 + m_EnableEnlightenBakedGI: 0 + m_ReferencedClipsExactNaming: 1 diff --git a/UnityMultithreading/ProjectSettings/GraphicsSettings.asset b/UnityMultithreading/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..aa5a1c3 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 16 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_VideoShadersIncludeMode: 2 + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_PreloadShadersBatchTimeLimit: -1 + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, + type: 2} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_BrgStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_RenderPipelineGlobalSettingsMap: + UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, + type: 2} + m_LightsUseLinearIntensity: 1 + m_LightsUseColorTemperature: 1 + m_LogWhenShaderIsCompiled: 0 + m_LightProbeOutsideHullStrategy: 0 + m_CameraRelativeLightCulling: 0 + m_CameraRelativeShadowCulling: 0 diff --git a/UnityMultithreading/ProjectSettings/InputManager.asset b/UnityMultithreading/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..b16147e --- /dev/null +++ b/UnityMultithreading/ProjectSettings/InputManager.asset @@ -0,0 +1,487 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: joystick button 8 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: backspace + altNegativeButton: + altPositiveButton: joystick button 9 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Reset + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Next + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page down + altNegativeButton: + altPositiveButton: joystick button 5 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Previous + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page up + altNegativeButton: + altPositiveButton: joystick button 4 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Validate + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Persistent + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: right shift + altNegativeButton: + altPositiveButton: joystick button 2 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Multiplier + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: joystick button 3 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 6 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 5 + joyNum: 0 diff --git a/UnityMultithreading/ProjectSettings/MemorySettings.asset b/UnityMultithreading/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000..5b5face --- /dev/null +++ b/UnityMultithreading/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/UnityMultithreading/ProjectSettings/MultiplayerManager.asset b/UnityMultithreading/ProjectSettings/MultiplayerManager.asset new file mode 100644 index 0000000..2a93664 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/MultiplayerManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!655991488 &1 +MultiplayerManager: + m_ObjectHideFlags: 0 + m_EnableMultiplayerRoles: 0 + m_StrippingTypes: {} diff --git a/UnityMultithreading/ProjectSettings/NavMeshAreas.asset b/UnityMultithreading/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..3b0b7c3 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/UnityMultithreading/ProjectSettings/PackageManagerSettings.asset b/UnityMultithreading/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..be4a797 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/UnityMultithreading/ProjectSettings/Physics2DSettings.asset b/UnityMultithreading/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..6c5cf8a --- /dev/null +++ b/UnityMultithreading/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 0 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/UnityMultithreading/ProjectSettings/PresetManager.asset b/UnityMultithreading/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/UnityMultithreading/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/UnityMultithreading/ProjectSettings/ProjectSettings.asset b/UnityMultithreading/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..91ed0c2 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,930 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 28 + productGUID: 1d340f27ba89a4a938ecd7b9af4f9233 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: UnityMultithreading + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1024 + defaultScreenHeight: 768 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 1 + 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 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 0 + androidBlitType: 0 + androidResizeableActivity: 1 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + androidAutoRotationBehavior: 1 + androidPredictiveBackSupport: 1 + androidApplicationEntry: 2 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + dedicatedServerOptimizations: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 1 + meshDeformation: 2 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 1048576 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + switchMaxWorkerMultiple: 8 + switchNVNGraphicsFirmwareMemory: 32 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 1 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + loadStoreDebugModeEnabled: 0 + visionOSBundleVersion: 1.0 + tvOSBundleVersion: 1.0 + bundleVersion: 0.1.0 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 + allowHDRDisplaySupport: 0 + useHDRDisplay: 0 + hdrBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.4 + androidMinAspectRatio: 1 + applicationIdentifier: + Android: com.UnityTechnologies.com.unity.template.urpblank + Standalone: com.Unity-Technologies.com.unity.template.urp-blank + iPhone: com.Unity-Technologies.com.unity.template.urp-blank + buildNumber: + Standalone: 0 + VisionOS: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 1 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 23 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + androidSplitApplicationBinary: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 0 + strictShaderVariantMatching: 0 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSSimulatorArchitecture: 0 + iOSTargetOSVersionString: 13.0 + tvOSSdkVersion: 0 + tvOSSimulatorArchitecture: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 13.0 + VisionOSSdkVersion: 0 + VisionOSTargetOSVersionString: 1.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + macOSURLSchemes: [] + iOSBackgroundModes: 0 + 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 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: 3c72c65a16f0acb438eed22b8b16c24a + templatePackageId: com.unity.template.urp-blank@17.0.11 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 2 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidEnableArmv9SecurityFeatures: 0 + AndroidEnableArm64MTE: 0 + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + AndroidReportGooglePlayAppDependencies: 1 + androidSymbolsSizeThreshold: 800 + m_BuildTargetIcons: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: iPhone + m_Icons: + - m_Textures: [] + m_Width: 180 + m_Height: 180 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 167 + m_Height: 167 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 152 + m_Height: 152 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 76 + m_Height: 76 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 87 + m_Height: 87 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 60 + m_Height: 60 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 20 + m_Height: 20 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 1024 + m_Height: 1024 + m_Kind: 4 + m_SubKind: App Store + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + - m_BuildTarget: tvOS + m_Icons: + - m_Textures: [] + m_Width: 1280 + m_Height: 768 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 800 + m_Height: 480 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 400 + m_Height: 240 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 4640 + m_Height: 1440 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 2320 + m_Height: 720 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 3840 + m_Height: 1440 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 1920 + m_Height: 720 + m_Kind: 1 + m_SubKind: + m_BuildTargetBatching: [] + m_BuildTargetShaderSettings: [] + m_BuildTargetGraphicsJobs: [] + m_BuildTargetGraphicsJobMode: [] + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 0 + m_BuildTargetVRSettings: [] + m_DefaultShaderChunkSizeInMB: 16 + m_DefaultShaderChunkCount: 0 + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: + - serializedVersion: 2 + m_BuildTarget: Android + m_EncodingQuality: 1 + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] + m_BuildTargetNormalMapEncoding: + - m_BuildTarget: Android + m_Encoding: 1 + m_BuildTargetDefaultTextureCompressionFormat: + - serializedVersion: 3 + m_BuildTarget: Android + m_Formats: 03000000 + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + editorGfxJobOverride: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + macOSTargetOSVersion: 11.0 + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchEnableFileSystemTrace: 0 + switchLTOSetting: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchCompilerFlags: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchEnableTouchScreen: 1 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchDisableHTCSPlayerConnection: 0 + switchUseNewStyleFilepaths: 0 + switchUseLegacyFmodPriorities: 0 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + switchUpgradedPlayerSettingsToNMETA: 0 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 2 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 2 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 32 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 0 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 + webGLEnableWebGPU: 0 + webGLPowerPreference: 2 + webGLWebAssemblyTable: 0 + webGLWebAssemblyBigInt: 0 + webGLCloseOnQuit: 0 + webWasm2023: 0 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: + Android: 1 + il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} + il2cppStacktraceInformation: {} + managedStrippingLevel: {} + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: {} + editorAssembliesCompatibilityLevel: 1 + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: UnityMultithreading + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: UnityMultithreading + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + 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: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: {} + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 0 + hmiCpuConfiguration: + hmiLogStartupTiming: 0 + qnxGraphicConfPath: + apiCompatibilityLevel: 6 + captureStartupLogs: {} + activeInputHandler: 2 + windowsGamepadBackendHint: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 + virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 + androidVulkanDenyFilterList: [] + androidVulkanAllowFilterList: [] diff --git a/UnityMultithreading/ProjectSettings/ProjectVersion.txt b/UnityMultithreading/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..7b22109 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 6000.0.47f1 +m_EditorVersionWithRevision: 6000.0.47f1 (2ad1ed33fd3b) diff --git a/UnityMultithreading/ProjectSettings/QualitySettings.asset b/UnityMultithreading/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..f55198a --- /dev/null +++ b/UnityMultithreading/ProjectSettings/QualitySettings.asset @@ -0,0 +1,134 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 1 + m_QualitySettings: + - serializedVersion: 4 + name: Mobile + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 1 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 0 + realtimeGICPUUsage: 100 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 1 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 11400000, guid: 5e6cbd92db86f4b18aec3ed561671858, + type: 2} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: + - Standalone + - serializedVersion: 4 + name: PC + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 4 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 2 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 1 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 0 + realtimeGICPUUsage: 100 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 2 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, + type: 2} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: + - Android + - iPhone + m_TextureMipmapLimitGroupNames: [] + m_PerPlatformDefaultQuality: + Android: 0 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Lumin: 0 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + Server: 0 + Stadia: 0 + Standalone: 1 + WebGL: 0 + Windows Store Apps: 0 + XboxOne: 0 + iPhone: 0 + tvOS: 0 diff --git a/UnityMultithreading/ProjectSettings/SceneTemplateSettings.json b/UnityMultithreading/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 0000000..ede5887 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,121 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "defaultInstantiationMode": 0 + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "defaultInstantiationMode": 1 + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/UnityMultithreading/ProjectSettings/ShaderGraphSettings.asset b/UnityMultithreading/ProjectSettings/ShaderGraphSettings.asset new file mode 100644 index 0000000..e66042a --- /dev/null +++ b/UnityMultithreading/ProjectSettings/ShaderGraphSettings.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3} + m_Name: + m_EditorClassIdentifier: + shaderVariantLimit: 128 + customInterpolatorErrorThreshold: 32 + customInterpolatorWarningThreshold: 16 + customHeatmapValues: {fileID: 0} diff --git a/UnityMultithreading/ProjectSettings/TagManager.asset b/UnityMultithreading/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..6413d11 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/TagManager.asset @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 + m_RenderingLayers: + - Default + - Light Layer 1 + - Light Layer 2 + - Light Layer 3 + - Light Layer 4 + - Light Layer 5 + - Light Layer 6 + - Light Layer 7 + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - diff --git a/UnityMultithreading/ProjectSettings/TimeManager.asset b/UnityMultithreading/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..558a017 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/UnityMultithreading/ProjectSettings/URPProjectSettings.asset b/UnityMultithreading/ProjectSettings/URPProjectSettings.asset new file mode 100644 index 0000000..08faf03 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/URPProjectSettings.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LastMaterialVersion: 9 diff --git a/UnityMultithreading/ProjectSettings/UnityConnectSettings.asset b/UnityMultithreading/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..a88bee0 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/UnityMultithreading/ProjectSettings/VFXManager.asset b/UnityMultithreading/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..3a95c98 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/UnityMultithreading/ProjectSettings/VersionControlSettings.asset b/UnityMultithreading/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/UnityMultithreading/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/UnityMultithreading/ProjectSettings/XRSettings.asset b/UnityMultithreading/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/UnityMultithreading/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file