├── Img
├── 01.png
├── 02.png
├── 03.png
├── 04.png
├── 05.png
├── 06.png
├── 07.png
├── 08.png
└── 09.png
├── Assets
├── Plugins
│ ├── LitJson.dll
│ └── LitJson.dll.meta
├── StreamingAssets
│ ├── Logo.png
│ └── Logo.png.meta
├── Plugins.meta
├── Scenes.meta
├── Scenes
│ ├── SampleScene.unity.meta
│ └── SampleScene.unity
├── Scripts.meta
├── StreamingAssets.meta
└── Scripts
│ ├── SimpleHTTPServer.cs.meta
│ ├── TestController.cs.meta
│ ├── UnityHTTPServer.cs.meta
│ ├── TestController.cs
│ ├── UnityHTTPServer.cs
│ └── SimpleHTTPServer.cs
├── ProjectSettings
├── ProjectVersion.txt
├── ClusterInputManager.asset
├── PresetManager.asset
├── EditorBuildSettings.asset
├── XRSettings.asset
├── TimeManager.asset
├── VFXManager.asset
├── AudioManager.asset
├── TagManager.asset
├── UnityConnectSettings.asset
├── PackageManagerSettings.asset
├── EditorSettings.asset
├── DynamicsManager.asset
├── NavMeshAreas.asset
├── Physics2DSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── QualitySettings.asset
└── ProjectSettings.asset
├── .vscode
├── launch.json
└── settings.json
├── .gitignore
├── Packages
├── manifest.json
└── packages-lock.json
└── Readme.md
/Img/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/01.png
--------------------------------------------------------------------------------
/Img/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/02.png
--------------------------------------------------------------------------------
/Img/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/03.png
--------------------------------------------------------------------------------
/Img/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/04.png
--------------------------------------------------------------------------------
/Img/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/05.png
--------------------------------------------------------------------------------
/Img/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/06.png
--------------------------------------------------------------------------------
/Img/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/07.png
--------------------------------------------------------------------------------
/Img/08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/08.png
--------------------------------------------------------------------------------
/Img/09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Img/09.png
--------------------------------------------------------------------------------
/Assets/Plugins/LitJson.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Assets/Plugins/LitJson.dll
--------------------------------------------------------------------------------
/Assets/StreamingAssets/Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sableangle/UnityHTTPServer/HEAD/Assets/StreamingAssets/Logo.png
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2019.4.16f1
2 | m_EditorVersionWithRevision: 2019.4.16f1 (e05b6e02d63e)
3 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_DefaultPresets: {}
8 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 91cb1904252414bdb9ecd1bea92470e0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c2f54325eecce4119b17cbb97c59fe50
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9fc0d4010bbf28b4594072e72b8655ab
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 76755a3498a0c48cc9db4c4c5c524d21
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets/Logo.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bf1827c025dc049578ac70f4c964fb21
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5abb8f9c697e140ad805c6e9b6366c90
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes: []
8 | m_configObjects: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/Assets/Scripts/SimpleHTTPServer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f3e16979a87ee487b92c8a24c4bc8601
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/TestController.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4594d4880203c44339c94ef9f9598999
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/UnityHTTPServer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 21148b9b4837a4ec0921422df9eeb461
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_StripUpdateShader: {fileID: 0}
10 | m_RenderPipeSettingsPath:
11 | m_FixedTimeStep: 0.016666668
12 | m_MaxDeltaTime: 0.05
13 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 1024
20 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/Assets/Plugins/LitJson.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: befadaaa374cc4cab8c676002a209ff7
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | defineConstraints: []
9 | isPreloaded: 0
10 | isOverridable: 0
11 | isExplicitlyReferenced: 0
12 | validateReferences: 1
13 | platformData:
14 | - first:
15 | Any:
16 | second:
17 | enabled: 1
18 | settings: {}
19 | - first:
20 | Editor: Editor
21 | second:
22 | enabled: 0
23 | settings:
24 | DefaultValueInitialized: true
25 | - first:
26 | Windows Store Apps: WindowsStoreApps
27 | second:
28 | enabled: 0
29 | settings:
30 | CPU: AnyCPU
31 | userData:
32 | assetBundleName:
33 | assetBundleVariant:
34 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13960, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_ScopedRegistriesSettingsExpanded: 1
16 | oneTimeWarningShown: 0
17 | m_Registries:
18 | - m_Id: main
19 | m_Name:
20 | m_Url: https://packages.unity.com
21 | m_Scopes: []
22 | m_IsDefault: 1
23 | m_UserSelectedRegistryName:
24 | m_UserAddingNewScopedRegistry: 0
25 | m_RegistryInfoDraft:
26 | m_ErrorMessage:
27 | m_Original:
28 | m_Id:
29 | m_Name:
30 | m_Url:
31 | m_Scopes: []
32 | m_IsDefault: 0
33 | m_Modified: 0
34 | m_Name:
35 | m_Url:
36 | m_Scopes:
37 | -
38 | m_SelectedScopeIndex: 0
39 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 9
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 0
10 | m_DefaultBehaviorMode: 0
11 | m_PrefabRegularEnvironment: {fileID: 0}
12 | m_PrefabUIEnvironment: {fileID: 0}
13 | m_SpritePackerMode: 0
14 | m_SpritePackerPaddingPower: 1
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
20 | m_ProjectGenerationRootNamespace:
21 | m_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_ShowLightmapResolutionOverlay: 1
29 | m_UseLegacyProbeSampleCount: 0
30 | m_AssetPipelineMode: 1
31 | m_CacheServerMode: 0
32 | m_CacheServerEndpoint:
33 | m_CacheServerNamespacePrefix: default
34 | m_CacheServerEnableDownload: 1
35 | m_CacheServerEnableUpload: 1
36 |
--------------------------------------------------------------------------------
/Assets/Scripts/TestController.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | public class TestController : MonoBehaviour
6 | {
7 | public void SimpleMethod()
8 | {
9 | Debug.Log("Cool, fire via http connect");
10 | }
11 |
12 | public string[] SimpleStringMethod()
13 | {
14 | return new string[]{
15 | "result","result2"
16 | };
17 | }
18 | public int[] SimpleIntMethod()
19 | {
20 | return new int[]{
21 | 1,2
22 | };
23 | }
24 |
25 | public ReturnResult CustomObjectReturnMethod()
26 | {
27 | ReturnResult result = new ReturnResult
28 | {
29 | code = 1,
30 | msg = "testing"
31 | };
32 | return result;
33 | }
34 | public ReturnResult CustomObjectReturnMethodWithQuery(int code, string msg)
35 | {
36 | ReturnResult result = new ReturnResult
37 | {
38 | code = code,
39 | msg = msg
40 | };
41 | return result;
42 | }
43 |
44 | //Mark as Serializable to make Unity's JsonUtility works.
45 | [System.Serializable]
46 | public class ReturnResult
47 | {
48 | public string msg;
49 | public int code;
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 11
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ContactPairsMode: 0
26 | m_BroadphaseType: 0
27 | m_WorldBounds:
28 | m_Center: {x: 0, y: 0, z: 0}
29 | m_Extent: {x: 250, y: 250, z: 250}
30 | m_WorldSubdivisions: 8
31 | m_FrictionType: 0
32 | m_EnableEnhancedDeterminism: 0
33 | m_EnableUnifiedHeightmaps: 1
34 | m_DefaultMaxAngluarSpeed: 7
35 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // 使用 IntelliSense 以得知可用的屬性。
3 | // 暫留以檢視現有屬性的描述。
4 | // 如需詳細資訊,請瀏覽: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "name": "Unity Editor",
9 | "type": "unity",
10 | "path": "/Users/miki/Documents/UnityHttp/Library/EditorInstance.json",
11 | "request": "launch"
12 | },
13 | {
14 | "name": "Windows Player",
15 | "type": "unity",
16 | "request": "launch"
17 | },
18 | {
19 | "name": "OSX Player",
20 | "type": "unity",
21 | "request": "launch"
22 | },
23 | {
24 | "name": "Linux Player",
25 | "type": "unity",
26 | "request": "launch"
27 | },
28 | {
29 | "name": "iOS Player",
30 | "type": "unity",
31 | "request": "launch"
32 | },
33 | {
34 | "name": "Android Player",
35 | "type": "unity",
36 | "request": "launch"
37 | },
38 | {
39 | "name": "Xbox One Player",
40 | "type": "unity",
41 | "request": "launch"
42 | },
43 | {
44 | "name": "PS4 Player",
45 | "type": "unity",
46 | "request": "launch"
47 | },
48 | {
49 | "name": "SwitchPlayer",
50 | "type": "unity",
51 | "request": "launch"
52 | }
53 | ]
54 | }
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.exclude":
3 | {
4 | "**/.DS_Store":true,
5 | "**/.git":true,
6 | "**/.gitignore":true,
7 | "**/.gitmodules":true,
8 | "**/*.booproj":true,
9 | "**/*.pidb":true,
10 | "**/*.suo":true,
11 | "**/*.user":true,
12 | "**/*.userprefs":true,
13 | "**/*.unityproj":true,
14 | "**/*.dll":true,
15 | "**/*.exe":true,
16 | "**/*.pdf":true,
17 | "**/*.mid":true,
18 | "**/*.midi":true,
19 | "**/*.wav":true,
20 | "**/*.gif":true,
21 | "**/*.ico":true,
22 | "**/*.jpg":true,
23 | "**/*.jpeg":true,
24 | "**/*.png":true,
25 | "**/*.psd":true,
26 | "**/*.tga":true,
27 | "**/*.tif":true,
28 | "**/*.tiff":true,
29 | "**/*.3ds":true,
30 | "**/*.3DS":true,
31 | "**/*.fbx":true,
32 | "**/*.FBX":true,
33 | "**/*.lxo":true,
34 | "**/*.LXO":true,
35 | "**/*.ma":true,
36 | "**/*.MA":true,
37 | "**/*.obj":true,
38 | "**/*.OBJ":true,
39 | "**/*.asset":true,
40 | "**/*.cubemap":true,
41 | "**/*.flare":true,
42 | "**/*.mat":true,
43 | "**/*.meta":true,
44 | "**/*.prefab":true,
45 | "**/*.unity":true,
46 | "build/":true,
47 | "Build/":true,
48 | "Library/":true,
49 | "library/":true,
50 | "obj/":true,
51 | "Obj/":true,
52 | "ProjectSettings/":true,
53 | "temp/":true,
54 | "Temp/":true
55 | }
56 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Uu]ser[Ss]ettings/
12 |
13 | # MemoryCaptures can get excessive in size.
14 | # They also could contain extremely sensitive data
15 | /[Mm]emoryCaptures/
16 |
17 | # Asset meta data should only be ignored when the corresponding asset is also ignored
18 | !/[Aa]ssets/**/*.meta
19 |
20 | # Uncomment this line if you wish to ignore the asset store tools plugin
21 | # /[Aa]ssets/AssetStoreTools*
22 |
23 | # Autogenerated Jetbrains Rider plugin
24 | /[Aa]ssets/Plugins/Editor/JetBrains*
25 |
26 | # Visual Studio cache directory
27 | .vs/
28 |
29 | # Gradle cache directory
30 | .gradle/
31 |
32 | # Autogenerated VS/MD/Consulo solution and project files
33 | ExportedObj/
34 | .consulo/
35 | *.csproj
36 | *.unityproj
37 | *.sln
38 | *.suo
39 | *.tmp
40 | *.user
41 | *.userprefs
42 | *.pidb
43 | *.booproj
44 | *.svd
45 | *.pdb
46 | *.mdb
47 | *.opendb
48 | *.VC.db
49 |
50 | # Unity3D generated meta files
51 | *.pidb.meta
52 | *.pdb.meta
53 | *.mdb.meta
54 |
55 | # Unity3D generated file on crash reports
56 | sysinfo.txt
57 |
58 | # Builds
59 | *.apk
60 | *.aab
61 | *.unitypackage
62 |
63 | # Crashlytics generated file
64 | crashlytics-build.properties
65 |
66 | # Packed Addressables
67 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
68 |
69 | # Temporary auto-generated Android Assets
70 | /[Aa]ssets/[Ss]treamingAssets/aa.meta
71 | /[Aa]ssets/[Ss]treamingAssets/aa/*
72 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.collab-proxy": "1.2.16",
4 | "com.unity.ide.rider": "1.2.1",
5 | "com.unity.ide.visualstudio": "2.0.8",
6 | "com.unity.ide.vscode": "1.2.4",
7 | "com.unity.test-framework": "1.1.24",
8 | "com.unity.textmeshpro": "2.1.4",
9 | "com.unity.timeline": "1.2.18",
10 | "com.unity.ugui": "1.0.0",
11 | "com.unity.modules.ai": "1.0.0",
12 | "com.unity.modules.androidjni": "1.0.0",
13 | "com.unity.modules.animation": "1.0.0",
14 | "com.unity.modules.assetbundle": "1.0.0",
15 | "com.unity.modules.audio": "1.0.0",
16 | "com.unity.modules.cloth": "1.0.0",
17 | "com.unity.modules.director": "1.0.0",
18 | "com.unity.modules.imageconversion": "1.0.0",
19 | "com.unity.modules.imgui": "1.0.0",
20 | "com.unity.modules.jsonserialize": "1.0.0",
21 | "com.unity.modules.particlesystem": "1.0.0",
22 | "com.unity.modules.physics": "1.0.0",
23 | "com.unity.modules.physics2d": "1.0.0",
24 | "com.unity.modules.screencapture": "1.0.0",
25 | "com.unity.modules.terrain": "1.0.0",
26 | "com.unity.modules.terrainphysics": "1.0.0",
27 | "com.unity.modules.tilemap": "1.0.0",
28 | "com.unity.modules.ui": "1.0.0",
29 | "com.unity.modules.uielements": "1.0.0",
30 | "com.unity.modules.umbra": "1.0.0",
31 | "com.unity.modules.unityanalytics": "1.0.0",
32 | "com.unity.modules.unitywebrequest": "1.0.0",
33 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
34 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
35 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
36 | "com.unity.modules.unitywebrequestwww": "1.0.0",
37 | "com.unity.modules.vehicles": "1.0.0",
38 | "com.unity.modules.video": "1.0.0",
39 | "com.unity.modules.vr": "1.0.0",
40 | "com.unity.modules.wind": "1.0.0",
41 | "com.unity.modules.xr": "1.0.0"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 1
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 13
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | m_PreloadedShaders: []
39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
40 | type: 0}
41 | m_CustomRenderPipeline: {fileID: 0}
42 | m_TransparencySortMode: 0
43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
44 | m_DefaultRenderingPath: 1
45 | m_DefaultMobileRenderingPath: 1
46 | m_TierSettings: []
47 | m_LightmapStripping: 0
48 | m_FogStripping: 0
49 | m_InstancingStripping: 0
50 | m_LightmapKeepPlain: 1
51 | m_LightmapKeepDirCombined: 1
52 | m_LightmapKeepDynamicPlain: 1
53 | m_LightmapKeepDynamicDirCombined: 1
54 | m_LightmapKeepShadowMask: 1
55 | m_LightmapKeepSubtractive: 1
56 | m_FogKeepLinear: 1
57 | m_FogKeepExp: 1
58 | m_FogKeepExp2: 1
59 | m_AlbedoSwatchInfos: []
60 | m_LightsUseLinearIntensity: 0
61 | m_LightsUseColorTemperature: 0
62 | m_LogWhenShaderIsCompiled: 0
63 | m_AllowEnlightenSupportForUpgradedProject: 0
64 |
--------------------------------------------------------------------------------
/Assets/Scripts/UnityHTTPServer.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Net.Sockets;
8 | using System.Net;
9 | using System.IO;
10 | using System.Threading;
11 | using System.Diagnostics;
12 | using System.Reflection;
13 |
14 |
15 | public class UnityHTTPServer : MonoBehaviour
16 | {
17 | [SerializeField]
18 | public int port;
19 | [SerializeField]
20 | public string SaveFolder;
21 | [SerializeField]
22 | public bool UseStreamingAssetsPath = false;
23 | [SerializeField]
24 | public int bufferSize = 16;
25 | public static UnityHTTPServer Instance;
26 |
27 | public MonoBehaviour controller;
28 | SimpleHTTPServer myServer;
29 | void Awake()
30 | {
31 | Instance = this;
32 | DontDestroyOnLoad(gameObject);
33 | if (myServer == null)
34 | {
35 | Init();
36 | }
37 | }
38 | void Init()
39 | {
40 | StartServer();
41 | }
42 |
43 | public void StartServer()
44 | {
45 | myServer = new SimpleHTTPServer(GetSaveFolderPath, port, controller, bufferSize);
46 | myServer.OnJsonSerialized += (result) =>
47 | {
48 | #if UseLitJson
49 | return LitJson.JsonMapper.ToJson(result);
50 | #else
51 | return JsonUtility.ToJson(result);
52 | #endif
53 | };
54 | }
55 | string GetSaveFolderPath
56 | {
57 | get
58 | {
59 | if (UseStreamingAssetsPath)
60 | {
61 | return Application.streamingAssetsPath;
62 | }
63 | return SaveFolder;
64 | }
65 | }
66 | public static string GetHttpUrl()
67 | {
68 | return $"http://{GetLocalIPAddress()}:" + Instance.myServer.Port + "/";
69 | }
70 |
71 | ///
37 |
38 | ### Manual usage (Advanced)
39 | ```csharp
40 | // Create the Http server instance.
41 | // Server will automatically start once it created.
42 | // replace {} part with your parameters
43 | myServer = new SimpleHTTPServer({your path}, {your port}, {your controller}, {your bufferSize});
44 |
45 | // Stop the server, remember to call the Stop() method while the application is close.
46 | myServer.Stop();
47 | ```
48 |
49 | ## Serve Files
50 | ------
51 | Just simply make sure your files is under the Save Folder.
52 | Then enter PlayMode in Editor.
53 |
54 | Example: (Use StreamingAssetsPath is on)
55 |
56 |
57 |
58 | Result:
59 |
60 |
61 |
62 | ## WebAPI method
63 | ------
64 | When use UnityHTTPServer Component, create a MonoBehaviour and make sure the MonoBehaviour has an instance in scene, it is recommend to attach the MonoBehaviour on same GameObject with UnityHTTPServer.
65 |
66 | Then make the MonoBehaviour to the reference on UnityHTTPServer's Controller field.
67 |
68 | On the screenshot we use TestController.cs as an example.
69 |
70 |
71 | ### Json Serialize
72 | Usually a web api will return a json string as the result, you need to implement the Json Serialize function yourself.
73 |
74 | The simplest way is using Unity's JsonUtility (with some limitation).
75 | Here is the example:
76 | ```csharp
77 | // Create a http server instance.
78 | myServer = new SimpleHTTPServer(GetSaveFolderPath, port, controller, bufferSize);
79 |
80 | // Regist the OnJsonSerialized delegate to your json implemention.
81 | // Here, we use the Unity's JsonUtility.
82 | myServer.OnJsonSerialized += (result) =>
83 | {
84 | return JsonUtility.ToJson(result);
85 | };
86 | ```
87 |
88 | ### Void Method
89 | ------
90 | You can invoke a void method in target MonoBehaviour via add your method name on url.
91 |
92 | Example: (In TestController.cs)
93 |
94 | ```csharp
95 | // Url: http://127.0.0.1:{port}/SimpleMethod
96 | // change {port} to the port set on your UnityHttpController component
97 |
98 | public void SimpleMethod()
99 | {
100 | Debug.Log("Cool, fire via http connect");
101 | }
102 | ```
103 | Result:
104 |
105 |
106 |
107 | ### Custom Object
108 | ------
109 |
110 | In theory, you can return any object which supported by json serialize.
111 | Example: (In TestController.cs)
112 |
113 | ```csharp
114 | // Url: http://127.0.0.1:{port}/CustomObjectReturnMethod
115 | // change {port} to the port set on your UnityHttpController component
116 | public ReturnResult CustomObjectReturnMethod()
117 | {
118 | ReturnResult result = new ReturnResult
119 | {
120 | code = 1,
121 | msg = "testing"
122 | };
123 | return result;
124 | }
125 |
126 | //Mark as Serializable to make Unity's JsonUtility works.
127 | [System.Serializable]
128 | public class ReturnResult
129 | {
130 | public string msg;
131 | public int code;
132 | }
133 | ```
134 | Result:
135 |
136 |
137 |
138 | ### Query parameter
139 | ------
140 | You can also add query parmeter in your Url
141 |
142 | Example: (In TestController.cs)
143 |
144 | ```csharp
145 | // Url: http://127.0.0.1:{port}/CustomObjectReturnMethodWithQuery?code=1111&msg=wow_it_is_so_cool
146 | // change {port} to the port set on your UnityHttpController component
147 | public ReturnResult CustomObjectReturnMethodWithQuery(int code, string msg)
148 | {
149 | ReturnResult result = new ReturnResult
150 | {
151 | code = code,
152 | msg = msg
153 | };
154 | return result;
155 | }
156 |
157 | //Mark as Serializable to make Unity's JsonUtility works.
158 | [System.Serializable]
159 | public class ReturnResult
160 | {
161 | public string msg;
162 | public int code;
163 | }
164 | ```
165 | Result:
166 |
167 |
168 |
169 | ### Array Return
170 | ------
171 | You can invoke a method which return an array result.
172 |
173 | Note: The supportion of array is based on your Json Library, in case I use the LitJson library, the array return supportion will break while using Unity's JsonUtility
174 |
175 | ```csharp
176 | // A example while using LitJson as the Json Library
177 | myServer.OnJsonSerialized += (result) =>
178 | {
179 | return LitJson.JsonMapper.ToJson(result);
180 | };
181 | ```
182 |
183 | Example: (In TestController.cs)
184 |
185 | ```csharp
186 | // Url: http://127.0.0.1:{port}/SimpleStringMethod
187 | // change {port} to the port set on your UnityHttpController component
188 | public string[] SimpleStringMethod()
189 | {
190 | return new string[]{
191 | "result","result2"
192 | };
193 | }
194 |
195 | // Url: http://127.0.0.1:{port}/SimpleIntMethod
196 | // change {port} to the port set on your UnityHttpController component
197 | public int[] SimpleIntMethod()
198 | {
199 | return new int[]{
200 | 1,2
201 | };
202 | }
203 | ```
204 | Result:
205 |
206 | SimpleStringMethod
207 |
208 |
209 |
210 | SimpleIntMethod
211 |
212 |
213 |
214 | ## Troubleshooting
215 |
216 | ## TODO
217 | ------
218 | - Multi controller support
219 | - Correct error handle (eg. return 500 http code)
220 | - Other Http method support? (eg. POST, HEAD)
221 | - Https?
222 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 5
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | excludedTargetPlatforms: []
44 | - serializedVersion: 2
45 | name: Low
46 | pixelLightCount: 0
47 | shadows: 0
48 | shadowResolution: 0
49 | shadowProjection: 1
50 | shadowCascades: 1
51 | shadowDistance: 20
52 | shadowNearPlaneOffset: 3
53 | shadowCascade2Split: 0.33333334
54 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
55 | shadowmaskMode: 0
56 | blendWeights: 2
57 | textureQuality: 0
58 | anisotropicTextures: 0
59 | antiAliasing: 0
60 | softParticles: 0
61 | softVegetation: 0
62 | realtimeReflectionProbes: 0
63 | billboardsFaceCameraPosition: 0
64 | vSyncCount: 0
65 | lodBias: 0.4
66 | maximumLODLevel: 0
67 | streamingMipmapsActive: 0
68 | streamingMipmapsAddAllCameras: 1
69 | streamingMipmapsMemoryBudget: 512
70 | streamingMipmapsRenderersPerFrame: 512
71 | streamingMipmapsMaxLevelReduction: 2
72 | streamingMipmapsMaxFileIORequests: 1024
73 | particleRaycastBudget: 16
74 | asyncUploadTimeSlice: 2
75 | asyncUploadBufferSize: 16
76 | asyncUploadPersistentBuffer: 1
77 | resolutionScalingFixedDPIFactor: 1
78 | excludedTargetPlatforms: []
79 | - serializedVersion: 2
80 | name: Medium
81 | pixelLightCount: 1
82 | shadows: 1
83 | shadowResolution: 0
84 | shadowProjection: 1
85 | shadowCascades: 1
86 | shadowDistance: 20
87 | shadowNearPlaneOffset: 3
88 | shadowCascade2Split: 0.33333334
89 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
90 | shadowmaskMode: 0
91 | blendWeights: 2
92 | textureQuality: 0
93 | anisotropicTextures: 1
94 | antiAliasing: 0
95 | softParticles: 0
96 | softVegetation: 0
97 | realtimeReflectionProbes: 0
98 | billboardsFaceCameraPosition: 0
99 | vSyncCount: 1
100 | lodBias: 0.7
101 | maximumLODLevel: 0
102 | streamingMipmapsActive: 0
103 | streamingMipmapsAddAllCameras: 1
104 | streamingMipmapsMemoryBudget: 512
105 | streamingMipmapsRenderersPerFrame: 512
106 | streamingMipmapsMaxLevelReduction: 2
107 | streamingMipmapsMaxFileIORequests: 1024
108 | particleRaycastBudget: 64
109 | asyncUploadTimeSlice: 2
110 | asyncUploadBufferSize: 16
111 | asyncUploadPersistentBuffer: 1
112 | resolutionScalingFixedDPIFactor: 1
113 | excludedTargetPlatforms: []
114 | - serializedVersion: 2
115 | name: High
116 | pixelLightCount: 2
117 | shadows: 2
118 | shadowResolution: 1
119 | shadowProjection: 1
120 | shadowCascades: 2
121 | shadowDistance: 40
122 | shadowNearPlaneOffset: 3
123 | shadowCascade2Split: 0.33333334
124 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
125 | shadowmaskMode: 1
126 | blendWeights: 2
127 | textureQuality: 0
128 | anisotropicTextures: 1
129 | antiAliasing: 0
130 | softParticles: 0
131 | softVegetation: 1
132 | realtimeReflectionProbes: 1
133 | billboardsFaceCameraPosition: 1
134 | vSyncCount: 1
135 | lodBias: 1
136 | maximumLODLevel: 0
137 | streamingMipmapsActive: 0
138 | streamingMipmapsAddAllCameras: 1
139 | streamingMipmapsMemoryBudget: 512
140 | streamingMipmapsRenderersPerFrame: 512
141 | streamingMipmapsMaxLevelReduction: 2
142 | streamingMipmapsMaxFileIORequests: 1024
143 | particleRaycastBudget: 256
144 | asyncUploadTimeSlice: 2
145 | asyncUploadBufferSize: 16
146 | asyncUploadPersistentBuffer: 1
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Very High
151 | pixelLightCount: 3
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 2
156 | shadowDistance: 70
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 2
164 | antiAliasing: 2
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 1.5
171 | maximumLODLevel: 0
172 | streamingMipmapsActive: 0
173 | streamingMipmapsAddAllCameras: 1
174 | streamingMipmapsMemoryBudget: 512
175 | streamingMipmapsRenderersPerFrame: 512
176 | streamingMipmapsMaxLevelReduction: 2
177 | streamingMipmapsMaxFileIORequests: 1024
178 | particleRaycastBudget: 1024
179 | asyncUploadTimeSlice: 2
180 | asyncUploadBufferSize: 16
181 | asyncUploadPersistentBuffer: 1
182 | resolutionScalingFixedDPIFactor: 1
183 | excludedTargetPlatforms: []
184 | - serializedVersion: 2
185 | name: Ultra
186 | pixelLightCount: 4
187 | shadows: 2
188 | shadowResolution: 2
189 | shadowProjection: 1
190 | shadowCascades: 4
191 | shadowDistance: 150
192 | shadowNearPlaneOffset: 3
193 | shadowCascade2Split: 0.33333334
194 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
195 | shadowmaskMode: 1
196 | blendWeights: 4
197 | textureQuality: 0
198 | anisotropicTextures: 2
199 | antiAliasing: 2
200 | softParticles: 1
201 | softVegetation: 1
202 | realtimeReflectionProbes: 1
203 | billboardsFaceCameraPosition: 1
204 | vSyncCount: 1
205 | lodBias: 2
206 | maximumLODLevel: 0
207 | streamingMipmapsActive: 0
208 | streamingMipmapsAddAllCameras: 1
209 | streamingMipmapsMemoryBudget: 512
210 | streamingMipmapsRenderersPerFrame: 512
211 | streamingMipmapsMaxLevelReduction: 2
212 | streamingMipmapsMaxFileIORequests: 1024
213 | particleRaycastBudget: 4096
214 | asyncUploadTimeSlice: 2
215 | asyncUploadBufferSize: 16
216 | asyncUploadPersistentBuffer: 1
217 | resolutionScalingFixedDPIFactor: 1
218 | excludedTargetPlatforms: []
219 | m_PerPlatformDefaultQuality:
220 | Android: 2
221 | Lumin: 5
222 | Nintendo 3DS: 5
223 | Nintendo Switch: 5
224 | PS4: 5
225 | PSP2: 2
226 | Stadia: 5
227 | Standalone: 5
228 | WebGL: 3
229 | Windows Store Apps: 5
230 | XboxOne: 5
231 | iPhone: 2
232 | tvOS: 2
233 |
--------------------------------------------------------------------------------
/Packages/packages-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.collab-proxy": {
4 | "version": "1.2.16",
5 | "depth": 0,
6 | "source": "registry",
7 | "dependencies": {},
8 | "url": "https://packages.unity.com"
9 | },
10 | "com.unity.ext.nunit": {
11 | "version": "1.0.5",
12 | "depth": 1,
13 | "source": "registry",
14 | "dependencies": {},
15 | "url": "https://packages.unity.com"
16 | },
17 | "com.unity.ide.rider": {
18 | "version": "1.1.4",
19 | "depth": 0,
20 | "source": "registry",
21 | "dependencies": {
22 | "com.unity.test-framework": "1.1.1"
23 | },
24 | "url": "https://packages.unity.com"
25 | },
26 | "com.unity.ide.vscode": {
27 | "version": "1.2.3",
28 | "depth": 0,
29 | "source": "registry",
30 | "dependencies": {},
31 | "url": "https://packages.unity.com"
32 | },
33 | "com.unity.test-framework": {
34 | "version": "1.1.19",
35 | "depth": 0,
36 | "source": "registry",
37 | "dependencies": {
38 | "com.unity.ext.nunit": "1.0.5",
39 | "com.unity.modules.imgui": "1.0.0",
40 | "com.unity.modules.jsonserialize": "1.0.0"
41 | },
42 | "url": "https://packages.unity.com"
43 | },
44 | "com.unity.textmeshpro": {
45 | "version": "2.1.1",
46 | "depth": 0,
47 | "source": "registry",
48 | "dependencies": {
49 | "com.unity.ugui": "1.0.0"
50 | },
51 | "url": "https://packages.unity.com"
52 | },
53 | "com.unity.timeline": {
54 | "version": "1.2.17",
55 | "depth": 0,
56 | "source": "registry",
57 | "dependencies": {},
58 | "url": "https://packages.unity.com"
59 | },
60 | "com.unity.ugui": {
61 | "version": "1.0.0",
62 | "depth": 0,
63 | "source": "builtin",
64 | "dependencies": {
65 | "com.unity.modules.ui": "1.0.0",
66 | "com.unity.modules.imgui": "1.0.0"
67 | }
68 | },
69 | "com.unity.modules.ai": {
70 | "version": "1.0.0",
71 | "depth": 0,
72 | "source": "builtin",
73 | "dependencies": {}
74 | },
75 | "com.unity.modules.androidjni": {
76 | "version": "1.0.0",
77 | "depth": 0,
78 | "source": "builtin",
79 | "dependencies": {}
80 | },
81 | "com.unity.modules.animation": {
82 | "version": "1.0.0",
83 | "depth": 0,
84 | "source": "builtin",
85 | "dependencies": {}
86 | },
87 | "com.unity.modules.assetbundle": {
88 | "version": "1.0.0",
89 | "depth": 0,
90 | "source": "builtin",
91 | "dependencies": {}
92 | },
93 | "com.unity.modules.audio": {
94 | "version": "1.0.0",
95 | "depth": 0,
96 | "source": "builtin",
97 | "dependencies": {}
98 | },
99 | "com.unity.modules.cloth": {
100 | "version": "1.0.0",
101 | "depth": 0,
102 | "source": "builtin",
103 | "dependencies": {
104 | "com.unity.modules.physics": "1.0.0"
105 | }
106 | },
107 | "com.unity.modules.director": {
108 | "version": "1.0.0",
109 | "depth": 0,
110 | "source": "builtin",
111 | "dependencies": {
112 | "com.unity.modules.audio": "1.0.0",
113 | "com.unity.modules.animation": "1.0.0"
114 | }
115 | },
116 | "com.unity.modules.imageconversion": {
117 | "version": "1.0.0",
118 | "depth": 0,
119 | "source": "builtin",
120 | "dependencies": {}
121 | },
122 | "com.unity.modules.imgui": {
123 | "version": "1.0.0",
124 | "depth": 0,
125 | "source": "builtin",
126 | "dependencies": {}
127 | },
128 | "com.unity.modules.jsonserialize": {
129 | "version": "1.0.0",
130 | "depth": 0,
131 | "source": "builtin",
132 | "dependencies": {}
133 | },
134 | "com.unity.modules.particlesystem": {
135 | "version": "1.0.0",
136 | "depth": 0,
137 | "source": "builtin",
138 | "dependencies": {}
139 | },
140 | "com.unity.modules.physics": {
141 | "version": "1.0.0",
142 | "depth": 0,
143 | "source": "builtin",
144 | "dependencies": {}
145 | },
146 | "com.unity.modules.physics2d": {
147 | "version": "1.0.0",
148 | "depth": 0,
149 | "source": "builtin",
150 | "dependencies": {}
151 | },
152 | "com.unity.modules.screencapture": {
153 | "version": "1.0.0",
154 | "depth": 0,
155 | "source": "builtin",
156 | "dependencies": {
157 | "com.unity.modules.imageconversion": "1.0.0"
158 | }
159 | },
160 | "com.unity.modules.subsystems": {
161 | "version": "1.0.0",
162 | "depth": 1,
163 | "source": "builtin",
164 | "dependencies": {
165 | "com.unity.modules.jsonserialize": "1.0.0"
166 | }
167 | },
168 | "com.unity.modules.terrain": {
169 | "version": "1.0.0",
170 | "depth": 0,
171 | "source": "builtin",
172 | "dependencies": {}
173 | },
174 | "com.unity.modules.terrainphysics": {
175 | "version": "1.0.0",
176 | "depth": 0,
177 | "source": "builtin",
178 | "dependencies": {
179 | "com.unity.modules.physics": "1.0.0",
180 | "com.unity.modules.terrain": "1.0.0"
181 | }
182 | },
183 | "com.unity.modules.tilemap": {
184 | "version": "1.0.0",
185 | "depth": 0,
186 | "source": "builtin",
187 | "dependencies": {
188 | "com.unity.modules.physics2d": "1.0.0"
189 | }
190 | },
191 | "com.unity.modules.ui": {
192 | "version": "1.0.0",
193 | "depth": 0,
194 | "source": "builtin",
195 | "dependencies": {}
196 | },
197 | "com.unity.modules.uielements": {
198 | "version": "1.0.0",
199 | "depth": 0,
200 | "source": "builtin",
201 | "dependencies": {
202 | "com.unity.modules.imgui": "1.0.0",
203 | "com.unity.modules.jsonserialize": "1.0.0"
204 | }
205 | },
206 | "com.unity.modules.umbra": {
207 | "version": "1.0.0",
208 | "depth": 0,
209 | "source": "builtin",
210 | "dependencies": {}
211 | },
212 | "com.unity.modules.unityanalytics": {
213 | "version": "1.0.0",
214 | "depth": 0,
215 | "source": "builtin",
216 | "dependencies": {
217 | "com.unity.modules.unitywebrequest": "1.0.0",
218 | "com.unity.modules.jsonserialize": "1.0.0"
219 | }
220 | },
221 | "com.unity.modules.unitywebrequest": {
222 | "version": "1.0.0",
223 | "depth": 0,
224 | "source": "builtin",
225 | "dependencies": {}
226 | },
227 | "com.unity.modules.unitywebrequestassetbundle": {
228 | "version": "1.0.0",
229 | "depth": 0,
230 | "source": "builtin",
231 | "dependencies": {
232 | "com.unity.modules.assetbundle": "1.0.0",
233 | "com.unity.modules.unitywebrequest": "1.0.0"
234 | }
235 | },
236 | "com.unity.modules.unitywebrequestaudio": {
237 | "version": "1.0.0",
238 | "depth": 0,
239 | "source": "builtin",
240 | "dependencies": {
241 | "com.unity.modules.unitywebrequest": "1.0.0",
242 | "com.unity.modules.audio": "1.0.0"
243 | }
244 | },
245 | "com.unity.modules.unitywebrequesttexture": {
246 | "version": "1.0.0",
247 | "depth": 0,
248 | "source": "builtin",
249 | "dependencies": {
250 | "com.unity.modules.unitywebrequest": "1.0.0",
251 | "com.unity.modules.imageconversion": "1.0.0"
252 | }
253 | },
254 | "com.unity.modules.unitywebrequestwww": {
255 | "version": "1.0.0",
256 | "depth": 0,
257 | "source": "builtin",
258 | "dependencies": {
259 | "com.unity.modules.unitywebrequest": "1.0.0",
260 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
261 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
262 | "com.unity.modules.audio": "1.0.0",
263 | "com.unity.modules.assetbundle": "1.0.0",
264 | "com.unity.modules.imageconversion": "1.0.0"
265 | }
266 | },
267 | "com.unity.modules.vehicles": {
268 | "version": "1.0.0",
269 | "depth": 0,
270 | "source": "builtin",
271 | "dependencies": {
272 | "com.unity.modules.physics": "1.0.0"
273 | }
274 | },
275 | "com.unity.modules.video": {
276 | "version": "1.0.0",
277 | "depth": 0,
278 | "source": "builtin",
279 | "dependencies": {
280 | "com.unity.modules.audio": "1.0.0",
281 | "com.unity.modules.ui": "1.0.0",
282 | "com.unity.modules.unitywebrequest": "1.0.0"
283 | }
284 | },
285 | "com.unity.modules.vr": {
286 | "version": "1.0.0",
287 | "depth": 0,
288 | "source": "builtin",
289 | "dependencies": {
290 | "com.unity.modules.jsonserialize": "1.0.0",
291 | "com.unity.modules.physics": "1.0.0",
292 | "com.unity.modules.xr": "1.0.0"
293 | }
294 | },
295 | "com.unity.modules.wind": {
296 | "version": "1.0.0",
297 | "depth": 0,
298 | "source": "builtin",
299 | "dependencies": {}
300 | },
301 | "com.unity.modules.xr": {
302 | "version": "1.0.0",
303 | "depth": 0,
304 | "source": "builtin",
305 | "dependencies": {
306 | "com.unity.modules.physics": "1.0.0",
307 | "com.unity.modules.jsonserialize": "1.0.0",
308 | "com.unity.modules.subsystems": "1.0.0"
309 | }
310 | }
311 | }
312 | }
313 |
--------------------------------------------------------------------------------
/Assets/Scenes/SampleScene.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 705507994}
41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 11
47 | m_GIWorkflowMode: 1
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 12
58 | m_Resolution: 2
59 | m_BakeResolution: 40
60 | m_AtlasSize: 1024
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_ExtractAmbientOcclusion: 0
66 | m_Padding: 2
67 | m_LightmapParameters: {fileID: 0}
68 | m_LightmapsBakeMode: 1
69 | m_TextureCompression: 1
70 | m_FinalGather: 0
71 | m_FinalGatherFiltering: 1
72 | m_FinalGatherRayCount: 256
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 2
75 | m_BakeBackend: 1
76 | m_PVRSampling: 1
77 | m_PVRDirectSampleCount: 32
78 | m_PVRSampleCount: 500
79 | m_PVRBounces: 2
80 | m_PVREnvironmentSampleCount: 500
81 | m_PVREnvironmentReferencePointCount: 2048
82 | m_PVRFilteringMode: 2
83 | m_PVRDenoiserTypeDirect: 0
84 | m_PVRDenoiserTypeIndirect: 0
85 | m_PVRDenoiserTypeAO: 0
86 | m_PVRFilterTypeDirect: 0
87 | m_PVRFilterTypeIndirect: 0
88 | m_PVRFilterTypeAO: 0
89 | m_PVREnvironmentMIS: 0
90 | m_PVRCulling: 1
91 | m_PVRFilteringGaussRadiusDirect: 1
92 | m_PVRFilteringGaussRadiusIndirect: 5
93 | m_PVRFilteringGaussRadiusAO: 2
94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
96 | m_PVRFilteringAtrousPositionSigmaAO: 1
97 | m_ExportTrainingData: 0
98 | m_TrainingDataDestination: TrainingData
99 | m_LightProbeSampleCountMultiplier: 4
100 | m_LightingDataAsset: {fileID: 0}
101 | m_UseShadowmask: 1
102 | --- !u!196 &4
103 | NavMeshSettings:
104 | serializedVersion: 2
105 | m_ObjectHideFlags: 0
106 | m_BuildSettings:
107 | serializedVersion: 2
108 | agentTypeID: 0
109 | agentRadius: 0.5
110 | agentHeight: 2
111 | agentSlope: 45
112 | agentClimb: 0.4
113 | ledgeDropHeight: 0
114 | maxJumpAcrossDistance: 0
115 | minRegionArea: 2
116 | manualCellSize: 0
117 | cellSize: 0.16666667
118 | manualTileSize: 0
119 | tileSize: 256
120 | accuratePlacement: 0
121 | debug:
122 | m_Flags: 0
123 | m_NavMeshData: {fileID: 0}
124 | --- !u!1 &611650579
125 | GameObject:
126 | m_ObjectHideFlags: 0
127 | m_CorrespondingSourceObject: {fileID: 0}
128 | m_PrefabInstance: {fileID: 0}
129 | m_PrefabAsset: {fileID: 0}
130 | serializedVersion: 6
131 | m_Component:
132 | - component: {fileID: 611650581}
133 | - component: {fileID: 611650580}
134 | - component: {fileID: 611650582}
135 | m_Layer: 0
136 | m_Name: UnityHttpServer
137 | m_TagString: Untagged
138 | m_Icon: {fileID: 0}
139 | m_NavMeshLayer: 0
140 | m_StaticEditorFlags: 0
141 | m_IsActive: 1
142 | --- !u!114 &611650580
143 | MonoBehaviour:
144 | m_ObjectHideFlags: 0
145 | m_CorrespondingSourceObject: {fileID: 0}
146 | m_PrefabInstance: {fileID: 0}
147 | m_PrefabAsset: {fileID: 0}
148 | m_GameObject: {fileID: 611650579}
149 | m_Enabled: 1
150 | m_EditorHideFlags: 0
151 | m_Script: {fileID: 11500000, guid: 21148b9b4837a4ec0921422df9eeb461, type: 3}
152 | m_Name:
153 | m_EditorClassIdentifier:
154 | port: 13579
155 | SaveFolder:
156 | UseStreamingAssetsPath: 1
157 | bufferSize: 16
158 | controller: {fileID: 611650582}
159 | --- !u!4 &611650581
160 | Transform:
161 | m_ObjectHideFlags: 0
162 | m_CorrespondingSourceObject: {fileID: 0}
163 | m_PrefabInstance: {fileID: 0}
164 | m_PrefabAsset: {fileID: 0}
165 | m_GameObject: {fileID: 611650579}
166 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
167 | m_LocalPosition: {x: 0, y: 0, z: 0}
168 | m_LocalScale: {x: 1, y: 1, z: 1}
169 | m_Children: []
170 | m_Father: {fileID: 0}
171 | m_RootOrder: 2
172 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
173 | --- !u!114 &611650582
174 | MonoBehaviour:
175 | m_ObjectHideFlags: 0
176 | m_CorrespondingSourceObject: {fileID: 0}
177 | m_PrefabInstance: {fileID: 0}
178 | m_PrefabAsset: {fileID: 0}
179 | m_GameObject: {fileID: 611650579}
180 | m_Enabled: 1
181 | m_EditorHideFlags: 0
182 | m_Script: {fileID: 11500000, guid: 4594d4880203c44339c94ef9f9598999, type: 3}
183 | m_Name:
184 | m_EditorClassIdentifier:
185 | --- !u!1 &705507993
186 | GameObject:
187 | m_ObjectHideFlags: 0
188 | m_CorrespondingSourceObject: {fileID: 0}
189 | m_PrefabInstance: {fileID: 0}
190 | m_PrefabAsset: {fileID: 0}
191 | serializedVersion: 6
192 | m_Component:
193 | - component: {fileID: 705507995}
194 | - component: {fileID: 705507994}
195 | m_Layer: 0
196 | m_Name: Directional Light
197 | m_TagString: Untagged
198 | m_Icon: {fileID: 0}
199 | m_NavMeshLayer: 0
200 | m_StaticEditorFlags: 0
201 | m_IsActive: 1
202 | --- !u!108 &705507994
203 | Light:
204 | m_ObjectHideFlags: 0
205 | m_CorrespondingSourceObject: {fileID: 0}
206 | m_PrefabInstance: {fileID: 0}
207 | m_PrefabAsset: {fileID: 0}
208 | m_GameObject: {fileID: 705507993}
209 | m_Enabled: 1
210 | serializedVersion: 10
211 | m_Type: 1
212 | m_Shape: 0
213 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
214 | m_Intensity: 1
215 | m_Range: 10
216 | m_SpotAngle: 30
217 | m_InnerSpotAngle: 21.802082
218 | m_CookieSize: 10
219 | m_Shadows:
220 | m_Type: 2
221 | m_Resolution: -1
222 | m_CustomResolution: -1
223 | m_Strength: 1
224 | m_Bias: 0.05
225 | m_NormalBias: 0.4
226 | m_NearPlane: 0.2
227 | m_CullingMatrixOverride:
228 | e00: 1
229 | e01: 0
230 | e02: 0
231 | e03: 0
232 | e10: 0
233 | e11: 1
234 | e12: 0
235 | e13: 0
236 | e20: 0
237 | e21: 0
238 | e22: 1
239 | e23: 0
240 | e30: 0
241 | e31: 0
242 | e32: 0
243 | e33: 1
244 | m_UseCullingMatrixOverride: 0
245 | m_Cookie: {fileID: 0}
246 | m_DrawHalo: 0
247 | m_Flare: {fileID: 0}
248 | m_RenderMode: 0
249 | m_CullingMask:
250 | serializedVersion: 2
251 | m_Bits: 4294967295
252 | m_RenderingLayerMask: 1
253 | m_Lightmapping: 1
254 | m_LightShadowCasterMode: 0
255 | m_AreaSize: {x: 1, y: 1}
256 | m_BounceIntensity: 1
257 | m_ColorTemperature: 6570
258 | m_UseColorTemperature: 0
259 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
260 | m_UseBoundingSphereOverride: 0
261 | m_ShadowRadius: 0
262 | m_ShadowAngle: 0
263 | --- !u!4 &705507995
264 | Transform:
265 | m_ObjectHideFlags: 0
266 | m_CorrespondingSourceObject: {fileID: 0}
267 | m_PrefabInstance: {fileID: 0}
268 | m_PrefabAsset: {fileID: 0}
269 | m_GameObject: {fileID: 705507993}
270 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
271 | m_LocalPosition: {x: 0, y: 3, z: 0}
272 | m_LocalScale: {x: 1, y: 1, z: 1}
273 | m_Children: []
274 | m_Father: {fileID: 0}
275 | m_RootOrder: 1
276 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
277 | --- !u!1 &963194225
278 | GameObject:
279 | m_ObjectHideFlags: 0
280 | m_CorrespondingSourceObject: {fileID: 0}
281 | m_PrefabInstance: {fileID: 0}
282 | m_PrefabAsset: {fileID: 0}
283 | serializedVersion: 6
284 | m_Component:
285 | - component: {fileID: 963194228}
286 | - component: {fileID: 963194227}
287 | - component: {fileID: 963194226}
288 | m_Layer: 0
289 | m_Name: Main Camera
290 | m_TagString: MainCamera
291 | m_Icon: {fileID: 0}
292 | m_NavMeshLayer: 0
293 | m_StaticEditorFlags: 0
294 | m_IsActive: 1
295 | --- !u!81 &963194226
296 | AudioListener:
297 | m_ObjectHideFlags: 0
298 | m_CorrespondingSourceObject: {fileID: 0}
299 | m_PrefabInstance: {fileID: 0}
300 | m_PrefabAsset: {fileID: 0}
301 | m_GameObject: {fileID: 963194225}
302 | m_Enabled: 1
303 | --- !u!20 &963194227
304 | Camera:
305 | m_ObjectHideFlags: 0
306 | m_CorrespondingSourceObject: {fileID: 0}
307 | m_PrefabInstance: {fileID: 0}
308 | m_PrefabAsset: {fileID: 0}
309 | m_GameObject: {fileID: 963194225}
310 | m_Enabled: 1
311 | serializedVersion: 2
312 | m_ClearFlags: 1
313 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
314 | m_projectionMatrixMode: 1
315 | m_GateFitMode: 2
316 | m_FOVAxisMode: 0
317 | m_SensorSize: {x: 36, y: 24}
318 | m_LensShift: {x: 0, y: 0}
319 | m_FocalLength: 50
320 | m_NormalizedViewPortRect:
321 | serializedVersion: 2
322 | x: 0
323 | y: 0
324 | width: 1
325 | height: 1
326 | near clip plane: 0.3
327 | far clip plane: 1000
328 | field of view: 60
329 | orthographic: 0
330 | orthographic size: 5
331 | m_Depth: -1
332 | m_CullingMask:
333 | serializedVersion: 2
334 | m_Bits: 4294967295
335 | m_RenderingPath: -1
336 | m_TargetTexture: {fileID: 0}
337 | m_TargetDisplay: 0
338 | m_TargetEye: 3
339 | m_HDR: 1
340 | m_AllowMSAA: 1
341 | m_AllowDynamicResolution: 0
342 | m_ForceIntoRT: 0
343 | m_OcclusionCulling: 1
344 | m_StereoConvergence: 10
345 | m_StereoSeparation: 0.022
346 | --- !u!4 &963194228
347 | Transform:
348 | m_ObjectHideFlags: 0
349 | m_CorrespondingSourceObject: {fileID: 0}
350 | m_PrefabInstance: {fileID: 0}
351 | m_PrefabAsset: {fileID: 0}
352 | m_GameObject: {fileID: 963194225}
353 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
354 | m_LocalPosition: {x: 0, y: 1, z: -10}
355 | m_LocalScale: {x: 1, y: 1, z: 1}
356 | m_Children: []
357 | m_Father: {fileID: 0}
358 | m_RootOrder: 0
359 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
360 |
--------------------------------------------------------------------------------
/Assets/Scripts/SimpleHTTPServer.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Net.Sockets;
8 | using System.Net;
9 | using System.IO;
10 | using System.Threading;
11 | using System.Diagnostics;
12 | using System.Reflection;
13 |
14 | public class SimpleHTTPServer
15 | {
16 | const string default404Page = @"
17 |