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 0000000..d504197
Binary files /dev/null and b/UnityMultithreading/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz differ
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