Setup scene, spawn sprites within different zones, NOOP burst compile flow

This commit is contained in:
Joseph Ferano 2024-07-26 07:54:42 +07:00
parent 5256693c50
commit 034746d9ec
12 changed files with 404 additions and 145 deletions

3
.gitignore vendored
View File

@ -70,4 +70,5 @@ crashlytics-build.properties
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
/[Aa]ssets/[Ss]treamingAssets/aa/*
/Profiling/

View File

@ -6,7 +6,7 @@ TextureImporter:
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0

View File

@ -6,7 +6,7 @@ TextureImporter:
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0

View File

@ -1,21 +1,123 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Collections;
using Unity.Burst;
using Unity.Jobs;
using Unity.Mathematics;
public class Spawner : MonoBehaviour
public class Game : MonoBehaviour
{
public static Transform[] TargetTransforms;
public static Transform[] SeekerTransforms;
[SerializeField] private int numBlues;
[SerializeField] private int numReds;
[SerializeField] private GameObject bluePrefab;
[SerializeField] private GameObject redPrefab;
[SerializeField] private Rect[] areasOfTheMap;
public GameObject SeekerPrefab;
public GameObject TargetPrefab;
public int NumSeekers;
public int NumTargets;
public Vector2 Bounds;
private int maxQuadTreeSize;
private Transform[] blueTransforms;
private Transform[] redTransforms;
private NativeArray<float2> bluePositions;
private NativeArray<float2> redPositions;
private NativeArray<float4> quadTree;
private NativeArray<long> nearestEnemyOfBlueIndex;
private NativeArray<long> nearestEnemyOfRedIndex;
public void Start()
{
Random.InitState(123);
blueTransforms = new Transform[numBlues];
redTransforms = new Transform[numReds];
int nearestPowerOf2(int n)
{
int a = (int)(Math.Log(n) / Math.Log(2));
return (int)Math.Pow(2, a) == n
? n
: (int)Math.Pow(2, a + 1);
}
maxQuadTreeSize = nearestPowerOf2(numBlues + numReds);
// This is actually the size of the max subdivisions
int maxSubDivisions = 5;
maxQuadTreeSize = (int)Math.Pow(4, maxSubDivisions);
Debug.Log(maxQuadTreeSize);
void InstantiatePrefabs(int amount, GameObject prefab, Transform[] transforms, Rect area) {
for (int i = 0; i < amount; i++) {
var go = GameObject.Instantiate(prefab);
transforms[i] = go.transform;
float randX = UnityEngine.Random.Range(area.x, area.x + area.width);
float randY = UnityEngine.Random.Range(area.y, area.y + area.height);
go.transform.localPosition = new Vector3(randX, 0, randY);
}
};
InstantiatePrefabs(numBlues, bluePrefab, blueTransforms, areasOfTheMap[0]);
InstantiatePrefabs(numReds, redPrefab, redTransforms, areasOfTheMap[1]);
bluePositions = new NativeArray<float2>(numBlues, Allocator.Persistent);
redPositions = new NativeArray<float2>(numReds, Allocator.Persistent);
quadTree = new NativeArray<float4>(maxQuadTreeSize, Allocator.Persistent);
nearestEnemyOfBlueIndex = new NativeArray<long>(numBlues, Allocator.Persistent);
nearestEnemyOfRedIndex = new NativeArray<long>(numReds, Allocator.Persistent);
}
float2 Vec3ToF2(Vector3 v) => new float2(v.x, v.z);
public void Update()
{
int i = 0;
int min = numBlues > numReds ? numBlues : numReds;
while (i < min)
{
bluePositions[i] = Vec3ToF2(blueTransforms[i].localPosition);
redPositions[i] = Vec3ToF2(redTransforms[i].localPosition);
i++;
}
while (i < numBlues)
{
bluePositions[i] = Vec3ToF2(blueTransforms[i].localPosition);
i++;
}
while (i < numReds)
{
redPositions[i] = Vec3ToF2(redTransforms[i].localPosition);
i++;
}
var constructJob = new ConstructQuadTreeJob
{
positions = bluePositions,
quadTree = quadTree,
};
var constructHandle = constructJob.Schedule(maxQuadTreeSize, 100);
constructHandle.Complete();
var findEnemyJob = new FindNearestEnemyQuadTreeJob
{
bluePositions = bluePositions,
redPositions = redPositions,
quadTree = quadTree,
nearestEnemyOfBlueIndex = nearestEnemyOfBlueIndex,
nearestEnemyOfRedIndex = nearestEnemyOfRedIndex,
};
var findRedsHandle = findEnemyJob.Schedule(numBlues, 100);
// We don't have a dependency on findRedsHandle, but we do have to wait for both
// findReds and findBlues to finish
findRedsHandle.Complete();
var findBluesHandle = findEnemyJob.Schedule(numReds, 100);
findBluesHandle.Complete();
}
public void OnDestroy()
{
bluePositions.Dispose();
redPositions.Dispose();
quadTree.Dispose();
}
}

42
Assets/Code/Jobs.cs Normal file
View File

@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using Unity.Burst;
using Unity.Collections;
using Unity.Jobs;
using Unity.Mathematics;
[BurstCompile]
public struct ConstructQuadTreeJob : IJobParallelFor
{
[ReadOnly] public Rect rect;
[ReadOnly] public NativeArray<float2> positions;
public NativeArray<float4> quadTree;
public NativeArray<int> sortedIndices;
const int capacity = 4;
public void Execute(int index)
{
for (int i = 0; i < positions.Length; i++) {}
// [ (0, ) ]
// A
// B C
// D E F G
// [A, B, C, D, E, F, G]
}
}
[BurstCompile]
public struct FindNearestEnemyQuadTreeJob : IJobParallelFor
{
[ReadOnly] public NativeArray<float2> bluePositions;
[ReadOnly] public NativeArray<float2> redPositions;
[ReadOnly] public NativeArray<float4> quadTree;
public NativeArray<long> nearestEnemyOfBlueIndex;
public NativeArray<long> nearestEnemyOfRedIndex;
public void Execute(int index)
{
}
}

11
Assets/Code/Jobs.cs.meta Normal file
View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8ee0bc3e248979e608384f1909937548
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Prefabs.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8412b201912c19b1a98bc5974315fcdf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,108 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8037548089323100954
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5811437263681021583}
- component: {fileID: 2291066461439633894}
- component: {fileID: 4383269291504636345}
m_Layer: 0
m_Name: WarriorBlue
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5811437263681021583
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8037548089323100954}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 2.52, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &2291066461439633894
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8037548089323100954}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 701340171, guid: eed416df131ecfe9b8b17ac0177632a4, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 12, y: 12}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!95 &4383269291504636345
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8037548089323100954}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 7577fcc648eb40dfbb8bbf6b2e7433b8, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a0b682c7fa1c889aa8b13984f67838b3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -159,7 +159,7 @@ Camera:
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
@ -208,13 +208,13 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 330585543}
serializedVersion: 2
m_LocalRotation: {x: 0.27781588, y: 0.36497167, z: -0.1150751, w: 0.8811196}
m_LocalPosition: {x: -41.98, y: 27.72, z: -29.310001}
m_LocalRotation: {x: 0.35355338, y: 0.35355338, z: -0.1464466, w: 0.8535535}
m_LocalPosition: {x: -0.5, y: 246.1, z: 11.9}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 819485403}
m_LocalEulerAnglesHint: {x: 35, y: 45, z: 0}
m_LocalEulerAnglesHint: {x: 45, y: 45, z: 0}
--- !u!114 &330585547
MonoBehaviour:
m_ObjectHideFlags: 0
@ -348,7 +348,7 @@ Transform:
m_GameObject: {fileID: 410087039}
serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 2, z: 10}
m_LocalPosition: {x: 55.25, y: 18.88, z: 10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -460,6 +460,67 @@ Transform:
m_Children: []
m_Father: {fileID: 819485403}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1758785727
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1758785729}
- component: {fileID: 1758785728}
m_Layer: 0
m_Name: Game
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1758785728
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1758785727}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6416af1f82bd7145b826e75ca0b5a895, type: 3}
m_Name:
m_EditorClassIdentifier:
numBlues: 500
numReds: 500
bluePrefab: {fileID: 8037548089323100954, guid: a0b682c7fa1c889aa8b13984f67838b3,
type: 3}
redPrefab: {fileID: 8037548089323100954, guid: a0b682c7fa1c889aa8b13984f67838b3,
type: 3}
areasOfTheMap:
- serializedVersion: 2
x: 0
y: 0
width: 500
height: 150
- serializedVersion: 2
x: 0
y: 250
width: 500
height: 150
--- !u!4 &1758785729
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1758785727}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -3.3736994, y: 2.6230762, z: -10.393191}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1815362051
GameObject:
m_ObjectHideFlags: 0
@ -523,7 +584,7 @@ SpriteRenderer:
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 2
m_Size: {x: 98.83509, y: 91.66369}
m_Size: {x: 546.7592, y: 461.9418}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
@ -538,122 +599,16 @@ Transform:
m_GameObject: {fileID: 1815362051}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: -0.7071068}
m_LocalPosition: {x: 0, y: -0, z: 0}
m_LocalPosition: {x: 251, y: 0, z: 198}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 270, y: 0, z: 0}
--- !u!1 &2058548787
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2058548789}
- component: {fileID: 2058548788}
- component: {fileID: 2058548790}
m_Layer: 0
m_Name: WarriorBlue
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!212 &2058548788
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2058548787}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 701340171, guid: eed416df131ecfe9b8b17ac0177632a4, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 12, y: 12}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!4 &2058548789
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2058548787}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 2.52, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &2058548790
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2058548787}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 7577fcc648eb40dfbb8bbf6b2e7433b8, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 819485403}
- {fileID: 1758785729}
- {fileID: 1815362053}
- {fileID: 2058548789}

View File

@ -1,21 +1,34 @@
#+STARTUP overview nohidedrawers
* Tiny Swords - DOTS Hours
#+BEGIN: clocktable :scope subtree :maxlevel 4 :block thisweek
#+CAPTION: Clock summary at [2024-07-18 Thu 16:28], for week 2024-W29.
| Headline | Time | | |
|------------------------+-------+-------+------|
| *Total time* | *10:55* | | |
|------------------------+-------+-------+------|
| Hyperscale Hours | 10:55 | | |
| \_ July | | 10:55 | |
| \_ <2024-07-15 Mon> | | | 1:07 |
| \_ <2024-07-16 Tue> | | | 4:36 |
| \_ <2024-07-17 Wed> | | | 1:56 |
| \_ <2024-07-18 Thu> | | | 3:16 |
#+BEGIN: clocktable :scope subtree :maxlevel 4 :block thismonth
#+CAPTION: Clock summary at [2024-07-25 Thu 05:16], for July 2024.
| Headline | Time | | |
|--------------------------+------+------+------|
| *Total time* | *6:31* | | |
|--------------------------+------+------+------|
| Tiny Swords - DOTS Hours | 6:31 | | |
| \_ July | | 6:31 | |
| \_ <2024-07-23 Tue> | | | 3:44 |
| \_ <2024-07-24 Wed> | | | 2:47 |
#+END:
** July
*** <2024-07-23 Tue>
:LOGBOOK:
CLOCK: [2024-07-23 Tue 19:20]--[2024-07-23 Tue 20:15] => 0:55
CLOCK: [2024-07-23 Tue 17:57]--[2024-07-23 Tue 19:11] => 1:14
CLOCK: [2024-07-23 Tue 15:15]--[2024-07-23 Tue 16:50] => 1:35
:END:
*** <2024-07-24 Wed>
:LOGBOOK:
CLOCK: [2024-07-24 Wed 19:50]--[2024-07-24 Wed 20:44] => 0:54
CLOCK: [2024-07-24 Wed 17:30]--[2024-07-24 Wed 19:23] => 1:53
:END:
*** <2024-07-25 Thu>
:LOGBOOK:
CLOCK: [2024-07-25 Thu 05:30]--[2024-07-25 Thu 06:22] => 0:52
:END:
*** <2024-07-26 Fri>
:LOGBOOK:
CLOCK: [2024-07-26 Fri 07:20]
:END:

View File

@ -3,33 +3,45 @@
--- !u!159 &1
EditorSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_ExternalVersionControlSupport: Visible Meta Files
serializedVersion: 12
m_SerializationMode: 2
m_LineEndingsForNewScripts: 2
m_DefaultBehaviorMode: 0
m_PrefabRegularEnvironment: {fileID: 0}
m_PrefabUIEnvironment: {fileID: 0}
m_SpritePackerMode: 0
m_SpritePackerCacheSize: 10
m_SpritePackerPaddingPower: 1
m_Bc7TextureCompressor: 0
m_EtcTextureCompressorBehavior: 1
m_EtcTextureFastCompressor: 1
m_EtcTextureNormalCompressor: 2
m_EtcTextureBestCompressor: 4
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp
m_ProjectGenerationRootNamespace:
m_CollabEditorSettings:
inProgressEnabled: 1
m_EnableTextureStreamingInEditMode: 1
m_EnableTextureStreamingInPlayMode: 1
m_EnableEditorAsyncCPUTextureLoading: 0
m_AsyncShaderCompilation: 1
m_EnterPlayModeOptionsEnabled: 0
m_PrefabModeAllowAutoSave: 1
m_EnterPlayModeOptionsEnabled: 1
m_EnterPlayModeOptions: 3
m_ShowLightmapResolutionOverlay: 1
m_GameObjectNamingDigits: 1
m_GameObjectNamingScheme: 0
m_AssetNamingUsesSpace: 1
m_InspectorUseIMGUIDefaultInspector: 0
m_UseLegacyProbeSampleCount: 0
m_SerializeInlineMappingsOnOneLine: 0
m_DisableCookiesInLightmapper: 1
m_AssetPipelineMode: 1
m_RefreshImportMode: 0
m_CacheServerMode: 0
m_CacheServerEndpoint:
m_CacheServerNamespacePrefix: default
m_CacheServerEnableDownload: 1
m_CacheServerEnableUpload: 1
m_CacheServerEnableAuth: 0
m_CacheServerEnableTls: 0
m_CacheServerValidationMode: 2
m_CacheServerDownloadBatchSize: 128
m_EnableEnlightenBakedGI: 0