├── .buildkite ├── hooks │ ├── post-checkout │ ├── post-command │ └── pre-command ├── premerge.definition.yaml ├── premerge.steps.yaml ├── release-qa.definition.yaml └── release-qa.steps.yaml ├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE.md ├── pull_request_template.md └── readme-header.png ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── ci ├── bootstrap.sh ├── get-shared-ci.sh ├── launch.sh ├── lint.sh ├── pack.sh └── shared-ci.pinned ├── cloud_launch.json ├── default_launch.json ├── fastlane └── Matchfile ├── gdk.pinned ├── init.sh ├── snapshots └── default.snapshot ├── spatialos.json └── workers └── unity ├── .gitignore ├── Assets ├── Assets.index ├── Assets.index.meta ├── BlankProject.meta ├── BlankProject │ ├── BlankProject.asmdef │ ├── BlankProject.asmdef.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── Config.meta │ │ ├── Config │ │ ├── EntityTemplates.cs │ │ └── EntityTemplates.cs.meta │ │ ├── Metrics.meta │ │ ├── Metrics │ │ ├── MetricSendSystem.cs │ │ └── MetricSendSystem.cs.meta │ │ ├── Workers.meta │ │ └── Workers │ │ ├── MobileClientWorkerConnector.cs │ │ ├── MobileClientWorkerConnector.cs.meta │ │ ├── UnityClientConnector.cs │ │ ├── UnityClientConnector.cs.meta │ │ ├── UnityGameLogicConnector.cs │ │ └── UnityGameLogicConnector.cs.meta ├── Config.meta ├── Config │ ├── BuildConfiguration.asset │ ├── BuildConfiguration.asset.meta │ ├── ClientPrefabMapping.asset │ ├── ClientPrefabMapping.asset.meta │ ├── DeploymentLauncherConfig.asset │ ├── DeploymentLauncherConfig.asset.meta │ ├── GamelogicPrefabMapping.asset │ ├── GamelogicPrefabMapping.asset.meta │ ├── GdkToolsConfiguration.json │ └── GdkToolsConfiguration.json.meta ├── Editor.meta ├── Editor │ ├── BlankProject.Editor.asmdef │ ├── BlankProject.Editor.asmdef.meta │ ├── SnapshotGenerator.meta │ └── SnapshotGenerator │ │ ├── SnapshotGenerator.cs │ │ └── SnapshotGenerator.cs.meta ├── Generated.meta ├── Generated │ ├── Improbable.Gdk.Generated.asmdef │ └── Improbable.Gdk.Generated.asmdef.meta ├── Prefabs.meta ├── Prefabs │ ├── Worker.meta │ └── Worker │ │ ├── ClientWorker.prefab │ │ ├── ClientWorker.prefab.meta │ │ ├── GameLogicWorker.prefab │ │ ├── GameLogicWorker.prefab.meta │ │ ├── MobileClientWorker.prefab │ │ └── MobileClientWorker.prefab.meta ├── Scenes.meta ├── Scenes │ ├── ClientScene.unity │ ├── ClientScene.unity.meta │ ├── DevelopmentScene.unity │ ├── DevelopmentScene.unity.meta │ ├── GameLogicScene.unity │ ├── GameLogicScene.unity.meta │ ├── MobileClientScene.unity │ └── MobileClientScene.unity.meta ├── link.xml └── link.xml.meta ├── Packages ├── .gitignore └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── BurstAotSettings_Android.json ├── BurstAotSettings_StandaloneLinux.json ├── BurstAotSettings_StandaloneLinux64.json ├── BurstAotSettings_StandaloneOSX.json ├── BurstAotSettings_StandaloneWindows.json ├── BurstAotSettings_iOS.json ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── VFXManager.asset ├── VersionControlSettings.asset └── XRSettings.asset ├── spatialos.MobileClient.worker.json ├── spatialos.UnityClient.worker.json └── spatialos.UnityGameLogic.worker.json /.buildkite/hooks/post-checkout: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | [[ -n "${DEBUG:-}" ]] && set -x 4 | 5 | if [[ -z "${BUILDKITE-}" ]]; then 6 | # Local workstations 7 | ci/bootstrap.sh 8 | exit 0 9 | fi 10 | if [[ "${BUILDKITE_AGENT_META_DATA_QUEUE}" != "trigger-pipelines" ]] && [[ "${BUILDKITE_AGENT_META_DATA_OS}" != "linux" ]]; then 11 | ci/bootstrap.sh 12 | fi 13 | -------------------------------------------------------------------------------- /.buildkite/hooks/post-command: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | [[ -n "${DEBUG:-}" ]] && set -x 4 | 5 | # Only run purge script on Windows agents, as `premerge` runs on a Linux box 6 | if [[ ${BUILDKITE_AGENT_META_DATA_PLATFORM} == "windows" ]]; then 7 | powershell -NoProfile -NonInteractive .shared-ci/scripts/purge.ps1 -projectRoot "$(pwd)/" 8 | fi 9 | -------------------------------------------------------------------------------- /.buildkite/hooks/pre-command: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | [[ -n "${DEBUG:-}" ]] && set -x 4 | 5 | if [[ "${BUILDKITE_AGENT_META_DATA_CAPABLE_OF_BUILDING}" == "gdk-for-unity" ]] && [[ "${BUILDKITE_AGENT_META_DATA_OS}" != "linux" ]]; then 6 | spatial auth login --log_level debug 7 | fi 8 | -------------------------------------------------------------------------------- /.buildkite/premerge.definition.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | agent_queue_id: trigger-pipelines 3 | description: GDK for Unity Blank Project pre-merge CI pipeline. 4 | github: 5 | branch_configuration: [] 6 | default_branch: develop 7 | pull_request_branch_filter_configuration: [] 8 | teams: 9 | - name: Everyone 10 | permission: BUILD_AND_READ 11 | - name: gbu/develop/unity 12 | permission: MANAGE_BUILD_AND_READ 13 | -------------------------------------------------------------------------------- /.buildkite/premerge.steps.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # Generated by ; this file *should* be edited manually to add or modify steps. 3 | # 4 | # Steps are executed based on the version in version control, and so you *do not* need to upload changes to BuildKite, just 5 | # commit them and send a PR to GitHub as you normally would. 6 | # 7 | # You may find the example pipeline steps listed here helpful: https://buildkite.com/docs/pipelines/defining-steps#example-pipeline but please 8 | # note that the setup is already done, so you should not manually adjust anything through the BuildKite interface. 9 | # 10 | windows: &windows 11 | agents: 12 | - "capable_of_building=gdk-for-unity" 13 | - "environment=production" 14 | - "permission_set=builder" 15 | - "platform=windows" 16 | - "queue=${WINDOWS_BUILDER_QUEUE:-v4-20-08-13-090826-bk14267-5f831930-d}" 17 | - "scaler_version=2" 18 | - "minimum_instances=1" 19 | - "agent_count=1" 20 | - "machine_type=quad" 21 | - "experiment_normalised_upload_paths=true" 22 | - "maximum_instances=12" 23 | - "health_check_enabled=false" 24 | timeout_in_minutes: 60 # TODO(ENG-548): reduce timeout once agent-cold-start is optimised. 25 | retry: 26 | automatic: 27 | # This is designed to trap and retry failures because agent lost connection. Agent exits with -1 in this case. 28 | - exit_status: -1 29 | limit: 3 30 | # This is designed to trap and retry failures because of a buildkite bug. 31 | - exit_status: 255 32 | limit: 3 33 | # Workaround for flaky Git clones, likely due to - https://github.com/PowerShell/Win32-OpenSSH/issues/1322 34 | - exit_status: 128 35 | limit: 3 36 | # env: &windows-env 37 | # ACCELERATOR_ENDPOINT: "unity-accelerator.production-intinf-eu1.i8e.io" 38 | 39 | #macos: &macos 40 | # agents: 41 | # - "capable_of_building=gdk-for-unity" 42 | # - "environment=production" 43 | # - "permission_set=builder" 44 | # - "platform=macos" 45 | # - "queue=${DARWIN_BUILDER_QUEUE:-v4-1582049359-33db24b626f71fa8}" 46 | # - "maximum_instances=12" 47 | # timeout_in_minutes: 60 # TODO(ENG-548): reduce timeout once agent-cold-start is optimised. 48 | # retry: 49 | # automatic: 50 | # # This is designed to trap and retry failures because agent lost connection. Agent exits with -1 in this case. 51 | # - exit_status: -1 52 | # limit: 3 53 | # env: &macos-env 54 | # ACCELERATOR_ENDPOINT: "172.16.100.150" 55 | 56 | linux: &linux 57 | agents: 58 | - "capable_of_building=gdk-for-unity" 59 | - "environment=production" 60 | - "permission_set=builder" 61 | - "platform=linux" # if you need a different platform, configure this: macos|linux|windows. 62 | - "queue=v4-20-07-06-120608-bk13080-eb89af6c" 63 | - "scaler_version=2" 64 | timeout_in_minutes: 60 # TODO(ENG-548): reduce timeout once agent-cold-start is optimised. 65 | retry: 66 | automatic: 67 | # This is designed to trap and retry failures because agent lost connection. Agent exits with -1 in this case. 68 | - exit_status: -1 69 | limit: 3 70 | 71 | 72 | # NOTE: step labels turn into commit-status names like {org}/{repo}/{pipeline}/{step-label}, lower-case and hyphenated. 73 | # These are then relied on to have stable names by other things, so once named, please beware renaming has consequences. 74 | 75 | steps: 76 | - label: ":debian: ~ lint :lint-roller:" 77 | command: bash -c ci/lint.sh 78 | <<: *linux 79 | 80 | - label: ":windows: ~ build :android:" 81 | command: bash -c .shared-ci/scripts/build-worker.sh 82 | <<: *windows 83 | artifact_paths: 84 | - logs/**/* 85 | env: 86 | # <<: *windows-env 87 | WORKER_TYPE: "MobileClient" 88 | BUILD_ENVIRONMENT: "local" 89 | BUILD_TARGET_FILTER: "android" 90 | SCRIPTING_BACKEND: "mono" 91 | 92 | # - label: ":darwin: ~ build :ios:" 93 | # command: bash -c .shared-ci/scripts/build-worker.sh 94 | # <<: *macos 95 | # artifact_paths: 96 | # - logs/**/* 97 | # env: 98 | # <<: *macos-env 99 | # WORKER_TYPE: "MobileClient" 100 | # BUILD_ENVIRONMENT: "local" 101 | # BUILD_TARGET_FILTER: "ios" 102 | # SCRIPTING_BACKEND: "il2cpp" 103 | # TARGET_IOS_SDK: "simulator" 104 | 105 | - label: ":windows: ~ build UnityClient mono" 106 | command: bash -c .shared-ci/scripts/build-worker.sh 107 | <<: *windows 108 | artifact_paths: 109 | - logs/**/* 110 | env: 111 | # <<: *windows-env 112 | WORKER_TYPE: "UnityClient" 113 | BUILD_ENVIRONMENT: "cloud" 114 | SCRIPTING_BACKEND: "mono" 115 | 116 | - label: ":windows: ~ build UnityClient il2cpp" 117 | command: bash -c .shared-ci/scripts/build-worker.sh 118 | <<: *windows 119 | artifact_paths: 120 | - logs/**/* 121 | env: 122 | # <<: *windows-env 123 | WORKER_TYPE: "UnityClient" 124 | BUILD_ENVIRONMENT: "local" 125 | SCRIPTING_BACKEND: "il2cpp" 126 | 127 | - label: ":windows: ~ build UnityGameLogic mono" 128 | command: bash -c .shared-ci/scripts/build-worker.sh 129 | <<: *windows 130 | artifact_paths: 131 | - logs/**/* 132 | env: 133 | # <<: *windows-env 134 | WORKER_TYPE: "UnityGameLogic" 135 | BUILD_ENVIRONMENT: "cloud" 136 | SCRIPTING_BACKEND: "mono" 137 | -------------------------------------------------------------------------------- /.buildkite/release-qa.definition.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | agent_queue_id: trigger-pipelines 3 | description: GDK for Unity Blank Project release QA pipeline 4 | github: 5 | branch_configuration: [] 6 | default_branch: develop 7 | pull_request_branch_filter_configuration: [] 8 | teams: 9 | - name: Everyone 10 | permission: BUILD_AND_READ 11 | - name: gbu/develop/unity 12 | permission: MANAGE_BUILD_AND_READ 13 | -------------------------------------------------------------------------------- /.buildkite/release-qa.steps.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # Generated by ; this file *should* be edited manually to add or modify steps. 3 | # 4 | # Steps are executed based on the version in version control, and so you *do not* need to upload changes to BuildKite, just 5 | # commit them and send a PR to GitHub as you normally would. 6 | # 7 | # You may find the example pipeline steps listed here helpful: https://buildkite.com/docs/pipelines/defining-steps#example-pipeline but please 8 | # note that the setup is already done, so you should not manually adjust anything through the BuildKite interface. 9 | # 10 | windows: &windows 11 | agents: 12 | - "capable_of_building=gdk-for-unity" 13 | - "environment=production" 14 | - "permission_set=builder" 15 | - "platform=windows" 16 | - "queue=${WINDOWS_BUILDER_QUEUE:-v4-20-08-13-090826-bk14267-5f831930-d}" 17 | - "scaler_version=2" 18 | - "minimum_instances=1" 19 | - "agent_count=1" 20 | - "machine_type=quad" 21 | - "experiment_normalised_upload_paths=true" 22 | - "maximum_instances=12" 23 | - "health_check_enabled=false" 24 | timeout_in_minutes: 60 # TODO(ENG-548): reduce timeout once agent-cold-start is optimised. 25 | retry: 26 | automatic: 27 | # This is designed to trap and retry failures because agent lost connection. Agent exits with -1 in this case. 28 | - exit_status: -1 29 | limit: 3 30 | # This is designed to trap and retry failures because of a buildkite bug. 31 | - exit_status: 255 32 | limit: 3 33 | # Workaround for flaky Git clones, likely due to - https://github.com/PowerShell/Win32-OpenSSH/issues/1322 34 | - exit_status: 128 35 | limit: 3 36 | # env: &windows-env 37 | # ACCELERATOR_ENDPOINT: "unity-accelerator.production-intinf-eu1.i8e.io" 38 | 39 | # NOTE: step labels turn into commit-status names like {org}/{repo}/{pipeline}/{step-label}, lower-case and hyphenated. 40 | # These are then relied on to have stable names by other things, so once named, please beware renaming has consequences. 41 | 42 | steps: 43 | - label: "build :android:" 44 | command: bash -c .shared-ci/scripts/build-worker.sh 45 | <<: *windows 46 | artifact_paths: 47 | - logs/**/* 48 | - build/assembly/**/* 49 | env: 50 | # <<: *windows-env 51 | WORKER_TYPE: "MobileClient" 52 | BUILD_ENVIRONMENT: "local" 53 | BUILD_TARGET_FILTER: "android" 54 | SCRIPTING_BACKEND: "mono" 55 | 56 | - label: "build :ios:" 57 | command: bash -c .shared-ci/scripts/build-worker.sh 58 | <<: *windows 59 | artifact_paths: 60 | - logs/**/* 61 | - build/assembly/**/* 62 | env: 63 | # <<: *windows-env 64 | WORKER_TYPE: "MobileClient" 65 | BUILD_ENVIRONMENT: "local" 66 | BUILD_TARGET_FILTER: "ios" 67 | SCRIPTING_BACKEND: "il2cpp" 68 | 69 | - label: "build UnityClient mono" 70 | command: bash -c .shared-ci/scripts/build-worker.sh 71 | <<: *windows 72 | artifact_paths: 73 | - logs/**/* 74 | - build/assembly/**/* 75 | env: 76 | # <<: *windows-env 77 | WORKER_TYPE: "UnityClient" 78 | BUILD_ENVIRONMENT: "cloud" 79 | SCRIPTING_BACKEND: "mono" 80 | 81 | - label: "build UnityGameLogic mono" 82 | command: bash -c .shared-ci/scripts/build-worker.sh 83 | <<: *windows 84 | artifact_paths: 85 | - logs/**/* 86 | - build/assembly/**/* 87 | env: 88 | # <<: *windows-env 89 | WORKER_TYPE: "UnityGameLogic" 90 | BUILD_ENVIRONMENT: "cloud" 91 | SCRIPTING_BACKEND: "mono" 92 | 93 | - wait 94 | 95 | - label: Launch deployments 96 | command: bash -c ci/launch.sh 97 | <<: *windows 98 | env: 99 | ASSEMBLY_PREFIX: "blank" 100 | PROJECT_NAME: "unity_gdk" 101 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Matches multiple files with brace expansion notation 7 | # Set default charset 8 | [*] 9 | charset = utf-8 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | indent_style = space 13 | max_line_length = 120 14 | 15 | [*.cs] 16 | indent_size = 4 17 | 18 | # New line preferences 19 | csharp_new_line_before_open_brace = all 20 | csharp_new_line_before_else = true 21 | csharp_new_line_before_catch = true 22 | csharp_new_line_before_finally = true 23 | csharp_new_line_before_members_in_object_initializers = true 24 | csharp_new_line_before_members_in_anonymous_types = true 25 | csharp_new_line_between_query_expression_clauses = true 26 | 27 | # Indentation preferences 28 | csharp_indent_case_contents = true 29 | csharp_indent_switch_labels = true 30 | csharp_indent_labels = flush_left 31 | 32 | # Space preferences 33 | csharp_space_after_cast = true 34 | csharp_space_after_keywords_in_control_flow_statements = true 35 | csharp_space_between_method_call_parameter_list_parentheses = false 36 | csharp_space_between_method_declaration_parameter_list_parentheses = false 37 | csharp_space_between_parentheses = false 38 | csharp_space_before_colon_in_inheritance_clause = true 39 | csharp_space_after_colon_in_inheritance_clause = true 40 | csharp_space_around_binary_operators = before_and_after 41 | csharp_space_between_method_declaration_empty_parameter_list_parentheses = false 42 | csharp_space_between_method_call_name_and_opening_parenthesis = false 43 | csharp_space_between_method_call_empty_parameter_list_parentheses = false 44 | 45 | # Wrapping preferences 46 | csharp_preserve_single_line_statements = true 47 | csharp_preserve_single_line_blocks = true 48 | 49 | [*.json] 50 | indent_size = 2 51 | 52 | [core-sdk.version] 53 | insert_final_newline = false 54 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.meta text eol=lf 3 | *.prefab text eol=lf 4 | *.asset text eol=lf 5 | *.asmdef text eol=lf 6 | *.sh text eol=lf -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | We are accepting issues and we want your [feedback](https://github.com/spatialos/gdk-for-unity#give-us-feedback). 2 | 3 | ------- 4 | 5 | #### Description 6 | Describe your issue. 7 | 8 | ## Expected behaviour 9 | 10 | 11 | ## Current behaviour 12 | 13 | 14 | ## Possible solution 15 | 16 | 17 | ## Steps to reproduce 18 | 19 | 1. 20 | 2. 21 | 3. 22 | 4. 23 | 24 | ## Environment 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | #### Description 2 | Describe your changes here. 3 | 4 | #### Tests 5 | How did you test these changes prior to submitting this pull request? 6 | What automated tests are included in this PR? 7 | 8 | #### Documentation 9 | How is this documented (for example: release note, upgrade guide, feature page, in-code documentation)? 10 | 11 | **Did you remember a changelog entry?** 12 | 13 | #### Primary reviewers 14 | If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them. 15 | -------------------------------------------------------------------------------- /.github/readme-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spatialos/gdk-for-unity-blank-project/26e2583c10ba289d3572ef867e36e90b4912fa72/.github/readme-header.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /logs/ 3 | .spatialos/ 4 | .idea/ 5 | .vs/ 6 | .gradle/ 7 | .DS_Store 8 | DevAuthToken.txt* 9 | 10 | #Unity Engine Gitignore (https://github.com/github/gitignore/blob/master/Unity.gitignore) 11 | [Oo]bj/ 12 | [Bb]in/ 13 | 14 | # Autogenerated VS/MD/Consulo solution and project files 15 | *.unityproj 16 | *.suo 17 | *.tmp 18 | *.user 19 | *.userprefs 20 | *.svd 21 | *.DotSettings.user 22 | _ReSharper.Caches 23 | 24 | # Unity3D Generated File On Crash Reports 25 | sysinfo.txt 26 | 27 | # Builds 28 | *.apk 29 | *.unitypackage 30 | *.trace 31 | 32 | _ReSharper.Caches 33 | 34 | .shared-ci/ 35 | perftest-results/ 36 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## Unreleased 4 | 5 | ## `0.4.0` - 2020-09-14 6 | 7 | ### Added 8 | 9 | - Added `com.unity.quicksearch` package for easy search. [#121](https://github.com/spatialos/gdk-for-unity-blank-project/pull/121) 10 | 11 | ### Changed 12 | 13 | - Upgraded to GDK for Unity version `0.4.0` 14 | - Migrated launch configurations to latest game templates. [#120](https://github.com/spatialos/gdk-for-unity-blank-project/pull/120) 15 | - Enable Burst by default. [#124](https://github.com/spatialos/gdk-for-unity-blank-project/pull/124) 16 | 17 | ## `0.3.10` - 2020-08-18 18 | 19 | ### Changed 20 | 21 | - Upgraded to GDK for Unity version `0.3.10` 22 | 23 | ## `0.3.9` - 2020-07-24 24 | 25 | ### Changed 26 | 27 | - Upgraded to GDK for Unity version `0.3.9` 28 | - Upgrade to Worker SDK v14.7.0. [#115](https://github.com/spatialos/gdk-for-unity-blank-project/pull/115) 29 | 30 | ## `0.3.8` - 2020-07-20 31 | 32 | ### Changed 33 | 34 | - Upgraded to GDK for Unity version `0.3.8` 35 | ### Breaking Changes 36 | 37 | - Moved the `BlankProject` assembly definition from `Assets` to `Assets/BlankProject` to avoid common compile issues with Plugins. [#111](https://github.com/spatialos/gdk-for-unity-blank-project/pull/111) 38 | 39 | ### Added 40 | 41 | - Enabled GameObject Creation by default using the new Entity Representation assets. [#111](https://github.com/spatialos/gdk-for-unity-blank-project/pull/111) 42 | - The prefab mapping assets can be found in `Assets/Config`. 43 | - Prefabs no longer need to be stored in `Resources`. 44 | 45 | ## `0.3.7` - 2020-06-22 46 | 47 | ### Changed 48 | 49 | - Upgraded to GDK for Unity version `0.3.7` 50 | 51 | ### Removed 52 | 53 | - Removed the `com.unity.xr.legacyinputhelpers` package from the `manifest.json`. [#107](https://github.com/spatialos/gdk-for-unity-blank-project/pull/107) 54 | 55 | ## `0.3.6` - 2020-05-26 56 | 57 | ### Changed 58 | 59 | - Upgraded to GDK for Unity version `0.3.6` 60 | 61 | ## `0.3.5` - 2020-04-23 62 | 63 | ### Breaking Changes 64 | 65 | - The Blank Project now requires Unity 2019.3. [#96](https://github.com/spatialos/gdk-for-unity-blank-project/pull/96) 66 | 67 | ### Changed 68 | 69 | - Upgraded to GDK for Unity version `0.3.5` 70 | - Upgraded Unity entities package to `0.9.1`. [#99](https://github.com/spatialos/gdk-for-unity-blank-project/pull/99) 71 | 72 | ## `0.3.4` - 2020-03-25 73 | 74 | ### Breaking Changes 75 | 76 | - The blank project now uses [query-based interest](https://docs.improbable.io/reference/14.4/shared/authority-and-interest/interest/query-based-interest-qbi) instead of [chunk-based interest](https://docs.improbable.io/reference/14.4/shared/authority-and-interest/interest/chunk-based-interest-cbi). [#89](https://github.com/spatialos/gdk-for-unity-blank-project/pull/89) 77 | - You must now pass in an `EntityId` to create a player `EntityTemplate`. [#90](https://github.com/spatialos/gdk-for-unity-blank-project/pull/90) 78 | 79 | ### Changed 80 | 81 | - Upgraded to GDK for Unity version `0.3.4`. 82 | 83 | ## `0.3.3` - 2020-02-14 84 | 85 | ### Changed 86 | 87 | - Upgraded to GDK for Unity version `0.3.3` 88 | - Updated the project app identifiers to `io.improbable.gdk.blankproject`. [#81](https://github.com/spatialos/gdk-for-unity-blank-project/pull/81) 89 | 90 | ## `0.3.2` - 2019-12-23 91 | 92 | ### Changed 93 | 94 | - Upgraded to GDK for Unity version `0.3.2` 95 | 96 | ## `0.3.1` - 2019-11-25 97 | 98 | ### Changed 99 | 100 | - Upgraded to GDK for Unity version `0.3.1` 101 | 102 | ## `0.3.0` - 2019-11-11 103 | 104 | ### Changed 105 | 106 | - Upgraded to GDK for Unity version `0.3.0` 107 | - Changed the default client network connection type from KCP to Modular UDP with compression enabled. [#77](https://github.com/spatialos/gdk-for-unity-blank-project/pull/77) 108 | 109 | ## `0.2.10` - 2019-10-15 110 | 111 | ### Changed 112 | 113 | - Upgraded to GDK for Unity version `0.2.10` 114 | 115 | ## `0.2.9` - 2019-09-16 116 | 117 | ### Changed 118 | 119 | - Upgraded to GDK for Unity version `0.2.9` 120 | 121 | ## `0.2.8` - 2019-09-03 122 | 123 | ### Changed 124 | 125 | - Upgraded to GDK for Unity version `0.2.8` 126 | - Upgraded the project to be compatible with `2019.2.0f1`. 127 | 128 | ## `0.2.7` - 2019-08-19 129 | 130 | ### Breaking changes 131 | 132 | - Tidied up the project structure. [#68](https://github.com/spatialos/gdk-for-unity-blank-project/pull/68) 133 | - Moved `CreatePlayerEntityTemplate` to the new `EntityTemplates` static class. 134 | - Removed `Improbable.Gdk.TransformSynchronization` from the assembly definition. 135 | 136 | ### Added 137 | 138 | - Created prefabs for `UnityClient`, `UnityGameLogic` and `MobileClient` workers under `Resources/Prefabs/Worker`. [#68](https://github.com/spatialos/gdk-for-unity-blank-project/pull/68) 139 | - Created a new `EntityTemplates` static class. [#68](https://github.com/spatialos/gdk-for-unity-blank-project/pull/68) 140 | 141 | ### Changed 142 | 143 | - Upgraded to GDK for Unity version `0.2.7` 144 | - The **SpatialOS** > **Generate snapshot** button now generates a snapshot directly without displaying a pop-up window. [#68](https://github.com/spatialos/gdk-for-unity-blank-project/pull/68) 145 | 146 | ### Internal 147 | 148 | - Removed old arguments from the worker JSON files. [#69](https://github.com/spatialos/gdk-for-unity-blank-project/pull/69) 149 | 150 | ## `0.2.6` - 2019-08-05 151 | 152 | ### Changed 153 | 154 | - Upgraded to GDK for Unity version `0.2.6`. 155 | 156 | ### Added 157 | 158 | - Added the `io.improbable.gdk.debug` package as a dependency. [#66](https://github.com/spatialos/gdk-for-unity-blank-project/pull/66) 159 | 160 | ## `0.2.5` - 2019-07-18 161 | 162 | ### Changed 163 | 164 | - Changed manifest to use GDK Packages with NPM instead of sideloading. 165 | - Upgraded to GDK for Unity version `0.2.5` 166 | 167 | ### Internal 168 | 169 | - Split the `MobileClient` build into separate `iOS` and `Android` buildkite steps. 170 | 171 | ## `0.2.4` - 2019-06-28 172 | 173 | ### Changed 174 | 175 | - Upgraded project to the new worker abstraction. [#56](https://github.com/spatialos/gdk-for-unity-blank-project/pull/56) 176 | 177 | ## `0.2.3` - 2019-06-12 178 | 179 | ### Changed 180 | 181 | - Upgraded the project to be compatible with `2019.1.3f1`. 182 | - Updated `GdkToolsConfiguration.json` to conform with the [schema copying change in the GDK](https://github.com/spatialos/gdk-for-unity/pull/953). 183 | - Upgrade to Unity Entities preview.33 184 | - The `default_launch.json` and `cloud_launch.json` launch configurations now uses the `w2_r0500_e5` template instead of the `small` template which was deprecated. 185 | 186 | ### Internal 187 | 188 | - Disabled Burst compilation for all platforms except for iOS, because Burst throws benign errors when building workers for other platforms than the one you are currently using. [#52](https://github.com/spatialos/gdk-for-unity-blank-project/pull/52) 189 | - Enabled Burst compilation for iOS, because disabling results in an invalid XCode project. [#52](https://github.com/spatialos/gdk-for-unity-blank-project/pull/52) 190 | 191 | ## `0.2.2` - 2019-05-15 192 | 193 | ### Breaking Changes 194 | 195 | - Removed the `AndroidClientWorkerConnector` and `iOSClientWorkerConnector` and their specific scenes. You can now use the `MobileClientWorkerConnector` and its `MobileClientScene` to connect to a mobile device. 196 | - Added the worker type `MobileClient` and removed the worker types `AndroidClient` and `iOSClient`. 197 | 198 | ### Added 199 | 200 | - Added integration with the deployment launcher feature module. 201 | 202 | ## `0.2.1` - 2019-04-15 203 | 204 | ### Changed 205 | 206 | - Updated to Unity version `2018.3.11`. 207 | - Updated to GDK for Unity version `0.2.1`. 208 | - Updated `CreatePlayerEntityTemplate` to work with latest player lifecycle Feature Module. 209 | 210 | ## `0.2.0` - 2019-03-19 211 | 212 | ### Changed 213 | 214 | - Updated `BuildConfiguration` asset to work with latest build system changes. 215 | 216 | ## `0.1.5` - 2019-02-21 217 | 218 | ### Changed 219 | 220 | - Upgraded the project to be compatible with `2018.3.5f1`. 221 | 222 | ## `0.1.4` - 2019-01-28 223 | 224 | ### Added 225 | 226 | - Added support for connecting mobile clients to cloud deployments. 227 | 228 | ### Changed 229 | 230 | - Upgraded the project to be compatible with `2018.3.2f1`. 231 | - Updated all the launch configs to use the new Runtime. 232 | - Upgraded to GDK for Unity version `0.1.4`. 233 | 234 | ## `0.1.3` - 2018-11-26 235 | 236 | ### Added 237 | 238 | - Added a metric sending system for load, FPS and Unity heap usage. 239 | 240 | ### Changed 241 | 242 | - Upgraded to GDK for Unity version `0.1.3`. 243 | 244 | ### Fixed 245 | 246 | - Fixed an issue with the default snapshot that prevented the player lifecycle module from spawning a player. 247 | - Fixed a bug where you could start each built-out worker only once on OSX. 248 | 249 | ## `0.1.2` - 2018-11-02 250 | 251 | ### Added 252 | 253 | - Added a changelog. 254 | - Added examples for mobile client-workers. 255 | 256 | ### Changed 257 | 258 | - Upgraded to GDK for Unity version `0.1.2` 259 | 260 | ## `0.1.1` - 2018-10-31 261 | 262 | The initial alpha release of the SpatialOS GDK for Unity. 263 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2020 Improbable Worlds Limited 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |

The SpatialOS GDK for Unity: Blank Project

5 | 6 |

7 | A blank starter project for the SpatialOS GDK for Unity. 8 |

9 | 10 |

11 | License 12 | Build status 13 | Current release 14 |

15 |
16 | 17 | ## About 18 | 19 | ### The SpatialOS GDK for Unity 20 | 21 | **Note**: The GDK is frozen for users who have not yet migrated their project to SpatialOS running on zeuz. See [github.com/spatialos/gdk-for-unity#readme](github.com/spatialos/gdk-for-unity#readme) for further information. 22 | 23 | ### The SpatialOS GDK for Unity Blank Project 24 | This is a blank project that you can use as a base for your own game with the [SpatialOS GDK for Unity](https://github.com/spatialos/gdk-for-unity). It has the GDK boilerplate required to start developing games for SpatialOS. 25 | 26 | 27 | --- 28 | 29 | * Your access to and use of the Unity Engine is governed by the Unity Engine End User License Agreement. Please ensure that you have agreed to those terms before you access or use the Unity Engine. 30 | 31 | © 2021 Improbable 32 | -------------------------------------------------------------------------------- /ci/bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e -u -o pipefail 3 | 4 | if [[ -n "${DEBUG-}" ]]; then 5 | set -x 6 | fi 7 | 8 | function isLinux() { 9 | [[ "$(uname -s)" == "Linux" ]]; 10 | } 11 | 12 | function isMacOS() { 13 | [[ "$(uname -s)" == "Darwin" ]]; 14 | } 15 | 16 | function isWindows() { 17 | ! ( isLinux || isMacOS ); 18 | } 19 | 20 | cd "$(dirname "$0")/../" 21 | 22 | echo "## imp-ci group-start Bootstrapping :boot:" 23 | 24 | ./ci/get-shared-ci.sh 25 | source ".shared-ci/scripts/pinned-tools.sh" 26 | 27 | # Clone the GDK for Unity repository 28 | 29 | CLONE_URI="git@github.com:spatialos/gdk-for-unity.git" 30 | pushd ../ 31 | TARGET_DIRECTORY="$(pwd)/gdk-for-unity" 32 | popd 33 | PINNED_BRANCH=$(cat ./gdk.pinned | cut -d' ' -f 1) 34 | PINNED_VERSION=$(cat ./gdk.pinned | cut -d' ' -f 2) 35 | SKIP_GDK=false 36 | 37 | if [[ -z ${BUILDKITE:-} ]]; then 38 | echo "Warning: About to delete ${TARGET_DIRECTORY}. Please confirm. (Default is Cancel)" 39 | read -p "Y/N/S > " -r 40 | echo # (optional) move to a new line 41 | if [[ $REPLY =~ ^[Yy]$ ]]; then 42 | echo "Deleting..." 43 | elif [[ $REPLY =~ ^[Ss]$ ]]; then 44 | echo "Skipping..." 45 | SKIP_GDK=true 46 | else 47 | exit 1 48 | fi 49 | fi 50 | 51 | if [ "$SKIP_GDK" = false ] ; then 52 | rm -rf "${TARGET_DIRECTORY}" 53 | 54 | mkdir "${TARGET_DIRECTORY}" 55 | 56 | # Workaround for being unable to clone a specific commit with depth of 1. 57 | pushd "${TARGET_DIRECTORY}" 58 | git init 59 | git remote add origin "${CLONE_URI}" 60 | git fetch --depth 20 origin "${PINNED_BRANCH}" 61 | git checkout "${PINNED_VERSION}" 62 | 63 | traceStart "Hit init :right-facing_fist::red_button:" 64 | ./init.sh $@ 65 | traceEnd 66 | popd 67 | fi 68 | 69 | traceStart "Symlinking packages :link::package:" 70 | if isWindows; then 71 | if [[ -z ${BUILDKITE:-} ]]; then 72 | powershell Start-Process -Verb RunAs -WindowStyle Hidden -Wait -FilePath dotnet.exe -ArgumentList "run", "-p", "$(pwd)/.shared-ci/tools/PackageSymLinker/PackageSymLinker.csproj", "\-\-", "--packages-source-dir", "${TARGET_DIRECTORY}/workers/unity/Packages", "--package-target-dir", "$(pwd)/workers/unity/Packages" 73 | traceEnd 74 | echo "## imp-ci group-end Bootstrapping :boot:" 75 | exit 0 76 | fi 77 | fi 78 | 79 | EXTRA_ARGS="" 80 | 81 | if [[ -n ${BUILDKITE:-} ]]; then 82 | EXTRA_ARGS="--copy" 83 | fi 84 | 85 | if [[ "${BUILDKITE_AGENT_META_DATA_OS:-}" == "darwin" ]]; then 86 | PATH="${PATH}:/usr/local/share/dotnet" 87 | fi 88 | 89 | dotnet run -p ./.shared-ci/tools/PackageSymLinker/PackageSymLinker.csproj -- \ 90 | --packages-source-dir "${TARGET_DIRECTORY}/workers/unity/Packages" \ 91 | --package-target-dir "$(pwd)/workers/unity/Packages" "${EXTRA_ARGS}" 92 | traceEnd 93 | 94 | echo "## imp-ci group-end Bootstrapping :boot:" 95 | -------------------------------------------------------------------------------- /ci/get-shared-ci.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e -u -o pipefail 3 | 4 | if [[ -n "${DEBUG-}" ]]; then 5 | set -x 6 | fi 7 | 8 | SHARED_CI_DIR="$(pwd)/.shared-ci" 9 | CLONE_URL="git@github.com:spatialos/gdk-for-unity-shared-ci.git" 10 | PINNED_SHARED_CI_BRANCH=$(cat ./ci/shared-ci.pinned | cut -d' ' -f 1) 11 | PINNED_SHARED_CI_VERSION=$(cat ./ci/shared-ci.pinned | cut -d' ' -f 2) 12 | 13 | if [[ -d "${SHARED_CI_DIR}" ]]; then 14 | rm -rf "${SHARED_CI_DIR}" 15 | fi 16 | 17 | mkdir "${SHARED_CI_DIR}" 18 | 19 | # Clone the HEAD of the shared CI repo into ".shared-ci" 20 | # Workaround for being unable to clone a specific commit with depth of 1. 21 | pushd "${SHARED_CI_DIR}" 22 | git init 23 | git remote add origin "${CLONE_URL}" 24 | git fetch --depth 20 origin "${PINNED_SHARED_CI_BRANCH}" 25 | git checkout "${PINNED_SHARED_CI_VERSION}" 26 | popd 27 | -------------------------------------------------------------------------------- /ci/launch.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e -u -o pipefail 4 | 5 | if [[ -n "${DEBUG-}" ]]; then 6 | set -x 7 | fi 8 | 9 | cd "$(dirname "$0")/../" 10 | 11 | source ".shared-ci/scripts/pinned-tools.sh" 12 | 13 | # Download the artifacts and reconstruct the build/assemblies folder. 14 | traceStart "Downloading assembly :inbox_tray:" 15 | buildkite-agent artifact download "build/assembly/**/*" . 16 | traceEnd 17 | 18 | uploadAssembly "${ASSEMBLY_PREFIX}" "${PROJECT_NAME}" 19 | 20 | traceStart "Launching deployment :airplane_departure:" 21 | # If the RUNTIME_VERSION env variable is already set, i.e. - through the Buildkite menu 22 | # then skip reading the file. 23 | if [[ -n $"{RUNTIME_VERSION:-}" ]]; then 24 | export RUNTIME_VERSION="$(cat ../gdk-for-unity/workers/unity/Packages/io.improbable.gdk.tools/runtime.pinned)" 25 | fi 26 | 27 | dotnet run -p workers/unity/Packages/io.improbable.gdk.deploymentlauncher/.DeploymentLauncher/DeploymentLauncher.csproj -- \ 28 | create \ 29 | --project_name "${PROJECT_NAME}" \ 30 | --assembly_name "${ASSEMBLY_NAME}" \ 31 | --deployment_name "${ASSEMBLY_NAME}" \ 32 | --launch_json_path cloud_launch.json \ 33 | --snapshot_path snapshots/default.snapshot \ 34 | --region EU \ 35 | --tags "dev_login" \ 36 | --runtime_version="${RUNTIME_VERSION}" 37 | traceEnd 38 | 39 | CONSOLE_URL="https://console.improbable.io/projects/${PROJECT_NAME}/deployments/${ASSEMBLY_NAME}/overview" 40 | 41 | buildkite-agent annotate --style "success" "Deployment URL: ${CONSOLE_URL}
" 42 | -------------------------------------------------------------------------------- /ci/lint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e -u -o pipefail 4 | 5 | if [[ -n "${DEBUG-}" ]]; then 6 | set -x 7 | fi 8 | 9 | cd "$(dirname "$0")/.." 10 | 11 | ./ci/get-shared-ci.sh 12 | ./.shared-ci/scripts/lint.sh ./workers/unity --check 13 | -------------------------------------------------------------------------------- /ci/pack.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e -u -o -x pipefail 4 | 5 | cd "$(dirname "$0")/../" 6 | 7 | # Get shared CI 8 | ci/bootstrap.sh 9 | 10 | dotnet run -p ./.shared-ci/tools/Packer/Packer.csproj 11 | -------------------------------------------------------------------------------- /ci/shared-ci.pinned: -------------------------------------------------------------------------------- 1 | master 90c5ca1814e6bd0b7cbcbae37f4b80d9ba83fc03 2 | -------------------------------------------------------------------------------- /cloud_launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "template": "n1standard2_std40_r0500", 3 | "world": { 4 | "chunkEdgeLengthMeters": 50, 5 | "snapshots": { 6 | "snapshotWritePeriodSeconds": 0 7 | }, 8 | "dimensions": { 9 | "xMeters": 5000, 10 | "zMeters": 5000 11 | }, 12 | "legacy_flags": [ 13 | { 14 | "name": "interest_queries_components_are_filtered_by_component_delivery", 15 | "value": "false" 16 | } 17 | ] 18 | }, 19 | "load_balancing": { 20 | "layer_configurations": [ 21 | { 22 | "layer": "UnityGameLogic", 23 | "rectangle_grid": { 24 | "cols": 2, 25 | "rows": 1 26 | } 27 | } 28 | ] 29 | }, 30 | "workers": [ 31 | { 32 | "worker_type": "UnityGameLogic", 33 | "permissions": [ 34 | { 35 | "all": {} 36 | } 37 | ] 38 | }, 39 | { 40 | "worker_type": "UnityClient", 41 | "permissions": [ 42 | { 43 | "all": {} 44 | } 45 | ] 46 | }, 47 | { 48 | "worker_type": "MobileClient", 49 | "permissions": [ 50 | { 51 | "all": {} 52 | } 53 | ] 54 | } 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /default_launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "template": "n1standard2_std40_r0500", 3 | "world": { 4 | "chunkEdgeLengthMeters": 50, 5 | "snapshots": { 6 | "snapshotWritePeriodSeconds": 0 7 | }, 8 | "dimensions": { 9 | "xMeters": 5000, 10 | "zMeters": 5000 11 | }, 12 | "legacy_flags": [ 13 | { 14 | "name": "interest_queries_components_are_filtered_by_component_delivery", 15 | "value": "false" 16 | } 17 | ] 18 | }, 19 | "load_balancing": { 20 | "layer_configurations": [ 21 | { 22 | "layer": "UnityGameLogic", 23 | "rectangle_grid": { 24 | "cols": 1, 25 | "rows": 1 26 | }, 27 | "options": { 28 | "manual_worker_connection_only": true 29 | } 30 | } 31 | ] 32 | }, 33 | "workers": [ 34 | { 35 | "worker_type": "UnityGameLogic", 36 | "permissions": [ 37 | { 38 | "all": {} 39 | } 40 | ] 41 | }, 42 | { 43 | "worker_type": "UnityClient", 44 | "permissions": [ 45 | { 46 | "all": {} 47 | } 48 | ] 49 | }, 50 | { 51 | "worker_type": "MobileClient", 52 | "permissions": [ 53 | { 54 | "all": {} 55 | } 56 | ] 57 | } 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /fastlane/Matchfile: -------------------------------------------------------------------------------- 1 | app_identifier("io.improbable.*") 2 | git_url("git@github.com:improbable/apple-codesigning.git") 3 | keychain_name("login.keychain") 4 | readonly(true) 5 | storage_mode("git") 6 | type("development") 7 | 8 | # For all available options run `fastlane match --help` 9 | # The docs are available on https://docs.fastlane.tools/actions/match 10 | -------------------------------------------------------------------------------- /gdk.pinned: -------------------------------------------------------------------------------- 1 | develop 66cbca07e31b76710ed4e41459371c40ea2103de -------------------------------------------------------------------------------- /init.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e -u -x -o pipefail 3 | 4 | cd "$(dirname "$0")" 5 | 6 | ./ci/bootstrap.sh $@ 7 | -------------------------------------------------------------------------------- /snapshots/default.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spatialos/gdk-for-unity-blank-project/26e2583c10ba289d3572ef867e36e90b4912fa72/snapshots/default.snapshot -------------------------------------------------------------------------------- /spatialos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unity_gdk", 3 | "project_version": "0.0.1", 4 | "sdk_version": "14.7.0" 5 | } 6 | -------------------------------------------------------------------------------- /workers/unity/.gitignore: -------------------------------------------------------------------------------- 1 | # Unity generated files 2 | /UIElementsSchema 3 | /[Ll]ibrary/ 4 | /[Tt]emp/ 5 | /Logs/ 6 | /UserSettings/ 7 | /ProjectSettings/UnityConnectSettings.asset 8 | /*.csproj 9 | /*.sln 10 | 11 | # Build artifacts 12 | /build/ 13 | 14 | # SpatialOS Generated Files 15 | /Assets/Generated/Source.meta 16 | /Assets/Generated/Source/**/*.* 17 | /Assets/Generated/Editor.meta 18 | /Assets/Generated/Editor/**/*.* 19 | 20 | # OLD Plugins folder 21 | /Assets/Plugins/Improbable/ 22 | /Assets/Plugins/Improbable.meta 23 | 24 | # Jetbrains 25 | /Assets/Plugins/Editor/Jetbrains 26 | /Assets/Plugins/Editor/Jetbrains.meta 27 | 28 | /Packages/packages-lock.json 29 | -------------------------------------------------------------------------------- /workers/unity/Assets/Assets.index: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Assets", 3 | "type": "asset", 4 | "roots": [], 5 | "includes": [], 6 | "excludes": [ 7 | "Temp/", 8 | "External/" 9 | ], 10 | "baseScore": 100, 11 | "options": { 12 | "disabled": false, 13 | "files": true, 14 | "directories": false, 15 | "fstats": true, 16 | "types": true, 17 | "properties": true, 18 | "dependencies": true 19 | } 20 | } -------------------------------------------------------------------------------- /workers/unity/Assets/Assets.index.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ff6893a13579f1458a7b86fb07cc95d 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 595da1eac225fa84fb9c2d465cc69e8b, type: 3} 11 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3f9c8690a2ca5d4b973a84329f67bdb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/BlankProject.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BlankProject", 3 | "references": [ 4 | "Improbable.Gdk.Core", 5 | "Improbable.Gdk.Generated", 6 | "Improbable.Gdk.Mobile", 7 | "Improbable.Gdk.PlayerLifecycle", 8 | "Improbable.Gdk.QueryBasedInterestHelper", 9 | "Improbable.Gdk.GameObjectCreation", 10 | "Unity.Entities", 11 | "Unity.Entities.Hybrid", 12 | "Unity.Mathematics" 13 | ], 14 | "includePlatforms": [], 15 | "excludePlatforms": [], 16 | "allowUnsafeCode": false, 17 | "overrideReferences": false, 18 | "precompiledReferences": [], 19 | "autoReferenced": true, 20 | "defineConstraints": [], 21 | "versionDefines": [], 22 | "noEngineReferences": false 23 | } -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/BlankProject.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38b6a488ea20e4a35a00e50b07444806 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7d2ac63e1fe62c49ae8544cffca611c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 259579c9e698407d801bdefa5161cf6e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Config/EntityTemplates.cs: -------------------------------------------------------------------------------- 1 | using Improbable; 2 | using Improbable.Gdk.Core; 3 | using Improbable.Gdk.PlayerLifecycle; 4 | using Improbable.Gdk.QueryBasedInterest; 5 | using UnityEngine; 6 | 7 | namespace BlankProject.Scripts.Config 8 | { 9 | public static class EntityTemplates 10 | { 11 | public static EntityTemplate CreatePlayerEntityTemplate(EntityId entityId, string workerId, byte[] serializedArguments) 12 | { 13 | var clientAttribute = EntityTemplate.GetWorkerAccessAttribute(workerId); 14 | var serverAttribute = UnityGameLogicConnector.WorkerType; 15 | 16 | var position = new Vector3(0, 1f, 0); 17 | var coords = Coordinates.FromUnityVector(position); 18 | 19 | var template = new EntityTemplate(); 20 | template.AddComponent(new Position.Snapshot(coords), clientAttribute); 21 | template.AddComponent(new Metadata.Snapshot("Player"), serverAttribute); 22 | 23 | PlayerLifecycleHelper.AddPlayerLifecycleComponents(template, workerId, serverAttribute); 24 | 25 | const int serverRadius = 500; 26 | var clientRadius = workerId.Contains(MobileClientWorkerConnector.WorkerType) ? 100 : 500; 27 | 28 | var serverQuery = InterestQuery.Query(Constraint.RelativeCylinder(serverRadius)); 29 | var clientQuery = InterestQuery.Query(Constraint.RelativeCylinder(clientRadius)); 30 | 31 | var interest = InterestTemplate.Create() 32 | .AddQueries(serverQuery) 33 | .AddQueries(clientQuery); 34 | template.AddComponent(interest.ToSnapshot(), serverAttribute); 35 | 36 | template.SetReadAccess(UnityClientConnector.WorkerType, MobileClientWorkerConnector.WorkerType, serverAttribute); 37 | template.SetComponentWriteAccess(EntityAcl.ComponentId, serverAttribute); 38 | 39 | return template; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Config/EntityTemplates.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7eea20373a33460e8f43a1e9aa8b7ae6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Metrics.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec37d18266594f3498c9e3b75aa14d8f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Metrics/MetricSendSystem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Improbable.Gdk.Core; 3 | using Improbable.Worker.CInterop; 4 | using Unity.Entities; 5 | using UnityEngine; 6 | 7 | namespace BlankProject 8 | { 9 | [DisableAutoCreation] 10 | public class MetricSendSystem : ComponentSystem 11 | { 12 | private WorkerSystem worker; 13 | 14 | private DateTime timeOfNextUpdate; 15 | private DateTime timeOfLastUpdate; 16 | 17 | private const double TimeBetweenMetricUpdatesSecs = 2; 18 | private const int DefaultTargetFrameRate = 60; 19 | 20 | private double targetFps; 21 | 22 | private int lastFrameCount; 23 | private double calculatedFps; 24 | 25 | // We use exponential smoothing for the FPS metric 26 | // larger value == more smoothing, 0 = no smoothing 27 | // 0 <= smoothing < 1 28 | private const double smoothing = 0; 29 | 30 | private static readonly Metrics WorkerMetrics = new Metrics(); 31 | 32 | protected override void OnCreate() 33 | { 34 | base.OnCreate(); 35 | worker = World.GetExistingSystem(); 36 | 37 | targetFps = Application.targetFrameRate == -1 38 | ? DefaultTargetFrameRate 39 | : Application.targetFrameRate; 40 | 41 | lastFrameCount = UnityEngine.Time.frameCount; 42 | calculatedFps = targetFps; 43 | 44 | timeOfLastUpdate = DateTime.Now; 45 | timeOfNextUpdate = timeOfLastUpdate.AddSeconds(TimeBetweenMetricUpdatesSecs); 46 | } 47 | 48 | protected override void OnUpdate() 49 | { 50 | if (worker == null) 51 | { 52 | return; 53 | } 54 | 55 | if (DateTime.Now >= timeOfNextUpdate) 56 | { 57 | CalculateFps(); 58 | WorkerMetrics.GaugeMetrics["Dynamic.FPS"] = calculatedFps; 59 | WorkerMetrics.GaugeMetrics["Unity used heap size"] = GC.GetTotalMemory(false); 60 | WorkerMetrics.Load = CalculateLoad(); 61 | 62 | worker.SendMetrics(WorkerMetrics); 63 | 64 | timeOfLastUpdate = DateTime.Now; 65 | timeOfNextUpdate = timeOfLastUpdate.AddSeconds(TimeBetweenMetricUpdatesSecs); 66 | } 67 | } 68 | 69 | // Load defined as performance relative to target FPS. 70 | // i.e. a load of 0.5 means that the worker is hitting the target FPS 71 | // but achieving less than half the target FPS takes load above 1.0 72 | private double CalculateLoad() 73 | { 74 | return Math.Max(0.0d, 0.5d * targetFps / calculatedFps); 75 | } 76 | 77 | private void CalculateFps() 78 | { 79 | var frameCount = UnityEngine.Time.frameCount - lastFrameCount; 80 | lastFrameCount = UnityEngine.Time.frameCount; 81 | var rawFps = frameCount / (DateTime.Now - timeOfLastUpdate).TotalSeconds; 82 | calculatedFps = (rawFps * (1 - smoothing)) + (calculatedFps * smoothing); 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Metrics/MetricSendSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6ca0c64025d38643b5a2eabc3343146 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Workers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6d9cd5b5b132644bbf5e90a1b01a461 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Workers/MobileClientWorkerConnector.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Improbable.Gdk.Core; 3 | using Improbable.Gdk.Core.Representation; 4 | using Improbable.Gdk.GameObjectCreation; 5 | using Improbable.Gdk.Mobile; 6 | using Improbable.Gdk.PlayerLifecycle; 7 | using UnityEngine; 8 | 9 | namespace BlankProject 10 | { 11 | public class MobileClientWorkerConnector : WorkerConnector, MobileConnectionFlowInitializer.IMobileSettingsProvider 12 | { 13 | [SerializeField] private EntityRepresentationMapping entityRepresentationMapping = default; 14 | 15 | #pragma warning disable 649 16 | [SerializeField] private string ipAddress; 17 | #pragma warning restore 649 18 | 19 | public const string WorkerType = "MobileClient"; 20 | 21 | public async void Start() 22 | { 23 | var connParams = CreateConnectionParameters(WorkerType, new MobileConnectionParametersInitializer()); 24 | 25 | var flowInitializer = new MobileConnectionFlowInitializer( 26 | new MobileConnectionFlowInitializer.CommandLineSettingsProvider(), 27 | new MobileConnectionFlowInitializer.PlayerPrefsSettingsProvider(), 28 | this); 29 | 30 | var builder = new SpatialOSConnectionHandlerBuilder() 31 | .SetConnectionParameters(connParams); 32 | 33 | switch (flowInitializer.GetConnectionService()) 34 | { 35 | case ConnectionService.Receptionist: 36 | builder.SetConnectionFlow(new ReceptionistFlow(CreateNewWorkerId(WorkerType), 37 | flowInitializer)); 38 | break; 39 | case ConnectionService.Locator: 40 | builder.SetConnectionFlow(new LocatorFlow(flowInitializer)); 41 | break; 42 | default: 43 | throw new ArgumentException("Received unsupported connection service."); 44 | } 45 | 46 | await Connect(builder, new ForwardingDispatcher()).ConfigureAwait(false); 47 | } 48 | 49 | protected override void HandleWorkerConnectionEstablished() 50 | { 51 | PlayerLifecycleHelper.AddClientSystems(Worker.World); 52 | GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityRepresentationMapping); 53 | } 54 | 55 | public Option GetReceptionistHostIp() 56 | { 57 | return string.IsNullOrEmpty(ipAddress) ? Option.Empty : new Option(ipAddress); 58 | } 59 | 60 | public Option GetDevAuthToken() 61 | { 62 | var token = Resources.Load("DevAuthToken")?.text.Trim(); 63 | return token ?? Option.Empty; 64 | } 65 | 66 | public Option GetConnectionService() 67 | { 68 | return Option.Empty; 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Workers/MobileClientWorkerConnector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f403ee947d170784da84334f37113ae0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Workers/UnityClientConnector.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Improbable.Gdk.Core; 3 | using Improbable.Gdk.Core.Representation; 4 | using Improbable.Gdk.GameObjectCreation; 5 | using Improbable.Gdk.PlayerLifecycle; 6 | using UnityEngine; 7 | 8 | namespace BlankProject 9 | { 10 | public class UnityClientConnector : WorkerConnector 11 | { 12 | [SerializeField] private EntityRepresentationMapping entityRepresentationMapping = default; 13 | 14 | public const string WorkerType = "UnityClient"; 15 | 16 | private async void Start() 17 | { 18 | var connParams = CreateConnectionParameters(WorkerType); 19 | 20 | var builder = new SpatialOSConnectionHandlerBuilder() 21 | .SetConnectionParameters(connParams); 22 | 23 | if (!Application.isEditor) 24 | { 25 | var initializer = new CommandLineConnectionFlowInitializer(); 26 | switch (initializer.GetConnectionService()) 27 | { 28 | case ConnectionService.Receptionist: 29 | builder.SetConnectionFlow(new ReceptionistFlow(CreateNewWorkerId(WorkerType), initializer)); 30 | break; 31 | case ConnectionService.Locator: 32 | builder.SetConnectionFlow(new LocatorFlow(initializer)); 33 | break; 34 | default: 35 | throw new ArgumentOutOfRangeException(); 36 | } 37 | } 38 | else 39 | { 40 | builder.SetConnectionFlow(new ReceptionistFlow(CreateNewWorkerId(WorkerType))); 41 | } 42 | 43 | await Connect(builder, new ForwardingDispatcher()).ConfigureAwait(false); 44 | } 45 | 46 | protected override void HandleWorkerConnectionEstablished() 47 | { 48 | PlayerLifecycleHelper.AddClientSystems(Worker.World); 49 | GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityRepresentationMapping); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Workers/UnityClientConnector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 994857f29eabfc34ca0fe077153ed86d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Workers/UnityGameLogicConnector.cs: -------------------------------------------------------------------------------- 1 | using BlankProject.Scripts.Config; 2 | using Improbable.Gdk.Core; 3 | using Improbable.Gdk.Core.Representation; 4 | using Improbable.Gdk.GameObjectCreation; 5 | using Improbable.Gdk.PlayerLifecycle; 6 | using Improbable.Worker.CInterop; 7 | using UnityEngine; 8 | 9 | namespace BlankProject 10 | { 11 | public class UnityGameLogicConnector : WorkerConnector 12 | { 13 | [SerializeField] private EntityRepresentationMapping entityRepresentationMapping = default; 14 | 15 | public const string WorkerType = "UnityGameLogic"; 16 | 17 | private async void Start() 18 | { 19 | PlayerLifecycleConfig.CreatePlayerEntityTemplate = EntityTemplates.CreatePlayerEntityTemplate; 20 | 21 | IConnectionFlow flow; 22 | ConnectionParameters connectionParameters; 23 | 24 | if (Application.isEditor) 25 | { 26 | flow = new ReceptionistFlow(CreateNewWorkerId(WorkerType)); 27 | connectionParameters = CreateConnectionParameters(WorkerType); 28 | } 29 | else 30 | { 31 | flow = new ReceptionistFlow(CreateNewWorkerId(WorkerType), 32 | new CommandLineConnectionFlowInitializer()); 33 | connectionParameters = CreateConnectionParameters(WorkerType, 34 | new CommandLineConnectionParameterInitializer()); 35 | } 36 | 37 | var builder = new SpatialOSConnectionHandlerBuilder() 38 | .SetConnectionFlow(flow) 39 | .SetConnectionParameters(connectionParameters); 40 | 41 | await Connect(builder, new ForwardingDispatcher()).ConfigureAwait(false); 42 | } 43 | 44 | protected override void HandleWorkerConnectionEstablished() 45 | { 46 | Worker.World.GetOrCreateSystem(); 47 | PlayerLifecycleHelper.AddServerSystems(Worker.World); 48 | GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityRepresentationMapping); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /workers/unity/Assets/BlankProject/Scripts/Workers/UnityGameLogicConnector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7273eb2ce9b9d4ca7640e75b3d54d3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46f23b7a6eb784ca5b7b0d8981e37174 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/BuildConfiguration.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 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: 11500000, guid: add92caab7fb7f24589c2e7198c19491, type: 3} 13 | m_Name: BuildConfiguration 14 | m_EditorClassIdentifier: 15 | WorkerBuildConfigurations: 16 | - WorkerType: UnityClient 17 | ScenesForWorker: 18 | - {fileID: 102900000, guid: e9d72ec001e1f42b79ccca8467dcca90, type: 3} 19 | LocalBuildConfig: 20 | BuildTargets: 21 | - Options: 1 22 | Enabled: 1 23 | Required: 0 24 | - Options: 0 25 | Enabled: 0 26 | Required: 0 27 | - Options: 0 28 | Enabled: 0 29 | Required: 0 30 | CloudBuildConfig: 31 | BuildTargets: 32 | - Options: 0 33 | Enabled: 0 34 | Required: 0 35 | - Options: 0 36 | Enabled: 1 37 | Required: 0 38 | - Options: 16384 39 | Enabled: 0 40 | Required: 0 41 | - Options: 0 42 | Enabled: 1 43 | Required: 0 44 | - Options: 0 45 | Enabled: 0 46 | Required: 0 47 | - Options: 0 48 | Enabled: 0 49 | Required: 0 50 | - WorkerType: UnityGameLogic 51 | ScenesForWorker: 52 | - {fileID: 102900000, guid: aaa9e72f9f3224639850bd7b630960be, type: 3} 53 | LocalBuildConfig: 54 | BuildTargets: 55 | - Options: 1 56 | Enabled: 1 57 | Required: 0 58 | - Options: 0 59 | Enabled: 0 60 | Required: 0 61 | - Options: 0 62 | Enabled: 0 63 | Required: 0 64 | CloudBuildConfig: 65 | BuildTargets: 66 | - Options: 0 67 | Enabled: 0 68 | Required: 0 69 | - Options: 0 70 | Enabled: 0 71 | Required: 0 72 | - Options: 16384 73 | Enabled: 1 74 | Required: 0 75 | - Options: 0 76 | Enabled: 0 77 | Required: 0 78 | - Options: 0 79 | Enabled: 0 80 | Required: 0 81 | - Options: 0 82 | Enabled: 0 83 | Required: 0 84 | - WorkerType: MobileClient 85 | ScenesForWorker: 86 | - {fileID: 102900000, guid: 17bd667c9bc89cf4b8c402299c7aa813, type: 3} 87 | LocalBuildConfig: 88 | BuildTargets: 89 | - Options: 0 90 | Enabled: 0 91 | Required: 0 92 | - Options: 1 93 | Enabled: 1 94 | Required: 0 95 | - Options: 1 96 | Enabled: 1 97 | Required: 0 98 | CloudBuildConfig: 99 | BuildTargets: 100 | - Options: 0 101 | Enabled: 0 102 | Required: 0 103 | - Options: 0 104 | Enabled: 0 105 | Required: 0 106 | - Options: 16384 107 | Enabled: 0 108 | Required: 0 109 | - Options: 0 110 | Enabled: 0 111 | Required: 0 112 | - Options: 0 113 | Enabled: 1 114 | Required: 0 115 | - Options: 0 116 | Enabled: 1 117 | Required: 0 118 | isInitialised: 1 119 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/BuildConfiguration.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34fb4ae43e6cd3440b5a1e62d38456ff 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/ClientPrefabMapping.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 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: 11500000, guid: f0598980a22146e5bb63df7b024cf2b0, type: 3} 13 | m_Name: ClientPrefabMapping 14 | m_EditorClassIdentifier: 15 | EntityRepresentationResolvers: [] 16 | references: 17 | version: 1 18 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/ClientPrefabMapping.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e53a77235830e14ebca570b4ea233dc 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/DeploymentLauncherConfig.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 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: 11500000, guid: b0c2130db3ddb1a438fa2942db976122, type: 3} 13 | m_Name: DeploymentLauncherConfig 14 | m_EditorClassIdentifier: 15 | AssemblyConfig: 16 | ProjectName: unity_gdk 17 | AssemblyName: blank_assembly 18 | ShouldForceUpload: 0 19 | DeploymentConfigs: 20 | - ProjectName: unity_gdk 21 | AssemblyName: blank_assembly 22 | Deployment: 23 | Name: blank_deployment 24 | SnapshotPath: snapshots/default.snapshot 25 | LaunchJson: cloud_launch.json 26 | Region: 1 27 | Tags: [] 28 | SimulatedPlayerDeploymentConfigs: [] 29 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/DeploymentLauncherConfig.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f80e19667b9144d4d868232943b4b9c4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/GamelogicPrefabMapping.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 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: 11500000, guid: f0598980a22146e5bb63df7b024cf2b0, type: 3} 13 | m_Name: GamelogicPrefabMapping 14 | m_EditorClassIdentifier: 15 | EntityRepresentationResolvers: [] 16 | references: 17 | version: 1 18 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/GamelogicPrefabMapping.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7177170b2dc0444f82f6d4d018797e0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Config/GdkToolsConfiguration.json: -------------------------------------------------------------------------------- 1 | { 2 | "SchemaStdLibDir": "../../build/dependencies/schema/standard_library", 3 | "SchemaSourceDirs": [], 4 | "CodegenOutputDir": "Assets/Generated/Source", 5 | "DescriptorOutputDir": "../../build/assembly/schema", 6 | "RuntimeIp": "", 7 | "DevAuthTokenDir": "Resources", 8 | "DevAuthTokenLifetimeDays": 30 9 | } -------------------------------------------------------------------------------- /workers/unity/Assets/Config/GdkToolsConfiguration.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c963abbc08478441ca3a793887d72b4a 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be95d04a2e8494c4fa5ba02c3b6839b9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Editor/BlankProject.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BlankProject.Editor", 3 | "references": [ 4 | "BlankProject", 5 | "Improbable.Gdk.BuildSystem", 6 | "Improbable.Gdk.Core", 7 | "Improbable.Gdk.Generated", 8 | "Improbable.Gdk.QueryBasedInterestHelper", 9 | "Unity.Entities" 10 | ], 11 | "includePlatforms": [ 12 | "Editor" 13 | ], 14 | "excludePlatforms": [], 15 | "allowUnsafeCode": false, 16 | "overrideReferences": false, 17 | "precompiledReferences": [], 18 | "autoReferenced": true, 19 | "defineConstraints": [], 20 | "versionDefines": [] 21 | } 22 | -------------------------------------------------------------------------------- /workers/unity/Assets/Editor/BlankProject.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f6299e7ff4ba4cb0955abbf0f013606 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Editor/SnapshotGenerator.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1324b9fba6b8a484a8dc7b63bb48c82a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Editor/SnapshotGenerator/SnapshotGenerator.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Improbable; 3 | using Improbable.Gdk.Core; 4 | using Improbable.Gdk.PlayerLifecycle; 5 | using Improbable.Gdk.QueryBasedInterest; 6 | using UnityEditor; 7 | using UnityEngine; 8 | 9 | using Snapshot = Improbable.Gdk.Core.Snapshot; 10 | 11 | namespace BlankProject.Editor 12 | { 13 | internal static class SnapshotGenerator 14 | { 15 | private static string DefaultSnapshotPath = Path.GetFullPath( 16 | Path.Combine( 17 | Application.dataPath, 18 | "..", 19 | "..", 20 | "..", 21 | "snapshots", 22 | "default.snapshot")); 23 | 24 | [MenuItem("SpatialOS/Generate snapshot")] 25 | public static void Generate() 26 | { 27 | Debug.Log("Generating snapshot."); 28 | var snapshot = CreateSnapshot(); 29 | 30 | Debug.Log($"Writing snapshot to: {DefaultSnapshotPath}"); 31 | snapshot.WriteToFile(DefaultSnapshotPath); 32 | } 33 | 34 | private static Snapshot CreateSnapshot() 35 | { 36 | var snapshot = new Snapshot(); 37 | 38 | AddPlayerSpawner(snapshot); 39 | return snapshot; 40 | } 41 | 42 | private static void AddPlayerSpawner(Snapshot snapshot) 43 | { 44 | var serverAttribute = UnityGameLogicConnector.WorkerType; 45 | 46 | var template = new EntityTemplate(); 47 | template.AddComponent(new Position.Snapshot(), serverAttribute); 48 | template.AddComponent(new Metadata.Snapshot("PlayerCreator"), serverAttribute); 49 | template.AddComponent(new Persistence.Snapshot(), serverAttribute); 50 | template.AddComponent(new PlayerCreator.Snapshot(), serverAttribute); 51 | 52 | var query = InterestQuery.Query(Constraint.RelativeCylinder(500)); 53 | var interest = InterestTemplate.Create() 54 | .AddQueries(query); 55 | template.AddComponent(interest.ToSnapshot(), serverAttribute); 56 | 57 | template.SetReadAccess( 58 | UnityClientConnector.WorkerType, 59 | UnityGameLogicConnector.WorkerType, 60 | MobileClientWorkerConnector.WorkerType); 61 | template.SetComponentWriteAccess(EntityAcl.ComponentId, serverAttribute); 62 | 63 | snapshot.AddEntity(template); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /workers/unity/Assets/Editor/SnapshotGenerator/SnapshotGenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46fc7ee2d015217448844318b931019a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /workers/unity/Assets/Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c8eb374c19927f4e84c06f02f68bf0a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Generated/Improbable.Gdk.Generated.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Improbable.Gdk.Generated", 3 | "references": [ 4 | "Improbable.Gdk.Core", 5 | "Unity.Collections", 6 | "Unity.Entities", 7 | "Unity.Entities.Hybrid", 8 | "Unity.Mathematics" 9 | ], 10 | "includePlatforms": [], 11 | "excludePlatforms": [], 12 | "allowUnsafeCode": true, 13 | "overrideReferences": false, 14 | "precompiledReferences": [], 15 | "autoReferenced": true, 16 | "defineConstraints": [], 17 | "versionDefines": [] 18 | } -------------------------------------------------------------------------------- /workers/unity/Assets/Generated/Improbable.Gdk.Generated.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09d0b0c8e43bd56409834b050a8a2ceb 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 177ee6d85ca1a2c4a90bb679f58dab39 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs/Worker.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0f5d80a30577ad4db859b0ab906373f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs/Worker/ClientWorker.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &7557874807969014889 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 7557874807969014891} 12 | - component: {fileID: 7557874807969014890} 13 | m_Layer: 0 14 | m_Name: ClientWorker 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &7557874807969014891 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 7557874807969014889} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &7557874807969014890 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 7557874807969014889} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 994857f29eabfc34ca0fe077153ed86d, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | MaxConnectionAttempts: 3 47 | entityRepresentationMapping: {fileID: 11400000, guid: 4e53a77235830e14ebca570b4ea233dc, 48 | type: 2} 49 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs/Worker/ClientWorker.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 160a9a4e2c1d16a4a883f915c10498a0 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs/Worker/GameLogicWorker.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &2126696593424655033 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 2126696593424655035} 12 | - component: {fileID: 2126696593424655034} 13 | m_Layer: 0 14 | m_Name: GameLogicWorker 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &2126696593424655035 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 2126696593424655033} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &2126696593424655034 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 2126696593424655033} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 8e7273eb2ce9b9d4ca7640e75b3d54d3, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | MaxConnectionAttempts: 3 47 | entityRepresentationMapping: {fileID: 11400000, guid: d7177170b2dc0444f82f6d4d018797e0, 48 | type: 2} 49 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs/Worker/GameLogicWorker.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43c846c58bf01564d8a10b8fa8dd9146 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs/Worker/MobileClientWorker.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &4681889097778771629 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 4681889097778771631} 12 | - component: {fileID: 4681889097778771628} 13 | m_Layer: 0 14 | m_Name: MobileClientWorker 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &4681889097778771631 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 4681889097778771629} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &4681889097778771628 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 4681889097778771629} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: f403ee947d170784da84334f37113ae0, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | MaxConnectionAttempts: 3 47 | entityRepresentationMapping: {fileID: 11400000, guid: 4e53a77235830e14ebca570b4ea233dc, 48 | type: 2} 49 | ipAddress: 50 | -------------------------------------------------------------------------------- /workers/unity/Assets/Prefabs/Worker/MobileClientWorker.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52be6d27873dad947b8b64c50c8443fa 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f704ae4b4f98ae41a0bce26658850c1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/ClientScene.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: 0} 41 | m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 0 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: 1 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 &1945651613 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: 1945651616} 133 | - component: {fileID: 1945651615} 134 | - component: {fileID: 1945651614} 135 | m_Layer: 0 136 | m_Name: Main Camera 137 | m_TagString: MainCamera 138 | m_Icon: {fileID: 0} 139 | m_NavMeshLayer: 0 140 | m_StaticEditorFlags: 0 141 | m_IsActive: 1 142 | --- !u!81 &1945651614 143 | AudioListener: 144 | m_ObjectHideFlags: 0 145 | m_CorrespondingSourceObject: {fileID: 0} 146 | m_PrefabInstance: {fileID: 0} 147 | m_PrefabAsset: {fileID: 0} 148 | m_GameObject: {fileID: 1945651613} 149 | m_Enabled: 1 150 | --- !u!20 &1945651615 151 | Camera: 152 | m_ObjectHideFlags: 0 153 | m_CorrespondingSourceObject: {fileID: 0} 154 | m_PrefabInstance: {fileID: 0} 155 | m_PrefabAsset: {fileID: 0} 156 | m_GameObject: {fileID: 1945651613} 157 | m_Enabled: 1 158 | serializedVersion: 2 159 | m_ClearFlags: 1 160 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 161 | m_projectionMatrixMode: 1 162 | m_GateFitMode: 2 163 | m_FOVAxisMode: 0 164 | m_SensorSize: {x: 36, y: 24} 165 | m_LensShift: {x: 0, y: 0} 166 | m_FocalLength: 50 167 | m_NormalizedViewPortRect: 168 | serializedVersion: 2 169 | x: 0 170 | y: 0 171 | width: 1 172 | height: 1 173 | near clip plane: 0.3 174 | far clip plane: 1000 175 | field of view: 60 176 | orthographic: 0 177 | orthographic size: 5 178 | m_Depth: -1 179 | m_CullingMask: 180 | serializedVersion: 2 181 | m_Bits: 4294967295 182 | m_RenderingPath: -1 183 | m_TargetTexture: {fileID: 0} 184 | m_TargetDisplay: 0 185 | m_TargetEye: 3 186 | m_HDR: 1 187 | m_AllowMSAA: 1 188 | m_AllowDynamicResolution: 0 189 | m_ForceIntoRT: 0 190 | m_OcclusionCulling: 1 191 | m_StereoConvergence: 10 192 | m_StereoSeparation: 0.022 193 | --- !u!4 &1945651616 194 | Transform: 195 | m_ObjectHideFlags: 0 196 | m_CorrespondingSourceObject: {fileID: 0} 197 | m_PrefabInstance: {fileID: 0} 198 | m_PrefabAsset: {fileID: 0} 199 | m_GameObject: {fileID: 1945651613} 200 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 201 | m_LocalPosition: {x: 0, y: 1, z: -10} 202 | m_LocalScale: {x: 1, y: 1, z: 1} 203 | m_Children: [] 204 | m_Father: {fileID: 0} 205 | m_RootOrder: 0 206 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 207 | --- !u!1 &1978274002 208 | GameObject: 209 | m_ObjectHideFlags: 0 210 | m_CorrespondingSourceObject: {fileID: 0} 211 | m_PrefabInstance: {fileID: 0} 212 | m_PrefabAsset: {fileID: 0} 213 | serializedVersion: 6 214 | m_Component: 215 | - component: {fileID: 1978274004} 216 | - component: {fileID: 1978274003} 217 | m_Layer: 0 218 | m_Name: Directional Light 219 | m_TagString: Untagged 220 | m_Icon: {fileID: 0} 221 | m_NavMeshLayer: 0 222 | m_StaticEditorFlags: 0 223 | m_IsActive: 1 224 | --- !u!108 &1978274003 225 | Light: 226 | m_ObjectHideFlags: 0 227 | m_CorrespondingSourceObject: {fileID: 0} 228 | m_PrefabInstance: {fileID: 0} 229 | m_PrefabAsset: {fileID: 0} 230 | m_GameObject: {fileID: 1978274002} 231 | m_Enabled: 1 232 | serializedVersion: 10 233 | m_Type: 1 234 | m_Shape: 0 235 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 236 | m_Intensity: 1 237 | m_Range: 10 238 | m_SpotAngle: 30 239 | m_InnerSpotAngle: 21.80208 240 | m_CookieSize: 10 241 | m_Shadows: 242 | m_Type: 2 243 | m_Resolution: -1 244 | m_CustomResolution: -1 245 | m_Strength: 1 246 | m_Bias: 0.05 247 | m_NormalBias: 0.4 248 | m_NearPlane: 0.2 249 | m_CullingMatrixOverride: 250 | e00: 1 251 | e01: 0 252 | e02: 0 253 | e03: 0 254 | e10: 0 255 | e11: 1 256 | e12: 0 257 | e13: 0 258 | e20: 0 259 | e21: 0 260 | e22: 1 261 | e23: 0 262 | e30: 0 263 | e31: 0 264 | e32: 0 265 | e33: 1 266 | m_UseCullingMatrixOverride: 0 267 | m_Cookie: {fileID: 0} 268 | m_DrawHalo: 0 269 | m_Flare: {fileID: 0} 270 | m_RenderMode: 0 271 | m_CullingMask: 272 | serializedVersion: 2 273 | m_Bits: 4294967295 274 | m_RenderingLayerMask: 1 275 | m_Lightmapping: 4 276 | m_LightShadowCasterMode: 0 277 | m_AreaSize: {x: 1, y: 1} 278 | m_BounceIntensity: 1 279 | m_ColorTemperature: 6570 280 | m_UseColorTemperature: 0 281 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 282 | m_UseBoundingSphereOverride: 0 283 | m_ShadowRadius: 0 284 | m_ShadowAngle: 0 285 | --- !u!4 &1978274004 286 | Transform: 287 | m_ObjectHideFlags: 0 288 | m_CorrespondingSourceObject: {fileID: 0} 289 | m_PrefabInstance: {fileID: 0} 290 | m_PrefabAsset: {fileID: 0} 291 | m_GameObject: {fileID: 1978274002} 292 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 293 | m_LocalPosition: {x: 0, y: 3, z: 0} 294 | m_LocalScale: {x: 1, y: 1, z: 1} 295 | m_Children: [] 296 | m_Father: {fileID: 0} 297 | m_RootOrder: 1 298 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 299 | --- !u!1001 &7557874809242864388 300 | PrefabInstance: 301 | m_ObjectHideFlags: 0 302 | serializedVersion: 2 303 | m_Modification: 304 | m_TransformParent: {fileID: 0} 305 | m_Modifications: 306 | - target: {fileID: 7557874807969014889, guid: 160a9a4e2c1d16a4a883f915c10498a0, 307 | type: 3} 308 | propertyPath: m_Name 309 | value: ClientWorker 310 | objectReference: {fileID: 0} 311 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 312 | type: 3} 313 | propertyPath: m_LocalPosition.x 314 | value: 0 315 | objectReference: {fileID: 0} 316 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 317 | type: 3} 318 | propertyPath: m_LocalPosition.y 319 | value: 0 320 | objectReference: {fileID: 0} 321 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 322 | type: 3} 323 | propertyPath: m_LocalPosition.z 324 | value: 0 325 | objectReference: {fileID: 0} 326 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 327 | type: 3} 328 | propertyPath: m_LocalRotation.x 329 | value: 0 330 | objectReference: {fileID: 0} 331 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 332 | type: 3} 333 | propertyPath: m_LocalRotation.y 334 | value: 0 335 | objectReference: {fileID: 0} 336 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 337 | type: 3} 338 | propertyPath: m_LocalRotation.z 339 | value: 0 340 | objectReference: {fileID: 0} 341 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 342 | type: 3} 343 | propertyPath: m_LocalRotation.w 344 | value: 1 345 | objectReference: {fileID: 0} 346 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 347 | type: 3} 348 | propertyPath: m_RootOrder 349 | value: 2 350 | objectReference: {fileID: 0} 351 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 352 | type: 3} 353 | propertyPath: m_LocalEulerAnglesHint.x 354 | value: 0 355 | objectReference: {fileID: 0} 356 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 357 | type: 3} 358 | propertyPath: m_LocalEulerAnglesHint.y 359 | value: 0 360 | objectReference: {fileID: 0} 361 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 362 | type: 3} 363 | propertyPath: m_LocalEulerAnglesHint.z 364 | value: 0 365 | objectReference: {fileID: 0} 366 | m_RemovedComponents: [] 367 | m_SourcePrefab: {fileID: 100100000, guid: 160a9a4e2c1d16a4a883f915c10498a0, type: 3} 368 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/ClientScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9d72ec001e1f42b79ccca8467dcca90 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/DevelopmentScene.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: 0} 41 | m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 0 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: 10 60 | m_AtlasSize: 512 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: 256 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 256 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 &170076733 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: 170076735} 133 | - component: {fileID: 170076734} 134 | m_Layer: 0 135 | m_Name: Directional Light 136 | m_TagString: Untagged 137 | m_Icon: {fileID: 0} 138 | m_NavMeshLayer: 0 139 | m_StaticEditorFlags: 0 140 | m_IsActive: 1 141 | --- !u!108 &170076734 142 | Light: 143 | m_ObjectHideFlags: 0 144 | m_CorrespondingSourceObject: {fileID: 0} 145 | m_PrefabInstance: {fileID: 0} 146 | m_PrefabAsset: {fileID: 0} 147 | m_GameObject: {fileID: 170076733} 148 | m_Enabled: 1 149 | serializedVersion: 10 150 | m_Type: 1 151 | m_Shape: 0 152 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 153 | m_Intensity: 1 154 | m_Range: 10 155 | m_SpotAngle: 30 156 | m_InnerSpotAngle: 21.80208 157 | m_CookieSize: 10 158 | m_Shadows: 159 | m_Type: 2 160 | m_Resolution: -1 161 | m_CustomResolution: -1 162 | m_Strength: 1 163 | m_Bias: 0.05 164 | m_NormalBias: 0.4 165 | m_NearPlane: 0.2 166 | m_CullingMatrixOverride: 167 | e00: 1 168 | e01: 0 169 | e02: 0 170 | e03: 0 171 | e10: 0 172 | e11: 1 173 | e12: 0 174 | e13: 0 175 | e20: 0 176 | e21: 0 177 | e22: 1 178 | e23: 0 179 | e30: 0 180 | e31: 0 181 | e32: 0 182 | e33: 1 183 | m_UseCullingMatrixOverride: 0 184 | m_Cookie: {fileID: 0} 185 | m_DrawHalo: 0 186 | m_Flare: {fileID: 0} 187 | m_RenderMode: 0 188 | m_CullingMask: 189 | serializedVersion: 2 190 | m_Bits: 4294967295 191 | m_RenderingLayerMask: 1 192 | m_Lightmapping: 1 193 | m_LightShadowCasterMode: 0 194 | m_AreaSize: {x: 1, y: 1} 195 | m_BounceIntensity: 1 196 | m_ColorTemperature: 6570 197 | m_UseColorTemperature: 0 198 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 199 | m_UseBoundingSphereOverride: 0 200 | m_ShadowRadius: 0 201 | m_ShadowAngle: 0 202 | --- !u!4 &170076735 203 | Transform: 204 | m_ObjectHideFlags: 0 205 | m_CorrespondingSourceObject: {fileID: 0} 206 | m_PrefabInstance: {fileID: 0} 207 | m_PrefabAsset: {fileID: 0} 208 | m_GameObject: {fileID: 170076733} 209 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 210 | m_LocalPosition: {x: 0, y: 3, z: 0} 211 | m_LocalScale: {x: 1, y: 1, z: 1} 212 | m_Children: [] 213 | m_Father: {fileID: 0} 214 | m_RootOrder: 1 215 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 216 | --- !u!1001 &239391224 217 | PrefabInstance: 218 | m_ObjectHideFlags: 0 219 | serializedVersion: 2 220 | m_Modification: 221 | m_TransformParent: {fileID: 0} 222 | m_Modifications: 223 | - target: {fileID: 7557874807969014889, guid: 160a9a4e2c1d16a4a883f915c10498a0, 224 | type: 3} 225 | propertyPath: m_Name 226 | value: ClientWorker 227 | objectReference: {fileID: 0} 228 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 229 | type: 3} 230 | propertyPath: m_LocalPosition.x 231 | value: 0 232 | objectReference: {fileID: 0} 233 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 234 | type: 3} 235 | propertyPath: m_LocalPosition.y 236 | value: 0 237 | objectReference: {fileID: 0} 238 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 239 | type: 3} 240 | propertyPath: m_LocalPosition.z 241 | value: 0 242 | objectReference: {fileID: 0} 243 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 244 | type: 3} 245 | propertyPath: m_LocalRotation.x 246 | value: 0 247 | objectReference: {fileID: 0} 248 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 249 | type: 3} 250 | propertyPath: m_LocalRotation.y 251 | value: 0 252 | objectReference: {fileID: 0} 253 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 254 | type: 3} 255 | propertyPath: m_LocalRotation.z 256 | value: 0 257 | objectReference: {fileID: 0} 258 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 259 | type: 3} 260 | propertyPath: m_LocalRotation.w 261 | value: 1 262 | objectReference: {fileID: 0} 263 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 264 | type: 3} 265 | propertyPath: m_RootOrder 266 | value: 2 267 | objectReference: {fileID: 0} 268 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 269 | type: 3} 270 | propertyPath: m_LocalEulerAnglesHint.x 271 | value: 0 272 | objectReference: {fileID: 0} 273 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 274 | type: 3} 275 | propertyPath: m_LocalEulerAnglesHint.y 276 | value: 0 277 | objectReference: {fileID: 0} 278 | - target: {fileID: 7557874807969014891, guid: 160a9a4e2c1d16a4a883f915c10498a0, 279 | type: 3} 280 | propertyPath: m_LocalEulerAnglesHint.z 281 | value: 0 282 | objectReference: {fileID: 0} 283 | m_RemovedComponents: [] 284 | m_SourcePrefab: {fileID: 100100000, guid: 160a9a4e2c1d16a4a883f915c10498a0, type: 3} 285 | --- !u!1 &534669902 286 | GameObject: 287 | m_ObjectHideFlags: 0 288 | m_CorrespondingSourceObject: {fileID: 0} 289 | m_PrefabInstance: {fileID: 0} 290 | m_PrefabAsset: {fileID: 0} 291 | serializedVersion: 6 292 | m_Component: 293 | - component: {fileID: 534669905} 294 | - component: {fileID: 534669904} 295 | m_Layer: 0 296 | m_Name: Main Camera 297 | m_TagString: MainCamera 298 | m_Icon: {fileID: 0} 299 | m_NavMeshLayer: 0 300 | m_StaticEditorFlags: 0 301 | m_IsActive: 1 302 | --- !u!20 &534669904 303 | Camera: 304 | m_ObjectHideFlags: 0 305 | m_CorrespondingSourceObject: {fileID: 0} 306 | m_PrefabInstance: {fileID: 0} 307 | m_PrefabAsset: {fileID: 0} 308 | m_GameObject: {fileID: 534669902} 309 | m_Enabled: 1 310 | serializedVersion: 2 311 | m_ClearFlags: 1 312 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 313 | m_projectionMatrixMode: 1 314 | m_GateFitMode: 2 315 | m_FOVAxisMode: 0 316 | m_SensorSize: {x: 36, y: 24} 317 | m_LensShift: {x: 0, y: 0} 318 | m_FocalLength: 50 319 | m_NormalizedViewPortRect: 320 | serializedVersion: 2 321 | x: 0 322 | y: 0 323 | width: 1 324 | height: 1 325 | near clip plane: 0.3 326 | far clip plane: 1000 327 | field of view: 60 328 | orthographic: 0 329 | orthographic size: 5 330 | m_Depth: -1 331 | m_CullingMask: 332 | serializedVersion: 2 333 | m_Bits: 4294967295 334 | m_RenderingPath: -1 335 | m_TargetTexture: {fileID: 0} 336 | m_TargetDisplay: 0 337 | m_TargetEye: 3 338 | m_HDR: 1 339 | m_AllowMSAA: 1 340 | m_AllowDynamicResolution: 0 341 | m_ForceIntoRT: 0 342 | m_OcclusionCulling: 1 343 | m_StereoConvergence: 10 344 | m_StereoSeparation: 0.022 345 | --- !u!4 &534669905 346 | Transform: 347 | m_ObjectHideFlags: 0 348 | m_CorrespondingSourceObject: {fileID: 0} 349 | m_PrefabInstance: {fileID: 0} 350 | m_PrefabAsset: {fileID: 0} 351 | m_GameObject: {fileID: 534669902} 352 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 353 | m_LocalPosition: {x: 0, y: 1, z: -10} 354 | m_LocalScale: {x: 1, y: 1, z: 1} 355 | m_Children: [] 356 | m_Father: {fileID: 0} 357 | m_RootOrder: 0 358 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 359 | --- !u!1001 &1088799423 360 | PrefabInstance: 361 | m_ObjectHideFlags: 0 362 | serializedVersion: 2 363 | m_Modification: 364 | m_TransformParent: {fileID: 0} 365 | m_Modifications: 366 | - target: {fileID: 2126696593424655033, guid: 43c846c58bf01564d8a10b8fa8dd9146, 367 | type: 3} 368 | propertyPath: m_Name 369 | value: GameLogicWorker 370 | objectReference: {fileID: 0} 371 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 372 | type: 3} 373 | propertyPath: m_LocalPosition.x 374 | value: 100 375 | objectReference: {fileID: 0} 376 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 377 | type: 3} 378 | propertyPath: m_LocalPosition.y 379 | value: 0 380 | objectReference: {fileID: 0} 381 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 382 | type: 3} 383 | propertyPath: m_LocalPosition.z 384 | value: 0 385 | objectReference: {fileID: 0} 386 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 387 | type: 3} 388 | propertyPath: m_LocalRotation.x 389 | value: 0 390 | objectReference: {fileID: 0} 391 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 392 | type: 3} 393 | propertyPath: m_LocalRotation.y 394 | value: 0 395 | objectReference: {fileID: 0} 396 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 397 | type: 3} 398 | propertyPath: m_LocalRotation.z 399 | value: 0 400 | objectReference: {fileID: 0} 401 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 402 | type: 3} 403 | propertyPath: m_LocalRotation.w 404 | value: 1 405 | objectReference: {fileID: 0} 406 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 407 | type: 3} 408 | propertyPath: m_RootOrder 409 | value: 3 410 | objectReference: {fileID: 0} 411 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 412 | type: 3} 413 | propertyPath: m_LocalEulerAnglesHint.x 414 | value: 0 415 | objectReference: {fileID: 0} 416 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 417 | type: 3} 418 | propertyPath: m_LocalEulerAnglesHint.y 419 | value: 0 420 | objectReference: {fileID: 0} 421 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 422 | type: 3} 423 | propertyPath: m_LocalEulerAnglesHint.z 424 | value: 0 425 | objectReference: {fileID: 0} 426 | m_RemovedComponents: [] 427 | m_SourcePrefab: {fileID: 100100000, guid: 43c846c58bf01564d8a10b8fa8dd9146, type: 3} 428 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/DevelopmentScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99c9720ab356a0642a771bea13969a05 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/GameLogicScene.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: 0} 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: 0 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: 1 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!1001 &2126696592671802192 125 | PrefabInstance: 126 | m_ObjectHideFlags: 0 127 | serializedVersion: 2 128 | m_Modification: 129 | m_TransformParent: {fileID: 0} 130 | m_Modifications: 131 | - target: {fileID: 2126696593424655033, guid: 43c846c58bf01564d8a10b8fa8dd9146, 132 | type: 3} 133 | propertyPath: m_Name 134 | value: GameLogicWorker 135 | objectReference: {fileID: 0} 136 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 137 | type: 3} 138 | propertyPath: m_LocalPosition.x 139 | value: 0 140 | objectReference: {fileID: 0} 141 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 142 | type: 3} 143 | propertyPath: m_LocalPosition.y 144 | value: 0 145 | objectReference: {fileID: 0} 146 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 147 | type: 3} 148 | propertyPath: m_LocalPosition.z 149 | value: 0 150 | objectReference: {fileID: 0} 151 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 152 | type: 3} 153 | propertyPath: m_LocalRotation.x 154 | value: 0 155 | objectReference: {fileID: 0} 156 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 157 | type: 3} 158 | propertyPath: m_LocalRotation.y 159 | value: 0 160 | objectReference: {fileID: 0} 161 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 162 | type: 3} 163 | propertyPath: m_LocalRotation.z 164 | value: 0 165 | objectReference: {fileID: 0} 166 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 167 | type: 3} 168 | propertyPath: m_LocalRotation.w 169 | value: 1 170 | objectReference: {fileID: 0} 171 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 172 | type: 3} 173 | propertyPath: m_RootOrder 174 | value: 0 175 | objectReference: {fileID: 0} 176 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 177 | type: 3} 178 | propertyPath: m_LocalEulerAnglesHint.x 179 | value: 0 180 | objectReference: {fileID: 0} 181 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 182 | type: 3} 183 | propertyPath: m_LocalEulerAnglesHint.y 184 | value: 0 185 | objectReference: {fileID: 0} 186 | - target: {fileID: 2126696593424655035, guid: 43c846c58bf01564d8a10b8fa8dd9146, 187 | type: 3} 188 | propertyPath: m_LocalEulerAnglesHint.z 189 | value: 0 190 | objectReference: {fileID: 0} 191 | m_RemovedComponents: [] 192 | m_SourcePrefab: {fileID: 100100000, guid: 43c846c58bf01564d8a10b8fa8dd9146, type: 3} 193 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/GameLogicScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aaa9e72f9f3224639850bd7b630960be 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/MobileClientScene.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: 0.6 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 2100000, guid: bab67753a2cd73c4692546747a298caa, type: 2} 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: 0} 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: 0 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: 1 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: 0 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 &626948022 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: 626948024} 133 | - component: {fileID: 626948023} 134 | m_Layer: 0 135 | m_Name: Directional Light 136 | m_TagString: Untagged 137 | m_Icon: {fileID: 0} 138 | m_NavMeshLayer: 0 139 | m_StaticEditorFlags: 0 140 | m_IsActive: 1 141 | --- !u!108 &626948023 142 | Light: 143 | m_ObjectHideFlags: 0 144 | m_CorrespondingSourceObject: {fileID: 0} 145 | m_PrefabInstance: {fileID: 0} 146 | m_PrefabAsset: {fileID: 0} 147 | m_GameObject: {fileID: 626948022} 148 | m_Enabled: 1 149 | serializedVersion: 10 150 | m_Type: 1 151 | m_Shape: 0 152 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 153 | m_Intensity: 1 154 | m_Range: 10 155 | m_SpotAngle: 30 156 | m_InnerSpotAngle: 21.80208 157 | m_CookieSize: 10 158 | m_Shadows: 159 | m_Type: 2 160 | m_Resolution: -1 161 | m_CustomResolution: -1 162 | m_Strength: 1 163 | m_Bias: 0.05 164 | m_NormalBias: 0.4 165 | m_NearPlane: 0.2 166 | m_CullingMatrixOverride: 167 | e00: 1 168 | e01: 0 169 | e02: 0 170 | e03: 0 171 | e10: 0 172 | e11: 1 173 | e12: 0 174 | e13: 0 175 | e20: 0 176 | e21: 0 177 | e22: 1 178 | e23: 0 179 | e30: 0 180 | e31: 0 181 | e32: 0 182 | e33: 1 183 | m_UseCullingMatrixOverride: 0 184 | m_Cookie: {fileID: 0} 185 | m_DrawHalo: 0 186 | m_Flare: {fileID: 0} 187 | m_RenderMode: 0 188 | m_CullingMask: 189 | serializedVersion: 2 190 | m_Bits: 4294967295 191 | m_RenderingLayerMask: 1 192 | m_Lightmapping: 1 193 | m_LightShadowCasterMode: 0 194 | m_AreaSize: {x: 1, y: 1} 195 | m_BounceIntensity: 1 196 | m_ColorTemperature: 6570 197 | m_UseColorTemperature: 0 198 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 199 | m_UseBoundingSphereOverride: 0 200 | m_ShadowRadius: 0 201 | m_ShadowAngle: 0 202 | --- !u!4 &626948024 203 | Transform: 204 | m_ObjectHideFlags: 0 205 | m_CorrespondingSourceObject: {fileID: 0} 206 | m_PrefabInstance: {fileID: 0} 207 | m_PrefabAsset: {fileID: 0} 208 | m_GameObject: {fileID: 626948022} 209 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 210 | m_LocalPosition: {x: 0, y: 3, z: 0} 211 | m_LocalScale: {x: 1, y: 1, z: 1} 212 | m_Children: [] 213 | m_Father: {fileID: 0} 214 | m_RootOrder: 0 215 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 216 | --- !u!1 &1372932560 217 | GameObject: 218 | m_ObjectHideFlags: 0 219 | m_CorrespondingSourceObject: {fileID: 0} 220 | m_PrefabInstance: {fileID: 0} 221 | m_PrefabAsset: {fileID: 0} 222 | serializedVersion: 6 223 | m_Component: 224 | - component: {fileID: 1372932564} 225 | - component: {fileID: 1372932563} 226 | m_Layer: 0 227 | m_Name: Camera 228 | m_TagString: MainCamera 229 | m_Icon: {fileID: 0} 230 | m_NavMeshLayer: 0 231 | m_StaticEditorFlags: 0 232 | m_IsActive: 1 233 | --- !u!20 &1372932563 234 | Camera: 235 | m_ObjectHideFlags: 0 236 | m_CorrespondingSourceObject: {fileID: 0} 237 | m_PrefabInstance: {fileID: 0} 238 | m_PrefabAsset: {fileID: 0} 239 | m_GameObject: {fileID: 1372932560} 240 | m_Enabled: 1 241 | serializedVersion: 2 242 | m_ClearFlags: 1 243 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 244 | m_projectionMatrixMode: 1 245 | m_GateFitMode: 2 246 | m_FOVAxisMode: 0 247 | m_SensorSize: {x: 36, y: 24} 248 | m_LensShift: {x: 0, y: 0} 249 | m_FocalLength: 50 250 | m_NormalizedViewPortRect: 251 | serializedVersion: 2 252 | x: 0 253 | y: 0 254 | width: 1 255 | height: 1 256 | near clip plane: 0.3 257 | far clip plane: 1000 258 | field of view: 60 259 | orthographic: 0 260 | orthographic size: 5 261 | m_Depth: -1 262 | m_CullingMask: 263 | serializedVersion: 2 264 | m_Bits: 4294967295 265 | m_RenderingPath: -1 266 | m_TargetTexture: {fileID: 0} 267 | m_TargetDisplay: 0 268 | m_TargetEye: 3 269 | m_HDR: 1 270 | m_AllowMSAA: 1 271 | m_AllowDynamicResolution: 0 272 | m_ForceIntoRT: 1 273 | m_OcclusionCulling: 1 274 | m_StereoConvergence: 10 275 | m_StereoSeparation: 0.022 276 | --- !u!4 &1372932564 277 | Transform: 278 | m_ObjectHideFlags: 0 279 | m_CorrespondingSourceObject: {fileID: 0} 280 | m_PrefabInstance: {fileID: 0} 281 | m_PrefabAsset: {fileID: 0} 282 | m_GameObject: {fileID: 1372932560} 283 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 284 | m_LocalPosition: {x: 0, y: 2, z: -3} 285 | m_LocalScale: {x: 1, y: 1, z: 1} 286 | m_Children: [] 287 | m_Father: {fileID: 0} 288 | m_RootOrder: 1 289 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 290 | --- !u!1001 &4681889098715076673 291 | PrefabInstance: 292 | m_ObjectHideFlags: 0 293 | serializedVersion: 2 294 | m_Modification: 295 | m_TransformParent: {fileID: 0} 296 | m_Modifications: 297 | - target: {fileID: 4681889097778771629, guid: 52be6d27873dad947b8b64c50c8443fa, 298 | type: 3} 299 | propertyPath: m_Name 300 | value: MobileClientWorker 301 | objectReference: {fileID: 0} 302 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 303 | type: 3} 304 | propertyPath: m_LocalPosition.x 305 | value: 0 306 | objectReference: {fileID: 0} 307 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 308 | type: 3} 309 | propertyPath: m_LocalPosition.y 310 | value: 0 311 | objectReference: {fileID: 0} 312 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 313 | type: 3} 314 | propertyPath: m_LocalPosition.z 315 | value: 0 316 | objectReference: {fileID: 0} 317 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 318 | type: 3} 319 | propertyPath: m_LocalRotation.x 320 | value: 0 321 | objectReference: {fileID: 0} 322 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 323 | type: 3} 324 | propertyPath: m_LocalRotation.y 325 | value: 0 326 | objectReference: {fileID: 0} 327 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 328 | type: 3} 329 | propertyPath: m_LocalRotation.z 330 | value: 0 331 | objectReference: {fileID: 0} 332 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 333 | type: 3} 334 | propertyPath: m_LocalRotation.w 335 | value: 1 336 | objectReference: {fileID: 0} 337 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 338 | type: 3} 339 | propertyPath: m_RootOrder 340 | value: 2 341 | objectReference: {fileID: 0} 342 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 343 | type: 3} 344 | propertyPath: m_LocalEulerAnglesHint.x 345 | value: 0 346 | objectReference: {fileID: 0} 347 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 348 | type: 3} 349 | propertyPath: m_LocalEulerAnglesHint.y 350 | value: 0 351 | objectReference: {fileID: 0} 352 | - target: {fileID: 4681889097778771631, guid: 52be6d27873dad947b8b64c50c8443fa, 353 | type: 3} 354 | propertyPath: m_LocalEulerAnglesHint.z 355 | value: 0 356 | objectReference: {fileID: 0} 357 | m_RemovedComponents: [] 358 | m_SourcePrefab: {fileID: 100100000, guid: 52be6d27873dad947b8b64c50c8443fa, type: 3} 359 | -------------------------------------------------------------------------------- /workers/unity/Assets/Scenes/MobileClientScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17bd667c9bc89cf4b8c402299c7aa813 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Assets/link.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /workers/unity/Assets/link.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d8c249ae6dfd490bbdd813f4945bc18 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /workers/unity/Packages/.gitignore: -------------------------------------------------------------------------------- 1 | io.improbable.gdk.buildsystem 2 | io.improbable.gdk.core 3 | io.improbable.gdk.debug 4 | io.improbable.gdk.deploymentlauncher 5 | io.improbable.gdk.gameobjectcreation 6 | io.improbable.gdk.mobile 7 | io.improbable.gdk.playerlifecycle 8 | io.improbable.gdk.querybasedinteresthelper 9 | io.improbable.gdk.testutils 10 | io.improbable.gdk.tools 11 | io.improbable.gdk.transformsynchronization 12 | io.improbable.worker.sdk 13 | io.improbable.worker.sdk.mobile -------------------------------------------------------------------------------- /workers/unity/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ide.rider": "2.0.7", 4 | "com.unity.ide.visualstudio": "2.0.2", 5 | "com.unity.quicksearch": "2.0.2", 6 | "com.unity.test-framework": "1.1.16", 7 | "com.unity.timeline": "1.3.5", 8 | "com.unity.ugui": "1.0.0", 9 | "io.improbable.gdk.buildsystem": "0.4.0", 10 | "io.improbable.gdk.core": "0.4.0", 11 | "io.improbable.gdk.debug": "0.4.0", 12 | "io.improbable.gdk.deploymentlauncher": "0.4.0", 13 | "io.improbable.gdk.gameobjectcreation": "0.4.0", 14 | "io.improbable.gdk.mobile": "0.4.0", 15 | "io.improbable.gdk.playerlifecycle": "0.4.0", 16 | "io.improbable.gdk.querybasedinteresthelper": "0.4.0", 17 | "io.improbable.gdk.testutils": "0.4.0", 18 | "io.improbable.gdk.tools": "0.4.0", 19 | "io.improbable.gdk.transformsynchronization": "0.4.0", 20 | "com.unity.modules.ai": "1.0.0", 21 | "com.unity.modules.animation": "1.0.0", 22 | "com.unity.modules.assetbundle": "1.0.0", 23 | "com.unity.modules.audio": "1.0.0", 24 | "com.unity.modules.cloth": "1.0.0", 25 | "com.unity.modules.director": "1.0.0", 26 | "com.unity.modules.imageconversion": "1.0.0", 27 | "com.unity.modules.imgui": "1.0.0", 28 | "com.unity.modules.jsonserialize": "1.0.0", 29 | "com.unity.modules.particlesystem": "1.0.0", 30 | "com.unity.modules.physics": "1.0.0", 31 | "com.unity.modules.physics2d": "1.0.0", 32 | "com.unity.modules.screencapture": "1.0.0", 33 | "com.unity.modules.terrain": "1.0.0", 34 | "com.unity.modules.terrainphysics": "1.0.0", 35 | "com.unity.modules.tilemap": "1.0.0", 36 | "com.unity.modules.ui": "1.0.0", 37 | "com.unity.modules.uielements": "1.0.0", 38 | "com.unity.modules.umbra": "1.0.0", 39 | "com.unity.modules.unityanalytics": "1.0.0", 40 | "com.unity.modules.unitywebrequest": "1.0.0", 41 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 42 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 43 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 44 | "com.unity.modules.unitywebrequestwww": "1.0.0", 45 | "com.unity.modules.vehicles": "1.0.0", 46 | "com.unity.modules.video": "1.0.0", 47 | "com.unity.modules.vr": "1.0.0", 48 | "com.unity.modules.wind": "1.0.0", 49 | "com.unity.modules.xr": "1.0.0" 50 | }, 51 | "registry": "https://packages.unity.com", 52 | "scopedRegistries": [ 53 | { 54 | "name": "Improbable", 55 | "url": "https://npm.improbable.io/gdk-for-unity/", 56 | "scopes": [ 57 | "io.improbable" 58 | ] 59 | } 60 | ] 61 | } -------------------------------------------------------------------------------- /workers/unity/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 | -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/BurstAotSettings_Android.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/BurstAotSettings_StandaloneLinux.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": false 10 | } 11 | } -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/BurstAotSettings_StandaloneLinux64.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": false 10 | } 11 | } -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/BurstAotSettings_StandaloneOSX.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": false 10 | } 11 | } -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/BurstAotSettings_StandaloneWindows.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": false 10 | } 11 | } -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/BurstAotSettings_iOS.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "m_Enabled": true, 4 | "m_EditorHideFlags": 0, 5 | "m_Name": "", 6 | "m_EditorClassIdentifier": "Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings", 7 | "DisableOptimisations": false, 8 | "DisableSafetyChecks": true, 9 | "DisableBurstCompilation": false 10 | } 11 | } -------------------------------------------------------------------------------- /workers/unity/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 | -------------------------------------------------------------------------------- /workers/unity/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: 13 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: 1 23 | m_ReuseCollisionCallbacks: 0 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_SolverType: 0 36 | m_DefaultMaxAngularSpeed: 7 37 | -------------------------------------------------------------------------------- /workers/unity/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 | - enabled: 1 9 | path: Assets/Scenes/ClientScene.unity 10 | guid: e9d72ec001e1f42b79ccca8467dcca90 11 | - enabled: 1 12 | path: Assets/Scenes/GameLogicScene.unity 13 | guid: aaa9e72f9f3224639850bd7b630960be 14 | - enabled: 1 15 | path: Assets/Scenes/MobileClientScene.unity 16 | guid: 17bd667c9bc89cf4b8c402299c7aa813 17 | m_configObjects: {} 18 | -------------------------------------------------------------------------------- /workers/unity/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: 2 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;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: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /workers/unity/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 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 40 | m_PreloadedShaders: [] 41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 42 | type: 0} 43 | m_CustomRenderPipeline: {fileID: 0} 44 | m_TransparencySortMode: 0 45 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 46 | m_DefaultRenderingPath: 1 47 | m_DefaultMobileRenderingPath: 1 48 | m_TierSettings: [] 49 | m_LightmapStripping: 0 50 | m_FogStripping: 0 51 | m_InstancingStripping: 0 52 | m_LightmapKeepPlain: 1 53 | m_LightmapKeepDirCombined: 1 54 | m_LightmapKeepDynamicPlain: 1 55 | m_LightmapKeepDynamicDirCombined: 1 56 | m_LightmapKeepShadowMask: 1 57 | m_LightmapKeepSubtractive: 1 58 | m_FogKeepLinear: 1 59 | m_FogKeepExp: 1 60 | m_FogKeepExp2: 1 61 | m_AlbedoSwatchInfos: [] 62 | m_LightsUseLinearIntensity: 0 63 | m_LightsUseColorTemperature: 0 64 | m_LogWhenShaderIsCompiled: 0 65 | m_AllowEnlightenSupportForUpgradedProject: 1 66 | -------------------------------------------------------------------------------- /workers/unity/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 | -------------------------------------------------------------------------------- /workers/unity/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 | -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /workers/unity/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: 0 46 | m_AutoSyncTransforms: 1 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 | -------------------------------------------------------------------------------- /workers/unity/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 | - first: 9 | m_NativeTypeID: 1020 10 | m_ManagedTypePPtr: {fileID: 0} 11 | m_ManagedTypeFallback: 12 | second: 13 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, 14 | type: 2} 15 | m_Filter: 16 | - first: 17 | m_NativeTypeID: 1006 18 | m_ManagedTypePPtr: {fileID: 0} 19 | m_ManagedTypeFallback: 20 | second: 21 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9, 22 | type: 2} 23 | m_Filter: 24 | - first: 25 | m_NativeTypeID: 108 26 | m_ManagedTypePPtr: {fileID: 0} 27 | m_ManagedTypeFallback: 28 | second: 29 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea, 30 | type: 2} 31 | m_Filter: 32 | -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 20 7 | productGUID: 48dba98ff9fbf9e4f825b8a68154a36b 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: Improbable 16 | productName: Blank Project 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 0 51 | m_MTRendering: 1 52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 53 | iosShowActivityIndicatorOnLoading: -1 54 | androidShowActivityIndicatorOnLoading: -1 55 | iosUseCustomAppBackgroundBehavior: 0 56 | iosAllowHTTPDownload: 1 57 | allowedAutorotateToPortrait: 1 58 | allowedAutorotateToPortraitUpsideDown: 1 59 | allowedAutorotateToLandscapeRight: 1 60 | allowedAutorotateToLandscapeLeft: 1 61 | useOSAutorotation: 1 62 | use32BitDisplayBuffer: 1 63 | preserveFramebufferAlpha: 0 64 | disableDepthAndStencilBuffers: 0 65 | androidStartInFullscreen: 1 66 | androidRenderOutsideSafeArea: 0 67 | androidUseSwappy: 0 68 | androidBlitType: 0 69 | defaultIsNativeResolution: 1 70 | macRetinaSupport: 1 71 | runInBackground: 1 72 | captureSingleScreen: 0 73 | muteOtherAudioSources: 0 74 | Prepare IOS For Recording: 0 75 | Force IOS Speakers When Recording: 0 76 | deferSystemGesturesMode: 0 77 | hideHomeButton: 0 78 | submitAnalytics: 1 79 | usePlayerLog: 1 80 | bakeCollisionMeshes: 0 81 | forceSingleInstance: 0 82 | useFlipModelSwapchain: 1 83 | resizableWindow: 0 84 | useMacAppStoreValidation: 0 85 | macAppStoreCategory: public.app-category.games 86 | gpuSkinning: 1 87 | xboxPIXTextureCapture: 0 88 | xboxEnableAvatar: 0 89 | xboxEnableKinect: 0 90 | xboxEnableKinectAutoTracking: 0 91 | xboxEnableFitness: 0 92 | visibleInBackground: 1 93 | allowFullscreenSwitch: 1 94 | fullscreenMode: 1 95 | xboxSpeechDB: 0 96 | xboxEnableHeadOrientation: 0 97 | xboxEnableGuest: 0 98 | xboxEnablePIXSampling: 0 99 | metalFramebufferOnly: 0 100 | xboxOneResolution: 0 101 | xboxOneSResolution: 0 102 | xboxOneXResolution: 3 103 | xboxOneMonoLoggingLevel: 0 104 | xboxOneLoggingLevel: 1 105 | xboxOneDisableEsram: 0 106 | xboxOneEnableTypeOptimization: 0 107 | xboxOnePresentImmediateThreshold: 0 108 | switchQueueCommandMemory: 0 109 | switchQueueControlMemory: 16384 110 | switchQueueComputeMemory: 262144 111 | switchNVNShaderPoolsGranularity: 33554432 112 | switchNVNDefaultPoolsGranularity: 16777216 113 | switchNVNOtherPoolsGranularity: 16777216 114 | vulkanNumSwapchainBuffers: 3 115 | vulkanEnableSetSRGBWrite: 0 116 | m_SupportedAspectRatios: 117 | 4:3: 1 118 | 5:4: 1 119 | 16:10: 1 120 | 16:9: 1 121 | Others: 1 122 | bundleVersion: 0.2.5 123 | preloadedAssets: [] 124 | metroInputSource: 0 125 | wsaTransparentSwapchain: 0 126 | m_HolographicPauseOnTrackingLoss: 1 127 | xboxOneDisableKinectGpuReservation: 0 128 | xboxOneEnable7thCore: 0 129 | vrSettings: 130 | cardboard: 131 | depthFormat: 0 132 | enableTransitionView: 0 133 | daydream: 134 | depthFormat: 0 135 | useSustainedPerformanceMode: 0 136 | enableVideoLayer: 0 137 | useProtectedVideoMemory: 0 138 | minimumSupportedHeadTracking: 0 139 | maximumSupportedHeadTracking: 1 140 | hololens: 141 | depthFormat: 1 142 | depthBufferSharingEnabled: 0 143 | lumin: 144 | depthFormat: 0 145 | frameTiming: 2 146 | enableGLCache: 0 147 | glCacheMaxBlobSize: 524288 148 | glCacheMaxFileSize: 8388608 149 | oculus: 150 | sharedDepthBuffer: 0 151 | dashSupport: 0 152 | lowOverheadMode: 0 153 | protectedContext: 0 154 | v2Signing: 1 155 | enable360StereoCapture: 0 156 | isWsaHolographicRemotingEnabled: 0 157 | enableFrameTimingStats: 0 158 | useHDRDisplay: 0 159 | D3DHDRBitDepth: 0 160 | m_ColorGamuts: 00000000 161 | targetPixelDensity: 30 162 | resolutionScalingMode: 0 163 | androidSupportedAspectRatio: 1 164 | androidMaxAspectRatio: 2.1 165 | applicationIdentifier: 166 | Android: io.improbable.gdk.blankproject 167 | Standalone: io.improbable.gdk.blankproject 168 | iPhone: io.improbable.gdk.blankproject 169 | buildNumber: {} 170 | AndroidBundleVersionCode: 1 171 | AndroidMinSdkVersion: 19 172 | AndroidTargetSdkVersion: 0 173 | AndroidPreferredInstallLocation: 1 174 | aotOptions: 175 | stripEngineCode: 1 176 | iPhoneStrippingLevel: 0 177 | iPhoneScriptCallOptimization: 0 178 | ForceInternetPermission: 1 179 | ForceSDCardPermission: 0 180 | CreateWallpaper: 0 181 | APKExpansionFiles: 0 182 | keepLoadedShadersAlive: 0 183 | StripUnusedMeshComponents: 1 184 | VertexChannelCompressionMask: 4054 185 | iPhoneSdkVersion: 988 186 | iOSTargetOSVersionString: 10.0 187 | tvOSSdkVersion: 0 188 | tvOSRequireExtendedGameController: 0 189 | tvOSTargetOSVersionString: 10.0 190 | uIPrerenderedIcon: 0 191 | uIRequiresPersistentWiFi: 0 192 | uIRequiresFullScreen: 1 193 | uIStatusBarHidden: 1 194 | uIExitOnSuspend: 0 195 | uIStatusBarStyle: 0 196 | iPhoneSplashScreen: {fileID: 0} 197 | iPhoneHighResSplashScreen: {fileID: 0} 198 | iPhoneTallHighResSplashScreen: {fileID: 0} 199 | iPhone47inSplashScreen: {fileID: 0} 200 | iPhone55inPortraitSplashScreen: {fileID: 0} 201 | iPhone55inLandscapeSplashScreen: {fileID: 0} 202 | iPhone58inPortraitSplashScreen: {fileID: 0} 203 | iPhone58inLandscapeSplashScreen: {fileID: 0} 204 | iPadPortraitSplashScreen: {fileID: 0} 205 | iPadHighResPortraitSplashScreen: {fileID: 0} 206 | iPadLandscapeSplashScreen: {fileID: 0} 207 | iPadHighResLandscapeSplashScreen: {fileID: 0} 208 | iPhone65inPortraitSplashScreen: {fileID: 0} 209 | iPhone65inLandscapeSplashScreen: {fileID: 0} 210 | iPhone61inPortraitSplashScreen: {fileID: 0} 211 | iPhone61inLandscapeSplashScreen: {fileID: 0} 212 | appleTVSplashScreen: {fileID: 0} 213 | appleTVSplashScreen2x: {fileID: 0} 214 | tvOSSmallIconLayers: [] 215 | tvOSSmallIconLayers2x: [] 216 | tvOSLargeIconLayers: [] 217 | tvOSLargeIconLayers2x: [] 218 | tvOSTopShelfImageLayers: [] 219 | tvOSTopShelfImageLayers2x: [] 220 | tvOSTopShelfImageWideLayers: [] 221 | tvOSTopShelfImageWideLayers2x: [] 222 | iOSLaunchScreenType: 0 223 | iOSLaunchScreenPortrait: {fileID: 0} 224 | iOSLaunchScreenLandscape: {fileID: 0} 225 | iOSLaunchScreenBackgroundColor: 226 | serializedVersion: 2 227 | rgba: 0 228 | iOSLaunchScreenFillPct: 100 229 | iOSLaunchScreenSize: 100 230 | iOSLaunchScreenCustomXibPath: 231 | iOSLaunchScreeniPadType: 0 232 | iOSLaunchScreeniPadImage: {fileID: 0} 233 | iOSLaunchScreeniPadBackgroundColor: 234 | serializedVersion: 2 235 | rgba: 0 236 | iOSLaunchScreeniPadFillPct: 100 237 | iOSLaunchScreeniPadSize: 100 238 | iOSLaunchScreeniPadCustomXibPath: 239 | iOSUseLaunchScreenStoryboard: 0 240 | iOSLaunchScreenCustomStoryboardPath: 241 | iOSDeviceRequirements: [] 242 | iOSURLSchemes: [] 243 | iOSBackgroundModes: 0 244 | iOSMetalForceHardShadows: 0 245 | metalEditorSupport: 1 246 | metalAPIValidation: 1 247 | iOSRenderExtraFrameOnPause: 0 248 | appleDeveloperTeamID: 249 | iOSManualSigningProvisioningProfileID: 250 | tvOSManualSigningProvisioningProfileID: 251 | iOSManualSigningProvisioningProfileType: 0 252 | tvOSManualSigningProvisioningProfileType: 0 253 | appleEnableAutomaticSigning: 0 254 | iOSRequireARKit: 0 255 | iOSAutomaticallyDetectAndAddCapabilities: 1 256 | appleEnableProMotion: 0 257 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea 258 | templatePackageId: com.unity.3d@1.0.2 259 | templateDefaultScene: Assets/Scenes/SampleScene.unity 260 | AndroidTargetArchitectures: 5 261 | AndroidSplashScreenScale: 0 262 | androidSplashScreen: {fileID: 0} 263 | AndroidKeystoreName: '{inproject}: ' 264 | AndroidKeyaliasName: 265 | AndroidBuildApkPerCpuArchitecture: 0 266 | AndroidTVCompatibility: 1 267 | AndroidIsGame: 1 268 | AndroidEnableTango: 0 269 | androidEnableBanner: 1 270 | androidUseLowAccuracyLocation: 0 271 | androidUseCustomKeystore: 0 272 | m_AndroidBanners: 273 | - width: 320 274 | height: 180 275 | banner: {fileID: 0} 276 | androidGamepadSupportLevel: 0 277 | AndroidValidateAppBundleSize: 1 278 | AndroidAppBundleSizeToValidate: 150 279 | m_BuildTargetIcons: [] 280 | m_BuildTargetPlatformIcons: 281 | - m_BuildTarget: Android 282 | m_Icons: 283 | - m_Textures: [] 284 | m_Width: 432 285 | m_Height: 432 286 | m_Kind: 2 287 | m_SubKind: 288 | - m_Textures: [] 289 | m_Width: 324 290 | m_Height: 324 291 | m_Kind: 2 292 | m_SubKind: 293 | - m_Textures: [] 294 | m_Width: 216 295 | m_Height: 216 296 | m_Kind: 2 297 | m_SubKind: 298 | - m_Textures: [] 299 | m_Width: 162 300 | m_Height: 162 301 | m_Kind: 2 302 | m_SubKind: 303 | - m_Textures: [] 304 | m_Width: 108 305 | m_Height: 108 306 | m_Kind: 2 307 | m_SubKind: 308 | - m_Textures: [] 309 | m_Width: 81 310 | m_Height: 81 311 | m_Kind: 2 312 | m_SubKind: 313 | - m_Textures: [] 314 | m_Width: 192 315 | m_Height: 192 316 | m_Kind: 0 317 | m_SubKind: 318 | - m_Textures: [] 319 | m_Width: 144 320 | m_Height: 144 321 | m_Kind: 0 322 | m_SubKind: 323 | - m_Textures: [] 324 | m_Width: 96 325 | m_Height: 96 326 | m_Kind: 0 327 | m_SubKind: 328 | - m_Textures: [] 329 | m_Width: 72 330 | m_Height: 72 331 | m_Kind: 0 332 | m_SubKind: 333 | - m_Textures: [] 334 | m_Width: 48 335 | m_Height: 48 336 | m_Kind: 0 337 | m_SubKind: 338 | - m_Textures: [] 339 | m_Width: 36 340 | m_Height: 36 341 | m_Kind: 0 342 | m_SubKind: 343 | - m_Textures: [] 344 | m_Width: 192 345 | m_Height: 192 346 | m_Kind: 1 347 | m_SubKind: 348 | - m_Textures: [] 349 | m_Width: 144 350 | m_Height: 144 351 | m_Kind: 1 352 | m_SubKind: 353 | - m_Textures: [] 354 | m_Width: 96 355 | m_Height: 96 356 | m_Kind: 1 357 | m_SubKind: 358 | - m_Textures: [] 359 | m_Width: 72 360 | m_Height: 72 361 | m_Kind: 1 362 | m_SubKind: 363 | - m_Textures: [] 364 | m_Width: 48 365 | m_Height: 48 366 | m_Kind: 1 367 | m_SubKind: 368 | - m_Textures: [] 369 | m_Width: 36 370 | m_Height: 36 371 | m_Kind: 1 372 | m_SubKind: 373 | m_BuildTargetBatching: 374 | - m_BuildTarget: Standalone 375 | m_StaticBatching: 1 376 | m_DynamicBatching: 0 377 | - m_BuildTarget: tvOS 378 | m_StaticBatching: 1 379 | m_DynamicBatching: 0 380 | - m_BuildTarget: Android 381 | m_StaticBatching: 1 382 | m_DynamicBatching: 0 383 | - m_BuildTarget: iPhone 384 | m_StaticBatching: 1 385 | m_DynamicBatching: 0 386 | - m_BuildTarget: WebGL 387 | m_StaticBatching: 0 388 | m_DynamicBatching: 0 389 | m_BuildTargetGraphicsJobs: 390 | - m_BuildTarget: MacStandaloneSupport 391 | m_GraphicsJobs: 0 392 | - m_BuildTarget: Switch 393 | m_GraphicsJobs: 0 394 | - m_BuildTarget: MetroSupport 395 | m_GraphicsJobs: 0 396 | - m_BuildTarget: AppleTVSupport 397 | m_GraphicsJobs: 0 398 | - m_BuildTarget: BJMSupport 399 | m_GraphicsJobs: 0 400 | - m_BuildTarget: LinuxStandaloneSupport 401 | m_GraphicsJobs: 0 402 | - m_BuildTarget: PS4Player 403 | m_GraphicsJobs: 0 404 | - m_BuildTarget: iOSSupport 405 | m_GraphicsJobs: 0 406 | - m_BuildTarget: WindowsStandaloneSupport 407 | m_GraphicsJobs: 0 408 | - m_BuildTarget: XboxOnePlayer 409 | m_GraphicsJobs: 0 410 | - m_BuildTarget: LuminSupport 411 | m_GraphicsJobs: 0 412 | - m_BuildTarget: AndroidPlayer 413 | m_GraphicsJobs: 0 414 | - m_BuildTarget: WebGLSupport 415 | m_GraphicsJobs: 0 416 | m_BuildTargetGraphicsJobMode: 417 | - m_BuildTarget: PS4Player 418 | m_GraphicsJobMode: 0 419 | - m_BuildTarget: XboxOnePlayer 420 | m_GraphicsJobMode: 0 421 | m_BuildTargetGraphicsAPIs: 422 | - m_BuildTarget: AndroidPlayer 423 | m_APIs: 0b00000015000000 424 | m_Automatic: 1 425 | - m_BuildTarget: iOSSupport 426 | m_APIs: 10000000 427 | m_Automatic: 1 428 | - m_BuildTarget: AppleTVSupport 429 | m_APIs: 10000000 430 | m_Automatic: 0 431 | - m_BuildTarget: WebGLSupport 432 | m_APIs: 0b000000 433 | m_Automatic: 1 434 | m_BuildTargetVRSettings: 435 | - m_BuildTarget: Standalone 436 | m_Enabled: 0 437 | m_Devices: 438 | - Oculus 439 | - OpenVR 440 | openGLRequireES31: 0 441 | openGLRequireES31AEP: 0 442 | openGLRequireES32: 0 443 | m_TemplateCustomTags: {} 444 | mobileMTRendering: 445 | Android: 1 446 | iPhone: 1 447 | tvOS: 1 448 | m_BuildTargetGroupLightmapEncodingQuality: [] 449 | m_BuildTargetGroupLightmapSettings: [] 450 | playModeTestRunnerEnabled: 0 451 | runPlayModeTestAsEditModeTest: 0 452 | actionOnDotNetUnhandledException: 1 453 | enableInternalProfiler: 0 454 | logObjCUncaughtExceptions: 1 455 | enableCrashReportAPI: 0 456 | cameraUsageDescription: 457 | locationUsageDescription: 458 | microphoneUsageDescription: 459 | switchNetLibKey: 460 | switchSocketMemoryPoolSize: 6144 461 | switchSocketAllocatorPoolSize: 128 462 | switchSocketConcurrencyLimit: 14 463 | switchScreenResolutionBehavior: 2 464 | switchUseCPUProfiler: 0 465 | switchApplicationID: 0x01004b9000490000 466 | switchNSODependencies: 467 | switchTitleNames_0: 468 | switchTitleNames_1: 469 | switchTitleNames_2: 470 | switchTitleNames_3: 471 | switchTitleNames_4: 472 | switchTitleNames_5: 473 | switchTitleNames_6: 474 | switchTitleNames_7: 475 | switchTitleNames_8: 476 | switchTitleNames_9: 477 | switchTitleNames_10: 478 | switchTitleNames_11: 479 | switchTitleNames_12: 480 | switchTitleNames_13: 481 | switchTitleNames_14: 482 | switchPublisherNames_0: 483 | switchPublisherNames_1: 484 | switchPublisherNames_2: 485 | switchPublisherNames_3: 486 | switchPublisherNames_4: 487 | switchPublisherNames_5: 488 | switchPublisherNames_6: 489 | switchPublisherNames_7: 490 | switchPublisherNames_8: 491 | switchPublisherNames_9: 492 | switchPublisherNames_10: 493 | switchPublisherNames_11: 494 | switchPublisherNames_12: 495 | switchPublisherNames_13: 496 | switchPublisherNames_14: 497 | switchIcons_0: {fileID: 0} 498 | switchIcons_1: {fileID: 0} 499 | switchIcons_2: {fileID: 0} 500 | switchIcons_3: {fileID: 0} 501 | switchIcons_4: {fileID: 0} 502 | switchIcons_5: {fileID: 0} 503 | switchIcons_6: {fileID: 0} 504 | switchIcons_7: {fileID: 0} 505 | switchIcons_8: {fileID: 0} 506 | switchIcons_9: {fileID: 0} 507 | switchIcons_10: {fileID: 0} 508 | switchIcons_11: {fileID: 0} 509 | switchIcons_12: {fileID: 0} 510 | switchIcons_13: {fileID: 0} 511 | switchIcons_14: {fileID: 0} 512 | switchSmallIcons_0: {fileID: 0} 513 | switchSmallIcons_1: {fileID: 0} 514 | switchSmallIcons_2: {fileID: 0} 515 | switchSmallIcons_3: {fileID: 0} 516 | switchSmallIcons_4: {fileID: 0} 517 | switchSmallIcons_5: {fileID: 0} 518 | switchSmallIcons_6: {fileID: 0} 519 | switchSmallIcons_7: {fileID: 0} 520 | switchSmallIcons_8: {fileID: 0} 521 | switchSmallIcons_9: {fileID: 0} 522 | switchSmallIcons_10: {fileID: 0} 523 | switchSmallIcons_11: {fileID: 0} 524 | switchSmallIcons_12: {fileID: 0} 525 | switchSmallIcons_13: {fileID: 0} 526 | switchSmallIcons_14: {fileID: 0} 527 | switchManualHTML: 528 | switchAccessibleURLs: 529 | switchLegalInformation: 530 | switchMainThreadStackSize: 1048576 531 | switchPresenceGroupId: 532 | switchLogoHandling: 0 533 | switchReleaseVersion: 0 534 | switchDisplayVersion: 1.0.0 535 | switchStartupUserAccount: 0 536 | switchTouchScreenUsage: 0 537 | switchSupportedLanguagesMask: 0 538 | switchLogoType: 0 539 | switchApplicationErrorCodeCategory: 540 | switchUserAccountSaveDataSize: 0 541 | switchUserAccountSaveDataJournalSize: 0 542 | switchApplicationAttribute: 0 543 | switchCardSpecSize: -1 544 | switchCardSpecClock: -1 545 | switchRatingsMask: 0 546 | switchRatingsInt_0: 0 547 | switchRatingsInt_1: 0 548 | switchRatingsInt_2: 0 549 | switchRatingsInt_3: 0 550 | switchRatingsInt_4: 0 551 | switchRatingsInt_5: 0 552 | switchRatingsInt_6: 0 553 | switchRatingsInt_7: 0 554 | switchRatingsInt_8: 0 555 | switchRatingsInt_9: 0 556 | switchRatingsInt_10: 0 557 | switchRatingsInt_11: 0 558 | switchRatingsInt_12: 0 559 | switchLocalCommunicationIds_0: 560 | switchLocalCommunicationIds_1: 561 | switchLocalCommunicationIds_2: 562 | switchLocalCommunicationIds_3: 563 | switchLocalCommunicationIds_4: 564 | switchLocalCommunicationIds_5: 565 | switchLocalCommunicationIds_6: 566 | switchLocalCommunicationIds_7: 567 | switchParentalControl: 0 568 | switchAllowsScreenshot: 1 569 | switchAllowsVideoCapturing: 1 570 | switchAllowsRuntimeAddOnContentInstall: 0 571 | switchDataLossConfirmation: 0 572 | switchUserAccountLockEnabled: 0 573 | switchSystemResourceMemory: 16777216 574 | switchSupportedNpadStyles: 3 575 | switchNativeFsCacheSize: 32 576 | switchIsHoldTypeHorizontal: 0 577 | switchSupportedNpadCount: 8 578 | switchSocketConfigEnabled: 0 579 | switchTcpInitialSendBufferSize: 32 580 | switchTcpInitialReceiveBufferSize: 64 581 | switchTcpAutoSendBufferSizeMax: 256 582 | switchTcpAutoReceiveBufferSizeMax: 256 583 | switchUdpSendBufferSize: 9 584 | switchUdpReceiveBufferSize: 42 585 | switchSocketBufferEfficiency: 4 586 | switchSocketInitializeEnabled: 1 587 | switchNetworkInterfaceManagerInitializeEnabled: 1 588 | switchPlayerConnectionEnabled: 1 589 | ps4NPAgeRating: 12 590 | ps4NPTitleSecret: 591 | ps4NPTrophyPackPath: 592 | ps4ParentalLevel: 11 593 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 594 | ps4Category: 0 595 | ps4MasterVersion: 01.00 596 | ps4AppVersion: 01.00 597 | ps4AppType: 0 598 | ps4ParamSfxPath: 599 | ps4VideoOutPixelFormat: 0 600 | ps4VideoOutInitialWidth: 1920 601 | ps4VideoOutBaseModeInitialWidth: 1920 602 | ps4VideoOutReprojectionRate: 60 603 | ps4PronunciationXMLPath: 604 | ps4PronunciationSIGPath: 605 | ps4BackgroundImagePath: 606 | ps4StartupImagePath: 607 | ps4StartupImagesFolder: 608 | ps4IconImagesFolder: 609 | ps4SaveDataImagePath: 610 | ps4SdkOverride: 611 | ps4BGMPath: 612 | ps4ShareFilePath: 613 | ps4ShareOverlayImagePath: 614 | ps4PrivacyGuardImagePath: 615 | ps4NPtitleDatPath: 616 | ps4RemotePlayKeyAssignment: -1 617 | ps4RemotePlayKeyMappingDir: 618 | ps4PlayTogetherPlayerCount: 0 619 | ps4EnterButtonAssignment: 1 620 | ps4ApplicationParam1: 0 621 | ps4ApplicationParam2: 0 622 | ps4ApplicationParam3: 0 623 | ps4ApplicationParam4: 0 624 | ps4DownloadDataSize: 0 625 | ps4GarlicHeapSize: 2048 626 | ps4ProGarlicHeapSize: 2560 627 | playerPrefsMaxSize: 32768 628 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 629 | ps4pnSessions: 1 630 | ps4pnPresence: 1 631 | ps4pnFriends: 1 632 | ps4pnGameCustomData: 1 633 | playerPrefsSupport: 0 634 | enableApplicationExit: 0 635 | resetTempFolder: 1 636 | restrictedAudioUsageRights: 0 637 | ps4UseResolutionFallback: 0 638 | ps4ReprojectionSupport: 0 639 | ps4UseAudio3dBackend: 0 640 | ps4SocialScreenEnabled: 0 641 | ps4ScriptOptimizationLevel: 0 642 | ps4Audio3dVirtualSpeakerCount: 14 643 | ps4attribCpuUsage: 0 644 | ps4PatchPkgPath: 645 | ps4PatchLatestPkgPath: 646 | ps4PatchChangeinfoPath: 647 | ps4PatchDayOne: 0 648 | ps4attribUserManagement: 0 649 | ps4attribMoveSupport: 0 650 | ps4attrib3DSupport: 0 651 | ps4attribShareSupport: 0 652 | ps4attribExclusiveVR: 0 653 | ps4disableAutoHideSplash: 0 654 | ps4videoRecordingFeaturesUsed: 0 655 | ps4contentSearchFeaturesUsed: 0 656 | ps4attribEyeToEyeDistanceSettingVR: 0 657 | ps4IncludedModules: [] 658 | ps4attribVROutputEnabled: 0 659 | monoEnv: 660 | splashScreenBackgroundSourceLandscape: {fileID: 0} 661 | splashScreenBackgroundSourcePortrait: {fileID: 0} 662 | blurSplashScreenBackground: 1 663 | spritePackerPolicy: 664 | webGLMemorySize: 256 665 | webGLExceptionSupport: 1 666 | webGLNameFilesAsHashes: 0 667 | webGLDataCaching: 1 668 | webGLDebugSymbols: 0 669 | webGLEmscriptenArgs: 670 | webGLModulesDirectory: 671 | webGLTemplate: APPLICATION:Default 672 | webGLAnalyzeBuildSize: 0 673 | webGLUseEmbeddedResources: 0 674 | webGLCompressionFormat: 1 675 | webGLLinkerTarget: 1 676 | webGLThreadsSupport: 0 677 | webGLWasmStreaming: 0 678 | scriptingDefineSymbols: 679 | 1: 680 | 4: 681 | 7: 682 | platformArchitecture: {} 683 | scriptingBackend: 684 | Android: 0 685 | Standalone: 0 686 | il2cppCompilerConfiguration: {} 687 | managedStrippingLevel: {} 688 | incrementalIl2cppBuild: {} 689 | allowUnsafeCode: 0 690 | additionalIl2CppArgs: 691 | scriptingRuntimeVersion: 1 692 | gcIncremental: 0 693 | gcWBarrierValidation: 0 694 | apiCompatibilityLevelPerPlatform: 695 | Android: 6 696 | Standalone: 6 697 | iPhone: 6 698 | m_RenderingPath: 1 699 | m_MobileRenderingPath: 1 700 | metroPackageName: Template_3D 701 | metroPackageVersion: 702 | metroCertificatePath: 703 | metroCertificatePassword: 704 | metroCertificateSubject: 705 | metroCertificateIssuer: 706 | metroCertificateNotAfter: 0000000000000000 707 | metroApplicationDescription: Template_3D 708 | wsaImages: {} 709 | metroTileShortName: 710 | metroTileShowName: 0 711 | metroMediumTileShowName: 0 712 | metroLargeTileShowName: 0 713 | metroWideTileShowName: 0 714 | metroSupportStreamingInstall: 0 715 | metroLastRequiredScene: 0 716 | metroDefaultTileSize: 1 717 | metroTileForegroundText: 2 718 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 719 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 720 | a: 1} 721 | metroSplashScreenUseBackgroundColor: 0 722 | platformCapabilities: {} 723 | metroTargetDeviceFamilies: {} 724 | metroFTAName: 725 | metroFTAFileTypes: [] 726 | metroProtocolName: 727 | XboxOneProductId: 728 | XboxOneUpdateKey: 729 | XboxOneSandboxId: 730 | XboxOneContentId: 731 | XboxOneTitleId: 732 | XboxOneSCId: 733 | XboxOneGameOsOverridePath: 734 | XboxOnePackagingOverridePath: 735 | XboxOneAppManifestOverridePath: 736 | XboxOneVersion: 1.0.0.0 737 | XboxOnePackageEncryption: 0 738 | XboxOnePackageUpdateGranularity: 2 739 | XboxOneDescription: 740 | XboxOneLanguage: 741 | - enus 742 | XboxOneCapability: [] 743 | XboxOneGameRating: {} 744 | XboxOneIsContentPackage: 0 745 | XboxOneEnableGPUVariability: 0 746 | XboxOneSockets: {} 747 | XboxOneSplashScreen: {fileID: 0} 748 | XboxOneAllowedProductIds: [] 749 | XboxOnePersistentLocalStorageSize: 0 750 | XboxOneXTitleMemory: 8 751 | XboxOneOverrideIdentityName: 752 | vrEditorSettings: 753 | daydream: 754 | daydreamIconForeground: {fileID: 0} 755 | daydreamIconBackground: {fileID: 0} 756 | cloudServicesEnabled: 757 | UNet: 1 758 | luminIcon: 759 | m_Name: 760 | m_ModelFolderPath: 761 | m_PortalFolderPath: 762 | luminCert: 763 | m_CertPath: 764 | m_SignPackage: 1 765 | luminIsChannelApp: 0 766 | luminVersion: 767 | m_VersionCode: 1 768 | m_VersionName: 769 | apiCompatibilityLevel: 3 770 | cloudProjectId: 771 | framebufferDepthMemorylessMode: 0 772 | projectName: 773 | organizationId: 774 | cloudEnabled: 0 775 | enableNativePlatformBackendsForNewInputSystem: 0 776 | disableOldInputManagerSupport: 0 777 | legacyClampBlendShapeWeights: 1 778 | -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2020.1.2f1 2 | m_EditorVersionWithRevision: 2020.1.2f1 (7b32bc54ba47) 3 | -------------------------------------------------------------------------------- /workers/unity/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: 4 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 | skinWeights: 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: 4 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | customRenderPipeline: {fileID: 0} 44 | excludedTargetPlatforms: [] 45 | - serializedVersion: 2 46 | name: Low 47 | pixelLightCount: 0 48 | shadows: 0 49 | shadowResolution: 0 50 | shadowProjection: 1 51 | shadowCascades: 1 52 | shadowDistance: 20 53 | shadowNearPlaneOffset: 3 54 | shadowCascade2Split: 0.33333334 55 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 56 | shadowmaskMode: 0 57 | skinWeights: 2 58 | textureQuality: 0 59 | anisotropicTextures: 0 60 | antiAliasing: 0 61 | softParticles: 0 62 | softVegetation: 0 63 | realtimeReflectionProbes: 0 64 | billboardsFaceCameraPosition: 0 65 | vSyncCount: 0 66 | lodBias: 0.4 67 | maximumLODLevel: 0 68 | streamingMipmapsActive: 0 69 | streamingMipmapsAddAllCameras: 1 70 | streamingMipmapsMemoryBudget: 512 71 | streamingMipmapsRenderersPerFrame: 512 72 | streamingMipmapsMaxLevelReduction: 2 73 | streamingMipmapsMaxFileIORequests: 1024 74 | particleRaycastBudget: 16 75 | asyncUploadTimeSlice: 2 76 | asyncUploadBufferSize: 4 77 | asyncUploadPersistentBuffer: 1 78 | resolutionScalingFixedDPIFactor: 1 79 | customRenderPipeline: {fileID: 0} 80 | excludedTargetPlatforms: [] 81 | - serializedVersion: 2 82 | name: Medium 83 | pixelLightCount: 1 84 | shadows: 1 85 | shadowResolution: 0 86 | shadowProjection: 1 87 | shadowCascades: 1 88 | shadowDistance: 20 89 | shadowNearPlaneOffset: 3 90 | shadowCascade2Split: 0.33333334 91 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 92 | shadowmaskMode: 0 93 | skinWeights: 2 94 | textureQuality: 0 95 | anisotropicTextures: 1 96 | antiAliasing: 0 97 | softParticles: 0 98 | softVegetation: 0 99 | realtimeReflectionProbes: 0 100 | billboardsFaceCameraPosition: 0 101 | vSyncCount: 1 102 | lodBias: 0.7 103 | maximumLODLevel: 0 104 | streamingMipmapsActive: 0 105 | streamingMipmapsAddAllCameras: 1 106 | streamingMipmapsMemoryBudget: 512 107 | streamingMipmapsRenderersPerFrame: 512 108 | streamingMipmapsMaxLevelReduction: 2 109 | streamingMipmapsMaxFileIORequests: 1024 110 | particleRaycastBudget: 64 111 | asyncUploadTimeSlice: 2 112 | asyncUploadBufferSize: 4 113 | asyncUploadPersistentBuffer: 1 114 | resolutionScalingFixedDPIFactor: 1 115 | customRenderPipeline: {fileID: 0} 116 | excludedTargetPlatforms: [] 117 | - serializedVersion: 2 118 | name: High 119 | pixelLightCount: 2 120 | shadows: 2 121 | shadowResolution: 1 122 | shadowProjection: 1 123 | shadowCascades: 2 124 | shadowDistance: 40 125 | shadowNearPlaneOffset: 3 126 | shadowCascade2Split: 0.33333334 127 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 128 | shadowmaskMode: 1 129 | skinWeights: 2 130 | textureQuality: 0 131 | anisotropicTextures: 1 132 | antiAliasing: 2 133 | softParticles: 0 134 | softVegetation: 1 135 | realtimeReflectionProbes: 1 136 | billboardsFaceCameraPosition: 1 137 | vSyncCount: 1 138 | lodBias: 1 139 | maximumLODLevel: 0 140 | streamingMipmapsActive: 0 141 | streamingMipmapsAddAllCameras: 1 142 | streamingMipmapsMemoryBudget: 512 143 | streamingMipmapsRenderersPerFrame: 512 144 | streamingMipmapsMaxLevelReduction: 2 145 | streamingMipmapsMaxFileIORequests: 1024 146 | particleRaycastBudget: 256 147 | asyncUploadTimeSlice: 2 148 | asyncUploadBufferSize: 4 149 | asyncUploadPersistentBuffer: 1 150 | resolutionScalingFixedDPIFactor: 1 151 | customRenderPipeline: {fileID: 0} 152 | excludedTargetPlatforms: [] 153 | - serializedVersion: 2 154 | name: Very High 155 | pixelLightCount: 3 156 | shadows: 2 157 | shadowResolution: 2 158 | shadowProjection: 1 159 | shadowCascades: 2 160 | shadowDistance: 40 161 | shadowNearPlaneOffset: 3 162 | shadowCascade2Split: 0.33333334 163 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 164 | shadowmaskMode: 1 165 | skinWeights: 4 166 | textureQuality: 0 167 | anisotropicTextures: 1 168 | antiAliasing: 4 169 | softParticles: 1 170 | softVegetation: 1 171 | realtimeReflectionProbes: 1 172 | billboardsFaceCameraPosition: 1 173 | vSyncCount: 1 174 | lodBias: 1.5 175 | maximumLODLevel: 0 176 | streamingMipmapsActive: 0 177 | streamingMipmapsAddAllCameras: 1 178 | streamingMipmapsMemoryBudget: 512 179 | streamingMipmapsRenderersPerFrame: 512 180 | streamingMipmapsMaxLevelReduction: 2 181 | streamingMipmapsMaxFileIORequests: 1024 182 | particleRaycastBudget: 1024 183 | asyncUploadTimeSlice: 2 184 | asyncUploadBufferSize: 4 185 | asyncUploadPersistentBuffer: 1 186 | resolutionScalingFixedDPIFactor: 1 187 | customRenderPipeline: {fileID: 0} 188 | excludedTargetPlatforms: [] 189 | - serializedVersion: 2 190 | name: Ultra 191 | pixelLightCount: 4 192 | shadows: 2 193 | shadowResolution: 2 194 | shadowProjection: 1 195 | shadowCascades: 4 196 | shadowDistance: 150 197 | shadowNearPlaneOffset: 3 198 | shadowCascade2Split: 0.33333334 199 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 200 | shadowmaskMode: 1 201 | skinWeights: 4 202 | textureQuality: 0 203 | anisotropicTextures: 1 204 | antiAliasing: 4 205 | softParticles: 1 206 | softVegetation: 1 207 | realtimeReflectionProbes: 1 208 | billboardsFaceCameraPosition: 1 209 | vSyncCount: 1 210 | lodBias: 2 211 | maximumLODLevel: 0 212 | streamingMipmapsActive: 0 213 | streamingMipmapsAddAllCameras: 1 214 | streamingMipmapsMemoryBudget: 512 215 | streamingMipmapsRenderersPerFrame: 512 216 | streamingMipmapsMaxLevelReduction: 2 217 | streamingMipmapsMaxFileIORequests: 1024 218 | particleRaycastBudget: 4096 219 | asyncUploadTimeSlice: 2 220 | asyncUploadBufferSize: 4 221 | asyncUploadPersistentBuffer: 1 222 | resolutionScalingFixedDPIFactor: 1 223 | customRenderPipeline: {fileID: 0} 224 | excludedTargetPlatforms: [] 225 | m_PerPlatformDefaultQuality: {} 226 | -------------------------------------------------------------------------------- /workers/unity/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 | - PostProcessing 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 | -------------------------------------------------------------------------------- /workers/unity/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.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /workers/unity/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 | -------------------------------------------------------------------------------- /workers/unity/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /workers/unity/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 | } -------------------------------------------------------------------------------- /workers/unity/spatialos.MobileClient.worker.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "tasks": [ 4 | { 5 | "name": "Codegen", 6 | "steps": [{"name": "** Open Unity to generate code **", "command": "echo", "arguments": ["No-op."]}] 7 | }, 8 | { 9 | "name": "build", 10 | "steps": [{"name": "** Open Unity to build for Android / iOS **", "command": "echo", "arguments": ["No-op."]}] 11 | }, 12 | { 13 | "name": "clean", 14 | "steps": [{"name": "No-op", "command": "echo", "arguments": ["No-op."]}] 15 | } 16 | ] 17 | }, 18 | "bridge": { 19 | "worker_attribute_set": { 20 | "attributes": [ 21 | "MobileClient" 22 | ] 23 | }, 24 | "component_delivery": { 25 | "default": "RELIABLE_ORDERED", 26 | "checkoutAllInitially": false 27 | } 28 | }, 29 | "external": { 30 | "default": { 31 | "run_type": "EXECUTABLE", 32 | "windows": { 33 | "command": "echo", 34 | "arguments": [ 35 | "+workerType", 36 | "MobileClient", 37 | "This worker can only be run on Android / iOS." 38 | ] 39 | }, 40 | "macos": { 41 | "command": "echo", 42 | "arguments": [ 43 | "+workerType", 44 | "MobileClient", 45 | "This worker can only be run on Android / iOS." 46 | ] 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /workers/unity/spatialos.UnityClient.worker.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "tasks": [ 4 | { 5 | "name": "Codegen", 6 | "steps": [{"name": "** Load Unity to generate code **", "command": "echo", "arguments": ["No-op."]}] 7 | }, 8 | { 9 | "name": "build", 10 | "steps": [{"name": "** Open Unity to build a client. **", "command": "echo", "arguments": ["No-op."]}] 11 | }, 12 | { 13 | "name": "clean", 14 | "steps": [{"name": "No-op", "command": "echo", "arguments": ["No-op."]}] 15 | } 16 | ] 17 | }, 18 | "bridge": { 19 | "worker_attribute_set": { 20 | "attributes": [ 21 | "UnityClient" 22 | ] 23 | }, 24 | "component_delivery": { 25 | "default": "RELIABLE_ORDERED", 26 | "checkoutAllInitially": false 27 | } 28 | }, 29 | "external": { 30 | "default": { 31 | "run_type": "EXECUTABLE", 32 | "windows": { 33 | "command": "build/worker/UnityClient@Windows/UnityClient@Windows.exe", 34 | "arguments": [ 35 | "+workerType", 36 | "UnityClient", 37 | "-logfile", 38 | "../../logs/external-default-unityclient.log" 39 | ] 40 | }, 41 | "macos": { 42 | "command": "open", 43 | "arguments": [ 44 | "-n", 45 | "./build/worker/UnityClient@Mac/UnityClient@Mac.app", 46 | "--args", 47 | "+workerType", 48 | "UnityClient", 49 | "-logfile", 50 | "../../logs/external-default-unityclient.log" 51 | ] 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /workers/unity/spatialos.UnityGameLogic.worker.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "tasks": [ 4 | { 5 | "name": "Codegen", 6 | "steps": [{"name": "** Load Unity to generate code **", "command": "echo", "arguments": ["No-op."]}] 7 | }, 8 | { 9 | "name": "build", 10 | "steps": [{"name": "** Open Unity to build the gamelogic worker. **", "command": "echo", "arguments": ["No-op."]}] 11 | }, 12 | { 13 | "name": "clean", 14 | "steps": [{"name": "No-op", "command": "echo", "arguments": ["No-op."]}] 15 | } 16 | ] 17 | }, 18 | "bridge": { 19 | "worker_attribute_set": { 20 | "attributes": [ 21 | "UnityGameLogic" 22 | ] 23 | }, 24 | "component_delivery": { 25 | "default": "RELIABLE_ORDERED", 26 | "checkoutAllInitially": false 27 | } 28 | }, 29 | "external": { 30 | "default": { 31 | "run_type": "EXECUTABLE", 32 | "windows": { 33 | "command": "build/worker/UnityGameLogic@Windows/UnityGameLogic@Windows.exe", 34 | "arguments": [ 35 | "+workerType", 36 | "UnityGameLogic", 37 | "-batchmode", 38 | "-nographics", 39 | "-logfile", 40 | "../../logs/external-default-unitygamelogic.log" 41 | ] 42 | }, 43 | "macos": { 44 | "command": "open", 45 | "arguments": [ 46 | "-n", 47 | "./build/worker/UnityGameLogic@Mac/UnityGameLogic@Mac.app", 48 | "--args", 49 | "+workerType", 50 | "UnityGameLogic", 51 | "-batchmode", 52 | "-nographics", 53 | "-logfile", 54 | "../../logs/external-default-unitygamelogic.log" 55 | ] 56 | } 57 | } 58 | }, 59 | "managed": { 60 | "windows": { 61 | "artifact_name": "UnityGameLogic@Windows.zip", 62 | "command": "UnityGameLogic@Windows.exe", 63 | "arguments": [ 64 | "+workerType", 65 | "UnityGameLogic", 66 | "+workerId", 67 | "${IMPROBABLE_WORKER_ID}", 68 | "+receptionistHost", 69 | "${IMPROBABLE_RECEPTIONIST_HOST}", 70 | "+receptionistPort", 71 | "${IMPROBABLE_RECEPTIONIST_PORT}", 72 | "+linkProtocol", 73 | "Tcp", 74 | "-batchmode", 75 | "-nographics", 76 | "-logfile", 77 | "${IMPROBABLE_LOG_FILE}" 78 | ] 79 | }, 80 | "macos": { 81 | "artifact_name": "UnityGameLogic@Mac.zip", 82 | "command": "UnityGameLogic@Mac.app/Contents/MacOS/UnityGameLogic@Mac", 83 | "arguments": [ 84 | "+workerType", 85 | "UnityGameLogic", 86 | "+workerId", 87 | "${IMPROBABLE_WORKER_ID}", 88 | "+receptionistHost", 89 | "${IMPROBABLE_RECEPTIONIST_HOST}", 90 | "+receptionistPort", 91 | "${IMPROBABLE_RECEPTIONIST_PORT}", 92 | "+linkProtocol", 93 | "Tcp", 94 | "-batchmode", 95 | "-nographics", 96 | "-logfile", 97 | "${IMPROBABLE_LOG_FILE}" 98 | ] 99 | }, 100 | "linux": { 101 | "artifact_name": "UnityGameLogic@Linux.zip", 102 | "command": "UnityGameLogic@Linux", 103 | "arguments": [ 104 | "+workerType", 105 | "UnityGameLogic", 106 | "+workerId", 107 | "${IMPROBABLE_WORKER_ID}", 108 | "+receptionistHost", 109 | "${IMPROBABLE_RECEPTIONIST_HOST}", 110 | "+receptionistPort", 111 | "${IMPROBABLE_RECEPTIONIST_PORT}", 112 | "+linkProtocol", 113 | "Tcp", 114 | "-batchmode", 115 | "-nographics", 116 | "-logfile", 117 | "${IMPROBABLE_LOG_FILE}" 118 | ] 119 | } 120 | } 121 | } 122 | --------------------------------------------------------------------------------