Version 0.1.0 of Quality Tuner
This commit is contained in:
commit
93d16fb3da
106
.gitignore
vendored
Normal file
106
.gitignore
vendored
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# This .gitignore file should be placed at the root of your Unity project directory
|
||||||
|
#
|
||||||
|
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
|
||||||
|
#
|
||||||
|
.utmp/
|
||||||
|
/[Ll]ibrary/
|
||||||
|
/[Tt]emp/
|
||||||
|
/[Oo]bj/
|
||||||
|
/[Bb]uild/
|
||||||
|
/[Bb]uilds/
|
||||||
|
/[Ll]ogs/
|
||||||
|
/[Uu]ser[Ss]ettings/
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# By default unity supports Blender asset imports, *.blend1 blender files do not need to be commited to version control.
|
||||||
|
*.blend1
|
||||||
|
*.blend1.meta
|
||||||
|
|
||||||
|
# MemoryCaptures can get excessive in size.
|
||||||
|
# They also could contain extremely sensitive data
|
||||||
|
/[Mm]emoryCaptures/
|
||||||
|
|
||||||
|
# Recordings can get excessive in size
|
||||||
|
/[Rr]ecordings/
|
||||||
|
|
||||||
|
# Uncomment this line if you wish to ignore the asset store tools plugin
|
||||||
|
# /[Aa]ssets/AssetStoreTools*
|
||||||
|
|
||||||
|
# Autogenerated Jetbrains Rider plugin
|
||||||
|
/[Aa]ssets/Plugins/Editor/JetBrains*
|
||||||
|
# Jetbrains Rider personal-layer settings
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# Visual Studio cache directory
|
||||||
|
.vs/
|
||||||
|
|
||||||
|
# Gradle cache directory
|
||||||
|
.gradle/
|
||||||
|
|
||||||
|
# Autogenerated VS/MD/Consulo solution and project files
|
||||||
|
ExportedObj/
|
||||||
|
.consulo/
|
||||||
|
*.csproj
|
||||||
|
*.unityproj
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.tmp
|
||||||
|
*.user
|
||||||
|
*.userprefs
|
||||||
|
*.pidb
|
||||||
|
*.booproj
|
||||||
|
*.svd
|
||||||
|
*.pdb
|
||||||
|
*.mdb
|
||||||
|
*.opendb
|
||||||
|
*.VC.db
|
||||||
|
|
||||||
|
# Unity3D generated meta files
|
||||||
|
*.pidb.meta
|
||||||
|
*.pdb.meta
|
||||||
|
*.mdb.meta
|
||||||
|
|
||||||
|
# Unity3D generated file on crash reports
|
||||||
|
sysinfo.txt
|
||||||
|
|
||||||
|
# Mono auto generated files
|
||||||
|
mono_crash.*
|
||||||
|
|
||||||
|
# Builds
|
||||||
|
*.apk
|
||||||
|
*.aab
|
||||||
|
*.unitypackage
|
||||||
|
*.unitypackage.meta
|
||||||
|
|
||||||
|
# Crashlytics generated file
|
||||||
|
crashlytics-build.properties
|
||||||
|
|
||||||
|
# TestRunner generated files
|
||||||
|
InitTestScene*.unity*
|
||||||
|
|
||||||
|
# Addressables default ignores, before user customizations
|
||||||
|
/ServerData
|
||||||
|
/[Aa]ssets/StreamingAssets/aa*
|
||||||
|
/[Aa]ssets/AddressableAssetsData/link.xml*
|
||||||
|
/[Aa]ssets/Addressables_Temp*
|
||||||
|
# By default, Addressables content builds will generate addressables_content_state.bin
|
||||||
|
# files in platform-specific subfolders, for example:
|
||||||
|
# /Assets/AddressableAssetsData/OSX/addressables_content_state.bin
|
||||||
|
/[Aa]ssets/AddressableAssetsData/*/*.bin*
|
||||||
|
|
||||||
|
# Visual Scripting auto-generated files
|
||||||
|
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db
|
||||||
|
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta
|
||||||
|
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers
|
||||||
|
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta
|
||||||
|
|
||||||
|
# Auto-generated scenes by play mode tests
|
||||||
|
/[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity*
|
||||||
|
|
||||||
|
.vsconfig
|
||||||
|
|
||||||
|
Logs/
|
||||||
|
[Aa]ssets/
|
||||||
|
[Pp]ublish/
|
||||||
|
.vscode/settings.json
|
||||||
|
*.dat
|
||||||
8
Packages/com.bywaystudios.qualitytuner/Editor.meta
Normal file
8
Packages/com.bywaystudios.qualitytuner/Editor.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 46715001453444d6a82d33e63e7a0ccd
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "Byway.Quality.Editor",
|
||||||
|
"rootNamespace": "",
|
||||||
|
"references": [
|
||||||
|
"GUID:4e091e0e3cfb7429491abb1e7f0e08f5"
|
||||||
|
],
|
||||||
|
"includePlatforms": [
|
||||||
|
"Editor"
|
||||||
|
],
|
||||||
|
"excludePlatforms": [],
|
||||||
|
"allowUnsafeCode": false,
|
||||||
|
"overrideReferences": false,
|
||||||
|
"precompiledReferences": [],
|
||||||
|
"autoReferenced": true,
|
||||||
|
"defineConstraints": [],
|
||||||
|
"versionDefines": [],
|
||||||
|
"noEngineReferences": false
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bb37ad21176e64c5181b105fd7e8c7f9
|
||||||
|
AssemblyDefinitionImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,58 @@
|
|||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Byway.Quality.Editor
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Draw GpuSeriesEnumeration as popup
|
||||||
|
/// </summary>
|
||||||
|
[CustomPropertyDrawer(typeof(GpuSeriesEnumeration))]
|
||||||
|
public class GpuSeriesEnumerationDrawer : GpuSeriesEnumerationDrawerBase<GpuSeriesEnumeration>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GpuSeriesEnumerationDrawerBase<T> : PropertyDrawer where T : GpuSeriesEnumeration
|
||||||
|
{
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
EditorGUI.BeginProperty(position, label, property);
|
||||||
|
|
||||||
|
// draw label
|
||||||
|
position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
|
||||||
|
|
||||||
|
// don't make child fields be indented
|
||||||
|
var indent = EditorGUI.indentLevel;
|
||||||
|
EditorGUI.indentLevel = 0;
|
||||||
|
|
||||||
|
// get enum values of GpuSeriesEnumeration
|
||||||
|
var enums = GpuSeriesEnumeration.GetAll<T>().ToArray();
|
||||||
|
var enumNames = enums.Select(e => e.ToString()).ToArray();
|
||||||
|
|
||||||
|
// get value and index
|
||||||
|
var valueProperty = property.FindPropertyRelative("value");
|
||||||
|
var selectedValue = valueProperty.intValue;
|
||||||
|
var selectedEnum = (T)selectedValue;
|
||||||
|
var previousIndex = Array.IndexOf(enums, selectedEnum);
|
||||||
|
|
||||||
|
// draw enum selection popup
|
||||||
|
var selectedIndex = EditorGUI.Popup(position, previousIndex, enumNames);
|
||||||
|
|
||||||
|
if (selectedIndex != previousIndex)
|
||||||
|
{
|
||||||
|
// update SerializedProperty value
|
||||||
|
selectedEnum = enums[selectedIndex];
|
||||||
|
valueProperty.intValue = (int)selectedEnum;
|
||||||
|
property.FindPropertyRelative("gpuMajorSeries").intValue = (int)selectedEnum.GpuMajorSeries;
|
||||||
|
property.FindPropertyRelative("gpuMinorSeries").intValue = (int)selectedEnum.GpuMinorSeries;
|
||||||
|
property.serializedObject.ApplyModifiedProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
// restore indent
|
||||||
|
EditorGUI.indentLevel = indent;
|
||||||
|
|
||||||
|
EditorGUI.EndProperty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 929462eabaddd4c97b1092680eb9b578
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,108 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Assertions;
|
||||||
|
|
||||||
|
namespace Byway.Quality.Editor
|
||||||
|
{
|
||||||
|
// ref: https://light11.hatenadiary.com/entry/2021/11/30/190034
|
||||||
|
[CustomPropertyDrawer(typeof(SelectableSerializeReferenceAttribute))]
|
||||||
|
public sealed class SelectableSerializeReferenceAttributeDrawer : PropertyDrawer
|
||||||
|
{
|
||||||
|
private readonly Dictionary<string, PropertyData> _dataPerPath = new();
|
||||||
|
|
||||||
|
private PropertyData _data;
|
||||||
|
|
||||||
|
private int _selectedIndex;
|
||||||
|
|
||||||
|
private void Init(SerializedProperty property)
|
||||||
|
{
|
||||||
|
if (_dataPerPath.TryGetValue(property.propertyPath, out _data))
|
||||||
|
return;
|
||||||
|
|
||||||
|
_data = new PropertyData(property);
|
||||||
|
_dataPerPath.Add(property.propertyPath, _data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
Assert.IsTrue(property.propertyType == SerializedPropertyType.ManagedReference);
|
||||||
|
|
||||||
|
Init(property);
|
||||||
|
|
||||||
|
var fullTypeName = property.managedReferenceFullTypename.Split(' ').Last();
|
||||||
|
_selectedIndex = Array.IndexOf(_data.DerivedFullTypeNames, fullTypeName);
|
||||||
|
|
||||||
|
using (var ccs = new EditorGUI.ChangeCheckScope())
|
||||||
|
{
|
||||||
|
var selectorPosition = position;
|
||||||
|
|
||||||
|
var indent = EditorGUI.indentLevel;
|
||||||
|
EditorGUI.indentLevel = 0;
|
||||||
|
|
||||||
|
selectorPosition.width -= EditorGUIUtility.labelWidth;
|
||||||
|
selectorPosition.x += EditorGUIUtility.labelWidth;
|
||||||
|
selectorPosition.height = EditorGUIUtility.singleLineHeight;
|
||||||
|
var selectedTypeIndex = EditorGUI.Popup(selectorPosition, _selectedIndex, _data.DerivedTypeNames);
|
||||||
|
if (ccs.changed)
|
||||||
|
{
|
||||||
|
_selectedIndex = selectedTypeIndex;
|
||||||
|
var selectedType = _data.DerivedTypes[selectedTypeIndex];
|
||||||
|
property.managedReferenceValue =
|
||||||
|
selectedType == null ? null : Activator.CreateInstance(selectedType);
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.indentLevel = indent;
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorGUI.PropertyField(position, property, label, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
Init(property);
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(property.managedReferenceFullTypename))
|
||||||
|
return EditorGUIUtility.singleLineHeight;
|
||||||
|
|
||||||
|
return EditorGUI.GetPropertyHeight(property, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class PropertyData
|
||||||
|
{
|
||||||
|
public PropertyData(SerializedProperty property)
|
||||||
|
{
|
||||||
|
var managedReferenceFieldTypenameSplit = property.managedReferenceFieldTypename.Split(' ').ToArray();
|
||||||
|
var assemblyName = managedReferenceFieldTypenameSplit[0];
|
||||||
|
var fieldTypeName = managedReferenceFieldTypenameSplit[1];
|
||||||
|
var fieldType = GetAssembly(assemblyName).GetType(fieldTypeName);
|
||||||
|
DerivedTypes = TypeCache.GetTypesDerivedFrom(fieldType)
|
||||||
|
.Where(x => !x.IsAbstract && !x.IsInterface && !x.IsGenericType) // added: ignoring generic types
|
||||||
|
.ToArray();
|
||||||
|
DerivedTypeNames = new string[DerivedTypes.Length];
|
||||||
|
DerivedFullTypeNames = new string[DerivedTypes.Length];
|
||||||
|
for (var i = 0; i < DerivedTypes.Length; i++)
|
||||||
|
{
|
||||||
|
var type = DerivedTypes[i];
|
||||||
|
DerivedTypeNames[i] = ObjectNames.NicifyVariableName(type.Name);
|
||||||
|
DerivedFullTypeNames[i] = type.FullName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type[] DerivedTypes { get; }
|
||||||
|
|
||||||
|
public string[] DerivedTypeNames { get; }
|
||||||
|
|
||||||
|
public string[] DerivedFullTypeNames { get; }
|
||||||
|
|
||||||
|
private static Assembly GetAssembly(string name)
|
||||||
|
{
|
||||||
|
return AppDomain.CurrentDomain.GetAssemblies()
|
||||||
|
.SingleOrDefault(assembly => assembly.GetName().Name == name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 806ce0f17d82f491581567240e813ecc
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
8
Packages/com.bywaystudios.qualitytuner/Runtime.meta
Normal file
8
Packages/com.bywaystudios.qualitytuner/Runtime.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 25ebb21761495477bb20fe52be6401bc
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"name": "Byway.Quality",
|
||||||
|
"rootNamespace": "",
|
||||||
|
"references": [],
|
||||||
|
"includePlatforms": [],
|
||||||
|
"excludePlatforms": [],
|
||||||
|
"allowUnsafeCode": false,
|
||||||
|
"overrideReferences": false,
|
||||||
|
"precompiledReferences": [],
|
||||||
|
"autoReferenced": true,
|
||||||
|
"defineConstraints": [],
|
||||||
|
"versionDefines": [],
|
||||||
|
"noEngineReferences": false
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4e091e0e3cfb7429491abb1e7f0e08f5
|
||||||
|
AssemblyDefinitionImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
public class BywayQualityRuleData : QualityRuleData<BywayQualityLevel> { }
|
||||||
|
public class BywayDeviceNameRuleMatcher : DeviceNameRuleMatcherBase<BywayQualityLevel> { }
|
||||||
|
|
||||||
|
public class BywayGpuSeriesRuleMatcher : GpuSeriesRuleMatcherBase<BywayQualityLevel, GpuSeriesEnumeration> { }
|
||||||
|
|
||||||
|
public class BywaySystemMemoryRuleMatcher : SystemMemoryRuleMatcherBase<BywayQualityLevel> { }
|
||||||
|
|
||||||
|
public enum BywayQualityLevel
|
||||||
|
{
|
||||||
|
Lowest,
|
||||||
|
Low,
|
||||||
|
Medium,
|
||||||
|
High,
|
||||||
|
Highest
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c89be35d65d93a64d843fefc4f18334b
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
335
Packages/com.bywaystudios.qualitytuner/Runtime/GpuSeriesEnums.cs
Normal file
335
Packages/com.bywaystudios.qualitytuner/Runtime/GpuSeriesEnums.cs
Normal file
@ -0,0 +1,335 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Enum of GPU series
|
||||||
|
/// </summary>
|
||||||
|
public enum GpuMajorSeries
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// </summary>
|
||||||
|
Unknown,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Apple X-series
|
||||||
|
/// </summary>
|
||||||
|
Apple,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno series
|
||||||
|
/// </summary>
|
||||||
|
Adreno,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ARM Mali series
|
||||||
|
/// </summary>
|
||||||
|
Mali,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PowerVR series
|
||||||
|
/// </summary>
|
||||||
|
PowerVR,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Samsung Xclipse series
|
||||||
|
/// </summary>
|
||||||
|
Xclipse,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Huawei Maleoon series
|
||||||
|
/// </summary>
|
||||||
|
Maleoon,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ARM Immortalis series
|
||||||
|
/// </summary>
|
||||||
|
Immortalis
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum GpuMinorSeries
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown
|
||||||
|
/// </summary>
|
||||||
|
Unknown,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Apple A-series
|
||||||
|
/// </summary>
|
||||||
|
AppleA = 11,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Apple M-series
|
||||||
|
/// </summary>
|
||||||
|
AppleM = 12,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Apple A-series Pro
|
||||||
|
/// </summary>
|
||||||
|
AppleAPro = 13,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 100 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno100 = 21,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 200 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno200 = 22,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 300 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno300 = 23,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 400 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno400 = 24,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 500 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno500 = 25,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 600 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno600 = 26,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 700 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno700 = 27,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 800 series
|
||||||
|
/// </summary
|
||||||
|
Adreno800 = 28,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Qualcomm Adreno 900 series
|
||||||
|
/// </summary>
|
||||||
|
Adreno900 = 29,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ARM Mali series
|
||||||
|
/// </summary>
|
||||||
|
Mali = 31,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ARM Mali-T series
|
||||||
|
/// </summary>
|
||||||
|
MaliT = 32,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ARM Mali-G series
|
||||||
|
/// </summary>
|
||||||
|
MaliG = 33,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PowerVR 6XT series
|
||||||
|
/// </summary>
|
||||||
|
PowerVR6XT = 41,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PowerVR 8XE series
|
||||||
|
/// </summary>
|
||||||
|
PowerVR8XE = 42,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PowerVR 9XM series
|
||||||
|
/// </summary>
|
||||||
|
PowerVR9XM = 43,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PowerVR BXM series
|
||||||
|
/// </summary>
|
||||||
|
PowerVRBXM = 44,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PowerVR DXT series
|
||||||
|
/// </summary>
|
||||||
|
PowerVRDXT = 45,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Samsung Xclipse series
|
||||||
|
/// </summary>
|
||||||
|
Xclipse = 51,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Huawei Maleoon series
|
||||||
|
/// </summary>
|
||||||
|
Maleoon = 61,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ARM Immortalis-G series
|
||||||
|
/// </summary>
|
||||||
|
ImmortalisG = 71
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class GpuSeriesEnumeration : IComparable
|
||||||
|
{
|
||||||
|
public static readonly GpuSeriesEnumeration Unkown = new(GpuMajorSeries.Unknown, GpuMinorSeries.Unknown);
|
||||||
|
|
||||||
|
// Apple
|
||||||
|
public static readonly GpuSeriesEnumeration AppleAny = new(GpuMajorSeries.Apple, GpuMinorSeries.Unknown);
|
||||||
|
public static readonly GpuSeriesEnumeration AppleA = new(GpuMajorSeries.Apple, GpuMinorSeries.AppleA);
|
||||||
|
public static readonly GpuSeriesEnumeration AppleM = new(GpuMajorSeries.Apple, GpuMinorSeries.AppleM);
|
||||||
|
public static readonly GpuSeriesEnumeration AppleAPro = new(GpuMajorSeries.Apple, GpuMinorSeries.AppleAPro);
|
||||||
|
|
||||||
|
// Adreno
|
||||||
|
public static readonly GpuSeriesEnumeration AdrenoAny = new(GpuMajorSeries.Adreno, GpuMinorSeries.Unknown);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno100 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno100);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno200 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno200);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno300 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno300);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno400 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno400);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno500 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno500);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno600 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno600);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno700 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno700);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno800 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno800);
|
||||||
|
public static readonly GpuSeriesEnumeration Adreno900 = new(GpuMajorSeries.Adreno, GpuMinorSeries.Adreno900);
|
||||||
|
|
||||||
|
// Mali
|
||||||
|
public static readonly GpuSeriesEnumeration MaliAny = new(GpuMajorSeries.Mali, GpuMinorSeries.Unknown);
|
||||||
|
public static readonly GpuSeriesEnumeration Mali = new(GpuMajorSeries.Mali, GpuMinorSeries.Mali);
|
||||||
|
public static readonly GpuSeriesEnumeration MaliT = new(GpuMajorSeries.Mali, GpuMinorSeries.MaliT);
|
||||||
|
public static readonly GpuSeriesEnumeration MaliG = new(GpuMajorSeries.Mali, GpuMinorSeries.MaliG);
|
||||||
|
|
||||||
|
// ARM Immortalis
|
||||||
|
public static readonly GpuSeriesEnumeration ImmortalisAny = new(GpuMajorSeries.Immortalis, GpuMinorSeries.Unknown);
|
||||||
|
public static readonly GpuSeriesEnumeration ImmortalisG = new(GpuMajorSeries.Immortalis, GpuMinorSeries.ImmortalisG);
|
||||||
|
|
||||||
|
// PowerVR
|
||||||
|
public static readonly GpuSeriesEnumeration PowerVRAny = new(GpuMajorSeries.PowerVR, GpuMinorSeries.Unknown);
|
||||||
|
public static readonly GpuSeriesEnumeration PowerVR6XT = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVR6XT);
|
||||||
|
public static readonly GpuSeriesEnumeration PowerVR8XE = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVR8XE);
|
||||||
|
public static readonly GpuSeriesEnumeration PowerVR9XM = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVR9XM);
|
||||||
|
public static readonly GpuSeriesEnumeration PowerVRDXT = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVRDXT);
|
||||||
|
public static readonly GpuSeriesEnumeration PowerVRBXM = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVRBXM);
|
||||||
|
|
||||||
|
// Samsung
|
||||||
|
public static readonly GpuSeriesEnumeration Xclipse = new(GpuMajorSeries.Xclipse, GpuMinorSeries.Xclipse);
|
||||||
|
|
||||||
|
// Huawei
|
||||||
|
public static readonly GpuSeriesEnumeration Maleoon = new(GpuMajorSeries.Maleoon, GpuMinorSeries.Maleoon);
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
protected int value;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
protected GpuMajorSeries gpuMajorSeries;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
protected GpuMinorSeries gpuMinorSeries;
|
||||||
|
|
||||||
|
protected GpuSeriesEnumeration(GpuMajorSeries gpuMajorSeries, GpuMinorSeries gpuMinorSeries)
|
||||||
|
{
|
||||||
|
this.gpuMajorSeries = gpuMajorSeries;
|
||||||
|
this.gpuMinorSeries = gpuMinorSeries;
|
||||||
|
|
||||||
|
if (gpuMinorSeries == GpuMinorSeries.Unknown)
|
||||||
|
value = (int)gpuMajorSeries * 10;
|
||||||
|
else
|
||||||
|
value = (int)gpuMinorSeries;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GpuMajorSeries GpuMajorSeries => gpuMajorSeries;
|
||||||
|
public GpuMinorSeries GpuMinorSeries => gpuMinorSeries;
|
||||||
|
|
||||||
|
public int CompareTo(object other)
|
||||||
|
{
|
||||||
|
if (other is GpuSeriesEnumeration otherValue)
|
||||||
|
return value.CompareTo(otherValue.value);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator int(GpuSeriesEnumeration e)
|
||||||
|
{
|
||||||
|
return e.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator GpuSeriesEnumeration(int value)
|
||||||
|
{
|
||||||
|
return FromValue<GpuSeriesEnumeration>(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
if (gpuMajorSeries == GpuMajorSeries.Unknown)
|
||||||
|
return "Any";
|
||||||
|
if (gpuMinorSeries == GpuMinorSeries.Unknown)
|
||||||
|
return gpuMajorSeries + "/Any";
|
||||||
|
return gpuMajorSeries + "/" + gpuMinorSeries;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static IEnumerable<T> GetAll<T>() where T : GpuSeriesEnumeration
|
||||||
|
{
|
||||||
|
return TypeCache<T>.Enums;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IEnumerable<T> _GetAll<T>() where T : GpuSeriesEnumeration
|
||||||
|
{
|
||||||
|
return typeof(T).GetFields(BindingFlags.Public |
|
||||||
|
BindingFlags.Static |
|
||||||
|
BindingFlags.DeclaredOnly)
|
||||||
|
.Select(f => f.GetValue(null))
|
||||||
|
.Cast<T>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static T FromValue<T>(int value) where T : GpuSeriesEnumeration
|
||||||
|
{
|
||||||
|
var matchingItem = TypeCache<T>.Enums.FirstOrDefault(item => item.value == value);
|
||||||
|
|
||||||
|
if (matchingItem == null)
|
||||||
|
throw new ArgumentException($"'{value}' is not a valid value in {typeof(T)}");
|
||||||
|
|
||||||
|
return matchingItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static T FromGpuSeries<T>(GpuMajorSeries gpuMajorSeries, GpuMinorSeries gpuMinorSeries)
|
||||||
|
where T : GpuSeriesEnumeration
|
||||||
|
{
|
||||||
|
var matchingItem = TypeCache<T>.Enums.FirstOrDefault(item =>
|
||||||
|
item.gpuMajorSeries == gpuMajorSeries && item.gpuMinorSeries == gpuMinorSeries);
|
||||||
|
|
||||||
|
if (matchingItem == null)
|
||||||
|
throw new ArgumentException(
|
||||||
|
$"'{gpuMajorSeries}/{gpuMinorSeries}' and is not a valid GPU series in {typeof(T)}");
|
||||||
|
|
||||||
|
return matchingItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool Equals(object obj)
|
||||||
|
{
|
||||||
|
if (obj is not GpuSeriesEnumeration otherValue)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// type matches and value matches
|
||||||
|
return GetType().Equals(obj.GetType()) && value.Equals(otherValue.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return value.GetHashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static class TypeCache<T> where T : GpuSeriesEnumeration
|
||||||
|
{
|
||||||
|
public static readonly T[] Enums;
|
||||||
|
|
||||||
|
static TypeCache()
|
||||||
|
{
|
||||||
|
Enums = _GetAll<T>().ToArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 718845abd76124f4e98011dfc602fc5c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,196 @@
|
|||||||
|
using System;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
internal static class HardwareInfoAndroid
|
||||||
|
{
|
||||||
|
// Build.VERSION_CODES.S (Android 12)
|
||||||
|
private const int ANDROID_VERSION_CODES_S = 31;
|
||||||
|
|
||||||
|
private static int _sdkVersion;
|
||||||
|
|
||||||
|
public static void SetAndroidHardwareStats(HardwareStats stats)
|
||||||
|
{
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
if (Application.isEditor)
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
var gpuName = stats.GpuName;
|
||||||
|
stats.GpuMajorSeries = ParseGpuMajorSeries(gpuName);
|
||||||
|
(stats.GpuMinorSeries, stats.GpuSeriesNumber) = stats.GpuMajorSeries switch
|
||||||
|
{
|
||||||
|
GpuMajorSeries.Adreno => ParseAdrenoGpuSeries(gpuName),
|
||||||
|
GpuMajorSeries.Mali => ParseMaliGpuSeries(gpuName),
|
||||||
|
GpuMajorSeries.Immortalis => ParseImmortalisGpuSeries(gpuName),
|
||||||
|
GpuMajorSeries.PowerVR => ParsePowerVRGpuSeries(gpuName),
|
||||||
|
GpuMajorSeries.Xclipse => ParseXclipseGpuSeries(gpuName),
|
||||||
|
GpuMajorSeries.Maleoon => ParseMaleoonGpuSeries(gpuName),
|
||||||
|
_ => (GpuMinorSeries.Unknown, 0)
|
||||||
|
};
|
||||||
|
stats.SocName = GetSocName();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static GpuMajorSeries ParseGpuMajorSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse GPU series by StartsWith
|
||||||
|
return gpuName switch
|
||||||
|
{
|
||||||
|
{ } when gpuName.StartsWith("Adreno", StringComparison.Ordinal) => GpuMajorSeries.Adreno,
|
||||||
|
{ } when gpuName.StartsWith("Mali", StringComparison.Ordinal) => GpuMajorSeries.Mali,
|
||||||
|
{ } when gpuName.StartsWith("ARM Immortalis", StringComparison.Ordinal) => GpuMajorSeries.Immortalis,
|
||||||
|
{ } when gpuName.StartsWith("PowerVR", StringComparison.Ordinal) => GpuMajorSeries.PowerVR,
|
||||||
|
{ } when gpuName.StartsWith("Samsung Xclipse", StringComparison.Ordinal) => GpuMajorSeries.Xclipse,
|
||||||
|
{ } when gpuName.StartsWith("Maleoon", StringComparison.Ordinal) => GpuMajorSeries.Maleoon,
|
||||||
|
_ => GpuMajorSeries.Unknown
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static (GpuMinorSeries, int) ParseAdrenoGpuSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse Adreno GPU series number by regex
|
||||||
|
// ex: Adreno (TM) xxx
|
||||||
|
var match = Regex.Match(gpuName, @"Adreno \(TM\) (\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[1].Value, out var number))
|
||||||
|
return (number / 100) switch
|
||||||
|
{
|
||||||
|
1 => (GpuMinorSeries.Adreno100, number),
|
||||||
|
2 => (GpuMinorSeries.Adreno200, number),
|
||||||
|
3 => (GpuMinorSeries.Adreno300, number),
|
||||||
|
4 => (GpuMinorSeries.Adreno400, number),
|
||||||
|
5 => (GpuMinorSeries.Adreno500, number),
|
||||||
|
6 => (GpuMinorSeries.Adreno600, number),
|
||||||
|
7 => (GpuMinorSeries.Adreno700, number),
|
||||||
|
8 => (GpuMinorSeries.Adreno800, number),
|
||||||
|
9 => (GpuMinorSeries.Adreno900, number),
|
||||||
|
_ => (GpuMinorSeries.Unknown, number)
|
||||||
|
};
|
||||||
|
|
||||||
|
return (GpuMinorSeries.Unknown, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static (GpuMinorSeries, int) ParseMaliGpuSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse Mali GPU series number by regex
|
||||||
|
// ex: Mali-Gxx, Mali-Txxx
|
||||||
|
var match = Regex.Match(gpuName, @"Mali-([GT]?)(\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[2].Value, out var number))
|
||||||
|
return match.Groups[1].Value switch
|
||||||
|
{
|
||||||
|
"G" => (GpuMinorSeries.MaliG, number),
|
||||||
|
"T" => (GpuMinorSeries.MaliT, number),
|
||||||
|
"" => (GpuMinorSeries.Mali, number),
|
||||||
|
_ => (GpuMinorSeries.Unknown, number)
|
||||||
|
};
|
||||||
|
|
||||||
|
return (GpuMinorSeries.Unknown, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static (GpuMinorSeries, int) ParseImmortalisGpuSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse ARM Immortalis GPU series number by regex
|
||||||
|
// ex: ARM Immortalis-G925 MP16
|
||||||
|
var match = Regex.Match(gpuName, @"Immortalis-G(\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[1].Value, out var number))
|
||||||
|
return (GpuMinorSeries.ImmortalisG, number);
|
||||||
|
|
||||||
|
return (GpuMinorSeries.Unknown, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static (GpuMinorSeries, int) ParsePowerVRGpuSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse PowerVR GPU series number by regex
|
||||||
|
// ex: PowerVR Rogue GExxxx, PowerVR Rogue G?xxxx
|
||||||
|
var match = Regex.Match(gpuName, @"PowerVR Rogue (G[A-Z])(\d)(\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[2].Value + match.Groups[3].Value, out var number))
|
||||||
|
return (match.Groups[1].Value + match.Groups[2].Value) switch
|
||||||
|
{
|
||||||
|
"GX6" => (GpuMinorSeries.PowerVR6XT, number),
|
||||||
|
"GE8" => (GpuMinorSeries.PowerVR8XE, number),
|
||||||
|
"GM9" => (GpuMinorSeries.PowerVR9XM, number),
|
||||||
|
_ => (GpuMinorSeries.Unknown, number)
|
||||||
|
};
|
||||||
|
|
||||||
|
// parse PowerVR B-Series BXM series
|
||||||
|
// ex: PowerVR B-Series BXM-8-256, PowerVR B-Series BXM-4-64
|
||||||
|
match = Regex.Match(gpuName, @"BXM-(\d+)-(\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[1].Value, out var bxmNumber))
|
||||||
|
return (GpuMinorSeries.PowerVRBXM, bxmNumber);
|
||||||
|
|
||||||
|
// parse PowerVR D-Series DXT series
|
||||||
|
// ex: PowerVR D-Series DXT-24-1024
|
||||||
|
match = Regex.Match(gpuName, @"DXT-(\d+)-(\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[1].Value, out var dxtNumber))
|
||||||
|
return (GpuMinorSeries.PowerVRDXT, dxtNumber);
|
||||||
|
|
||||||
|
return (GpuMinorSeries.Unknown, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static (GpuMinorSeries, int) ParseXclipseGpuSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse Samsung Xclipse GPU series number by regex
|
||||||
|
// ex: Samsung Xclipse xxx
|
||||||
|
var match = Regex.Match(gpuName, @"Samsung Xclipse (\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[1].Value, out var number))
|
||||||
|
return (GpuMinorSeries.Xclipse, number);
|
||||||
|
|
||||||
|
return (GpuMinorSeries.Unknown, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static (GpuMinorSeries, int) ParseMaleoonGpuSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse Huawei Maleoon GPU series number by regex
|
||||||
|
// ex: Maleoon xxx
|
||||||
|
var match = Regex.Match(gpuName, @"Maleoon (\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[1].Value, out var number))
|
||||||
|
return (GpuMinorSeries.Maleoon, number);
|
||||||
|
|
||||||
|
return (GpuMinorSeries.Unknown, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string GetSocName()
|
||||||
|
{
|
||||||
|
if (GetAndroidSdkVersion() < ANDROID_VERSION_CODES_S)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using var buildClass = new AndroidJavaClass("android.os.Build");
|
||||||
|
var socModel = buildClass.GetStatic<string>("SOC_MODEL");
|
||||||
|
return socModel;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogException(e);
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int GetAndroidSdkVersion()
|
||||||
|
{
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
if (Application.isEditor)
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
#if UNITY_ANDROID
|
||||||
|
if (_sdkVersion != 0)
|
||||||
|
return _sdkVersion;
|
||||||
|
|
||||||
|
using var versionCls = new AndroidJavaClass("android.os.Build$VERSION");
|
||||||
|
_sdkVersion = versionCls.GetStatic<int>("SDK_INT");
|
||||||
|
return _sdkVersion;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: df1ae78653b0746db9ec4c1e1ccb456a
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,98 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Hardware stats to identify performance index of device
|
||||||
|
/// </summary>
|
||||||
|
public class HardwareStats
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Name of device model
|
||||||
|
/// <seealso cref="UnityEngine.SystemInfo.deviceModel" />
|
||||||
|
/// </summary>
|
||||||
|
public string DeviceModel { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Memory size of GPU in MegaBytes
|
||||||
|
/// <remarks>Return zero on editor</remarks>
|
||||||
|
/// </summary>
|
||||||
|
public int GpuMemorySizeMb { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Name of GPU
|
||||||
|
/// <seealso cref="UnityEngine.SystemInfo.graphicsDeviceName" />
|
||||||
|
/// </summary>
|
||||||
|
public string GpuName { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Major series of GPU
|
||||||
|
/// </summary>
|
||||||
|
public GpuMajorSeries GpuMajorSeries { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Major series of GPU
|
||||||
|
/// </summary>
|
||||||
|
public GpuMinorSeries GpuMinorSeries { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Series number of GPU.
|
||||||
|
/// ex: Adreno 650 -> 650
|
||||||
|
/// </summary>
|
||||||
|
public int GpuSeriesNumber { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Name of SoC
|
||||||
|
/// <remarks>Only available on Android12 or later</remarks>
|
||||||
|
/// </summary>
|
||||||
|
public string SocName { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Memory size of system in MegaBytes
|
||||||
|
/// <remarks>Return zero on editor</remarks>
|
||||||
|
/// </summary>
|
||||||
|
public int SystemMemorySizeMb { get; internal set; }
|
||||||
|
|
||||||
|
internal static HardwareStats CreateDefault()
|
||||||
|
{
|
||||||
|
return new HardwareStats
|
||||||
|
{
|
||||||
|
DeviceModel = SystemInfo.deviceModel,
|
||||||
|
GpuName = SystemInfo.graphicsDeviceName,
|
||||||
|
GpuMemorySizeMb = SystemInfo.graphicsMemorySize,
|
||||||
|
GpuMajorSeries = GpuMajorSeries.Unknown,
|
||||||
|
GpuMinorSeries = GpuMinorSeries.Unknown,
|
||||||
|
GpuSeriesNumber = 0,
|
||||||
|
SocName = "",
|
||||||
|
SystemMemorySizeMb = SystemInfo.systemMemorySize
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class HardwareInfo
|
||||||
|
{
|
||||||
|
// singleton cache
|
||||||
|
private static HardwareStats _cachedHardwareStats;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get hardware stats of running device
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>HardwareStats</returns>
|
||||||
|
public static HardwareStats GetHardwareStats()
|
||||||
|
{
|
||||||
|
if (_cachedHardwareStats != null)
|
||||||
|
return _cachedHardwareStats;
|
||||||
|
|
||||||
|
|
||||||
|
_cachedHardwareStats = HardwareStats.CreateDefault();
|
||||||
|
|
||||||
|
|
||||||
|
#if UNITY_EDITOR_OSX || UNITY_IOS
|
||||||
|
HardwareInfoIos.SetIosHardwareStats(_cachedHardwareStats);
|
||||||
|
#elif UNITY_ANDROID
|
||||||
|
HardwareInfoAndroid.SetAndroidHardwareStats(_cachedHardwareStats);
|
||||||
|
#endif
|
||||||
|
return _cachedHardwareStats;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a6effba98da674bdeabba5e109cc88ac
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
using System;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
internal static class HardwareInfoIos
|
||||||
|
{
|
||||||
|
public static void SetIosHardwareStats(HardwareStats stats)
|
||||||
|
{
|
||||||
|
// only works with iOS, iPadOS and macOS, including editor
|
||||||
|
#if UNITY_EDITOR && !UNITY_EDITOR_OSX
|
||||||
|
if (UnityEngine.Application.isEditor)
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
stats.GpuMajorSeries = GpuMajorSeries.Apple;
|
||||||
|
stats.GpuMinorSeries = ParseGpuMinorSeries(stats.GpuName);
|
||||||
|
stats.GpuSeriesNumber = ParseAppleGpuSeriesNumber(stats.GpuName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static GpuMinorSeries ParseGpuMinorSeries(string gpuName)
|
||||||
|
{
|
||||||
|
// parse GPU series by StartsWith
|
||||||
|
if (gpuName.StartsWith("Apple A", StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
return gpuName.Contains("Pro") ? GpuMinorSeries.AppleAPro : GpuMinorSeries.AppleA;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gpuName.StartsWith("Apple M", StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
return GpuMinorSeries.AppleM;
|
||||||
|
}
|
||||||
|
|
||||||
|
return GpuMinorSeries.Unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int ParseAppleGpuSeriesNumber(string gpuName)
|
||||||
|
{
|
||||||
|
// parse Apple GPU series number by regex
|
||||||
|
// ex: Apple A8 GPU, Apple A10 GPU, Apple M1
|
||||||
|
var match = Regex.Match(gpuName, @"Apple [AM](\d+)");
|
||||||
|
if (match.Success)
|
||||||
|
if (int.TryParse(match.Groups[1].Value, out var number))
|
||||||
|
return number;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bd6f4afff0462436b9c1b93ff0d8833c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
public class RuleBasedQualitySelector<T>
|
||||||
|
{
|
||||||
|
public RuleBasedQualitySelector(T defaultQualityLevel, IEnumerable<IMatcher> qualityLevelRuleMatchers)
|
||||||
|
{
|
||||||
|
DefaultQualityLevel = defaultQualityLevel;
|
||||||
|
QualityLevelRuleMatchers = new List<IMatcher>(qualityLevelRuleMatchers);
|
||||||
|
}
|
||||||
|
|
||||||
|
public RuleBasedQualitySelector(QualityRuleData<T> data) : this(data.defaultQualityLevel,
|
||||||
|
data.qualityLevelRuleMatchers)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<IMatcher> QualityLevelRuleMatchers { get; }
|
||||||
|
|
||||||
|
public T DefaultQualityLevel { get; set; }
|
||||||
|
|
||||||
|
public bool TryGetQualityLevel(HardwareStats stats, out T qualityLevel)
|
||||||
|
{
|
||||||
|
if (QualityLevelRuleMatchers is not null)
|
||||||
|
foreach (var matcher in QualityLevelRuleMatchers)
|
||||||
|
{
|
||||||
|
if (matcher == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (matcher.TryMatch<T>(stats, out var matchedQualityLevel))
|
||||||
|
{
|
||||||
|
qualityLevel = matchedQualityLevel;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
qualityLevel = DefaultQualityLevel;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract class QualityRuleData<T> : ScriptableObject
|
||||||
|
{
|
||||||
|
[Tooltip("Default quality level if no match")]
|
||||||
|
public T defaultQualityLevel;
|
||||||
|
|
||||||
|
[Tooltip("Combined performance index table")]
|
||||||
|
[SerializeReference]
|
||||||
|
[SelectableSerializeReference]
|
||||||
|
public IMatcher[] qualityLevelRuleMatchers; // cannot use IMatcher<T> because of SerializeReference
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a69dd1328098843cb89cf7fc851fd19b
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,150 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Assertions;
|
||||||
|
|
||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
public interface IMatcher
|
||||||
|
{
|
||||||
|
bool TryMatch<T>(HardwareStats stats, out T qualityLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IMatcher<T>
|
||||||
|
{
|
||||||
|
bool TryMatch(HardwareStats stats, out T matchedQualityLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract class RuleMatcherBase<T> : IMatcher
|
||||||
|
{
|
||||||
|
protected abstract IEnumerable<IMatcher<T>> Rules { get; }
|
||||||
|
|
||||||
|
bool IMatcher.TryMatch<TOut>(HardwareStats stats, out TOut qualityLevel)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(typeof(T), typeof(TOut), "type mismatch");
|
||||||
|
|
||||||
|
var matched = TryMatch(stats, out var matchedQualityLevel);
|
||||||
|
qualityLevel = (TOut)Convert.ChangeType(matchedQualityLevel, typeof(TOut));
|
||||||
|
return matched;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool TryMatch(HardwareStats stats, out T qualityLevel)
|
||||||
|
{
|
||||||
|
if (Rules is not null)
|
||||||
|
foreach (var rule in Rules)
|
||||||
|
if (rule.TryMatch(stats, out var matchedQualityLevel))
|
||||||
|
{
|
||||||
|
qualityLevel = matchedQualityLevel;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
qualityLevel = default;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class DeviceNameRuleMatcherBase<T> : RuleMatcherBase<T>
|
||||||
|
{
|
||||||
|
public Rule[] rules;
|
||||||
|
|
||||||
|
protected override IEnumerable<IMatcher<T>> Rules => rules;
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class Rule : IMatcher<T>
|
||||||
|
{
|
||||||
|
[Tooltip("Device model name returned by SystemInfo.deviceModel (exact match)")]
|
||||||
|
public string deviceModel;
|
||||||
|
|
||||||
|
[Tooltip("Quality level for the device that match")]
|
||||||
|
public T qualityLevel;
|
||||||
|
|
||||||
|
public bool TryMatch(HardwareStats stats, out T matchedQualityLevel)
|
||||||
|
{
|
||||||
|
if (deviceModel.Equals(stats.DeviceModel, StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
matchedQualityLevel = qualityLevel;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
matchedQualityLevel = default;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class GpuSeriesRuleMatcherBase<TLevel, TEnum> : RuleMatcherBase<TLevel>
|
||||||
|
where TEnum : GpuSeriesEnumeration
|
||||||
|
{
|
||||||
|
public Rule[] rules;
|
||||||
|
|
||||||
|
protected override IEnumerable<IMatcher<TLevel>> Rules => rules;
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public sealed class Rule : IMatcher<TLevel>
|
||||||
|
{
|
||||||
|
[Tooltip("GPU series that match")]
|
||||||
|
public TEnum gpuSeries;
|
||||||
|
|
||||||
|
[Tooltip("Minimum of GPU series number that match (inclusive)")]
|
||||||
|
public int gpuSeriesNumberMin;
|
||||||
|
|
||||||
|
[Tooltip("Maximum of GPU series number that match (inclusive)")]
|
||||||
|
public int gpuSeriesNumberMax;
|
||||||
|
|
||||||
|
[Tooltip("Performance level for the device that match")]
|
||||||
|
public TLevel qualityLevel;
|
||||||
|
|
||||||
|
public bool TryMatch(HardwareStats stats, out TLevel matchedQualityLevel)
|
||||||
|
{
|
||||||
|
matchedQualityLevel = default;
|
||||||
|
if (stats.GpuMajorSeries != gpuSeries.GpuMajorSeries)
|
||||||
|
return false;
|
||||||
|
// don't check gpuMinorSeries if it's unknown
|
||||||
|
if (gpuSeries.GpuMinorSeries != GpuMinorSeries.Unknown &&
|
||||||
|
stats.GpuMinorSeries != gpuSeries.GpuMinorSeries)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (stats.GpuSeriesNumber < gpuSeriesNumberMin ||
|
||||||
|
stats.GpuSeriesNumber > gpuSeriesNumberMax)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
matchedQualityLevel = qualityLevel;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class SystemMemoryRuleMatcherBase<T> : RuleMatcherBase<T>
|
||||||
|
{
|
||||||
|
public Rule[] rules;
|
||||||
|
|
||||||
|
protected override IEnumerable<IMatcher<T>> Rules => rules;
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public sealed class Rule : IMatcher<T>
|
||||||
|
{
|
||||||
|
[Tooltip("Minimum of system memory megabytes that match (inclusive)")]
|
||||||
|
public int systemMemoryMin;
|
||||||
|
|
||||||
|
[Tooltip("Maximum of system memory megabytes that match (inclusive)")]
|
||||||
|
public int systemMemoryMax;
|
||||||
|
|
||||||
|
[Tooltip("Performance level for the device that match")]
|
||||||
|
public T qualityLevel;
|
||||||
|
|
||||||
|
public bool TryMatch(HardwareStats stats, out T matchedQualityLevel)
|
||||||
|
{
|
||||||
|
matchedQualityLevel = default;
|
||||||
|
if (stats.SystemMemorySizeMb < systemMemoryMin ||
|
||||||
|
stats.SystemMemorySizeMb > systemMemoryMax)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
matchedQualityLevel = qualityLevel;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aef62e03531de451395b4c442fac883f
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Byway.Quality
|
||||||
|
{
|
||||||
|
[AttributeUsage(AttributeTargets.Field)]
|
||||||
|
public class SelectableSerializeReferenceAttribute : PropertyAttribute
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c52c2f1188c954111aef107ac07e4b83
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
11
Packages/com.bywaystudios.qualitytuner/package.json
Normal file
11
Packages/com.bywaystudios.qualitytuner/package.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"name": "com.bywaystudios.qualitytuner",
|
||||||
|
"displayName": "Quality Tuner",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Tools to support deciding quality level by hardware spec of mobile devices.",
|
||||||
|
"repository": {
|
||||||
|
"url": "git@gitea.bywaystudios.com:wangshiyao/QualitySettingsPackage.git",
|
||||||
|
"type": "git",
|
||||||
|
"revision": null
|
||||||
|
}
|
||||||
|
}
|
||||||
7
Packages/com.bywaystudios.qualitytuner/package.json.meta
Normal file
7
Packages/com.bywaystudios.qualitytuner/package.json.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c5989fc7abeeb41478a33e30f352866d
|
||||||
|
PackageManifestImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
48
Packages/manifest.json
Normal file
48
Packages/manifest.json
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.asset-store-validation": "0.6.0",
|
||||||
|
"com.unity.collab-proxy": "2.12.4",
|
||||||
|
"com.unity.editorcoroutines": "1.0.1",
|
||||||
|
"com.unity.feature.development": "1.0.1",
|
||||||
|
"com.unity.ide.rider": "3.0.38",
|
||||||
|
"com.unity.ide.visualstudio": "2.0.25",
|
||||||
|
"com.unity.ide.vscode": "1.2.5",
|
||||||
|
"com.unity.nuget.newtonsoft-json": "3.2.2",
|
||||||
|
"com.unity.performance.profile-analyzer": "1.2.4",
|
||||||
|
"com.unity.settings-manager": "2.1.1",
|
||||||
|
"com.unity.test-framework": "1.1.33",
|
||||||
|
"com.unity.testtools.codecoverage": "1.2.7",
|
||||||
|
"com.unity.upm.develop": "0.5.3-exp.1",
|
||||||
|
"com.unity.modules.ai": "1.0.0",
|
||||||
|
"com.unity.modules.androidjni": "1.0.0",
|
||||||
|
"com.unity.modules.animation": "1.0.0",
|
||||||
|
"com.unity.modules.assetbundle": "1.0.0",
|
||||||
|
"com.unity.modules.audio": "1.0.0",
|
||||||
|
"com.unity.modules.cloth": "1.0.0",
|
||||||
|
"com.unity.modules.director": "1.0.0",
|
||||||
|
"com.unity.modules.imageconversion": "1.0.0",
|
||||||
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
|
"com.unity.modules.jsonserialize": "1.0.0",
|
||||||
|
"com.unity.modules.particlesystem": "1.0.0",
|
||||||
|
"com.unity.modules.physics": "1.0.0",
|
||||||
|
"com.unity.modules.physics2d": "1.0.0",
|
||||||
|
"com.unity.modules.screencapture": "1.0.0",
|
||||||
|
"com.unity.modules.terrain": "1.0.0",
|
||||||
|
"com.unity.modules.terrainphysics": "1.0.0",
|
||||||
|
"com.unity.modules.tilemap": "1.0.0",
|
||||||
|
"com.unity.modules.ui": "1.0.0",
|
||||||
|
"com.unity.modules.uielements": "1.0.0",
|
||||||
|
"com.unity.modules.umbra": "1.0.0",
|
||||||
|
"com.unity.modules.unityanalytics": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestaudio": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequesttexture": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestwww": "1.0.0",
|
||||||
|
"com.unity.modules.vehicles": "1.0.0",
|
||||||
|
"com.unity.modules.video": "1.0.0",
|
||||||
|
"com.unity.modules.vr": "1.0.0",
|
||||||
|
"com.unity.modules.wind": "1.0.0",
|
||||||
|
"com.unity.modules.xr": "1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
375
Packages/packages-lock.json
Normal file
375
Packages/packages-lock.json
Normal file
@ -0,0 +1,375 @@
|
|||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"com.bywaystudios.qualitytuner": {
|
||||||
|
"version": "file:com.bywaystudios.qualitytuner",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "embedded",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.asset-store-validation": {
|
||||||
|
"version": "0.6.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.nuget.newtonsoft-json": "2.0.2"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.collab-proxy": {
|
||||||
|
"version": "2.12.4",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.editorcoroutines": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.ext.nunit": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.feature.development": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.ide.visualstudio": "2.0.22",
|
||||||
|
"com.unity.ide.rider": "3.0.36",
|
||||||
|
"com.unity.ide.vscode": "1.2.5",
|
||||||
|
"com.unity.editorcoroutines": "1.0.0",
|
||||||
|
"com.unity.performance.profile-analyzer": "1.2.3",
|
||||||
|
"com.unity.test-framework": "1.1.33",
|
||||||
|
"com.unity.testtools.codecoverage": "1.2.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.ide.rider": {
|
||||||
|
"version": "3.0.38",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.ext.nunit": "1.0.6"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.ide.visualstudio": {
|
||||||
|
"version": "2.0.25",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.test-framework": "1.1.31"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.ide.vscode": {
|
||||||
|
"version": "1.2.5",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.nuget.newtonsoft-json": {
|
||||||
|
"version": "3.2.2",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.performance.profile-analyzer": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.settings-manager": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.test-framework": {
|
||||||
|
"version": "1.1.33",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.ext.nunit": "1.0.6",
|
||||||
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
|
"com.unity.modules.jsonserialize": "1.0.0"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.testtools.codecoverage": {
|
||||||
|
"version": "1.2.7",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.test-framework": "1.0.16",
|
||||||
|
"com.unity.settings-manager": "1.0.1"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.upm.develop": {
|
||||||
|
"version": "0.5.3-exp.1",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.test-framework": "1.1.20",
|
||||||
|
"com.unity.nuget.newtonsoft-json": "2.0.2",
|
||||||
|
"com.unity.asset-store-validation": "0.1.3"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
|
"com.unity.modules.ai": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.androidjni": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.animation": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.assetbundle": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.audio": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.cloth": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.physics": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.director": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.audio": "1.0.0",
|
||||||
|
"com.unity.modules.animation": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.imageconversion": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.imgui": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.jsonserialize": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.particlesystem": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.physics": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.physics2d": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.screencapture": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.imageconversion": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.subsystems": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.jsonserialize": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.terrain": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.terrainphysics": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.physics": "1.0.0",
|
||||||
|
"com.unity.modules.terrain": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.tilemap": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.physics2d": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.ui": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.uielements": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.ui": "1.0.0",
|
||||||
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
|
"com.unity.modules.jsonserialize": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.umbra": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.unityanalytics": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.modules.jsonserialize": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.unitywebrequest": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.unitywebrequestassetbundle": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.assetbundle": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.unitywebrequestaudio": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.modules.audio": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.unitywebrequesttexture": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.modules.imageconversion": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.unitywebrequestwww": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequestaudio": "1.0.0",
|
||||||
|
"com.unity.modules.audio": "1.0.0",
|
||||||
|
"com.unity.modules.assetbundle": "1.0.0",
|
||||||
|
"com.unity.modules.imageconversion": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.vehicles": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.physics": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.video": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.audio": "1.0.0",
|
||||||
|
"com.unity.modules.ui": "1.0.0",
|
||||||
|
"com.unity.modules.unitywebrequest": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.vr": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.jsonserialize": "1.0.0",
|
||||||
|
"com.unity.modules.physics": "1.0.0",
|
||||||
|
"com.unity.modules.xr": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"com.unity.modules.wind": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
|
"com.unity.modules.xr": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "builtin",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.modules.physics": "1.0.0",
|
||||||
|
"com.unity.modules.jsonserialize": "1.0.0",
|
||||||
|
"com.unity.modules.subsystems": "1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
19
ProjectSettings/AudioManager.asset
Normal file
19
ProjectSettings/AudioManager.asset
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!11 &1
|
||||||
|
AudioManager:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Volume: 1
|
||||||
|
Rolloff Scale: 1
|
||||||
|
Doppler Factor: 1
|
||||||
|
Default Speaker Mode: 2
|
||||||
|
m_SampleRate: 0
|
||||||
|
m_DSPBufferSize: 1024
|
||||||
|
m_VirtualVoiceCount: 512
|
||||||
|
m_RealVoiceCount: 32
|
||||||
|
m_SpatializerPlugin:
|
||||||
|
m_AmbisonicDecoderPlugin:
|
||||||
|
m_DisableAudio: 0
|
||||||
|
m_VirtualizeEffects: 1
|
||||||
|
m_RequestedDSPBufferSize: 1024
|
||||||
6
ProjectSettings/ClusterInputManager.asset
Normal file
6
ProjectSettings/ClusterInputManager.asset
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!236 &1
|
||||||
|
ClusterInputManager:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_Inputs: []
|
||||||
34
ProjectSettings/DynamicsManager.asset
Normal file
34
ProjectSettings/DynamicsManager.asset
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!55 &1
|
||||||
|
PhysicsManager:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 11
|
||||||
|
m_Gravity: {x: 0, y: -9.81, z: 0}
|
||||||
|
m_DefaultMaterial: {fileID: 0}
|
||||||
|
m_BounceThreshold: 2
|
||||||
|
m_SleepThreshold: 0.005
|
||||||
|
m_DefaultContactOffset: 0.01
|
||||||
|
m_DefaultSolverIterations: 6
|
||||||
|
m_DefaultSolverVelocityIterations: 1
|
||||||
|
m_QueriesHitBackfaces: 0
|
||||||
|
m_QueriesHitTriggers: 1
|
||||||
|
m_EnableAdaptiveForce: 0
|
||||||
|
m_ClothInterCollisionDistance: 0
|
||||||
|
m_ClothInterCollisionStiffness: 0
|
||||||
|
m_ContactsGeneration: 1
|
||||||
|
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
m_AutoSimulation: 1
|
||||||
|
m_AutoSyncTransforms: 0
|
||||||
|
m_ReuseCollisionCallbacks: 1
|
||||||
|
m_ClothInterCollisionSettingsToggle: 0
|
||||||
|
m_ContactPairsMode: 0
|
||||||
|
m_BroadphaseType: 0
|
||||||
|
m_WorldBounds:
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
m_Extent: {x: 250, y: 250, z: 250}
|
||||||
|
m_WorldSubdivisions: 8
|
||||||
|
m_FrictionType: 0
|
||||||
|
m_EnableEnhancedDeterminism: 0
|
||||||
|
m_EnableUnifiedHeightmaps: 1
|
||||||
|
m_DefaultMaxAngluarSpeed: 7
|
||||||
8
ProjectSettings/EditorBuildSettings.asset
Normal file
8
ProjectSettings/EditorBuildSettings.asset
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1045 &1
|
||||||
|
EditorBuildSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Scenes: []
|
||||||
|
m_configObjects: {}
|
||||||
30
ProjectSettings/EditorSettings.asset
Normal file
30
ProjectSettings/EditorSettings.asset
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!159 &1
|
||||||
|
EditorSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 11
|
||||||
|
m_ExternalVersionControlSupport: Visible Meta Files
|
||||||
|
m_SerializationMode: 2
|
||||||
|
m_LineEndingsForNewScripts: 0
|
||||||
|
m_DefaultBehaviorMode: 0
|
||||||
|
m_PrefabRegularEnvironment: {fileID: 0}
|
||||||
|
m_PrefabUIEnvironment: {fileID: 0}
|
||||||
|
m_SpritePackerMode: 0
|
||||||
|
m_SpritePackerPaddingPower: 1
|
||||||
|
m_EtcTextureCompressorBehavior: 1
|
||||||
|
m_EtcTextureFastCompressor: 1
|
||||||
|
m_EtcTextureNormalCompressor: 2
|
||||||
|
m_EtcTextureBestCompressor: 4
|
||||||
|
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
|
||||||
|
m_ProjectGenerationRootNamespace:
|
||||||
|
m_CollabEditorSettings:
|
||||||
|
inProgressEnabled: 1
|
||||||
|
m_EnableTextureStreamingInEditMode: 1
|
||||||
|
m_EnableTextureStreamingInPlayMode: 1
|
||||||
|
m_AsyncShaderCompilation: 1
|
||||||
|
m_EnterPlayModeOptionsEnabled: 0
|
||||||
|
m_EnterPlayModeOptions: 3
|
||||||
|
m_ShowLightmapResolutionOverlay: 1
|
||||||
|
m_UseLegacyProbeSampleCount: 0
|
||||||
|
m_SerializeInlineMappingsOnOneLine: 1
|
||||||
63
ProjectSettings/GraphicsSettings.asset
Normal file
63
ProjectSettings/GraphicsSettings.asset
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!30 &1
|
||||||
|
GraphicsSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 13
|
||||||
|
m_Deferred:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_DeferredReflections:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_ScreenSpaceShadows:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_LegacyDeferred:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_DepthNormals:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_MotionVectors:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_LightHalo:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_LensFlare:
|
||||||
|
m_Mode: 1
|
||||||
|
m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_AlwaysIncludedShaders:
|
||||||
|
- {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
- {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
- {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
- {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
- {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
- {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_PreloadedShaders: []
|
||||||
|
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
|
||||||
|
type: 0}
|
||||||
|
m_CustomRenderPipeline: {fileID: 0}
|
||||||
|
m_TransparencySortMode: 0
|
||||||
|
m_TransparencySortAxis: {x: 0, y: 0, z: 1}
|
||||||
|
m_DefaultRenderingPath: 1
|
||||||
|
m_DefaultMobileRenderingPath: 1
|
||||||
|
m_TierSettings: []
|
||||||
|
m_LightmapStripping: 0
|
||||||
|
m_FogStripping: 0
|
||||||
|
m_InstancingStripping: 0
|
||||||
|
m_LightmapKeepPlain: 1
|
||||||
|
m_LightmapKeepDirCombined: 1
|
||||||
|
m_LightmapKeepDynamicPlain: 1
|
||||||
|
m_LightmapKeepDynamicDirCombined: 1
|
||||||
|
m_LightmapKeepShadowMask: 1
|
||||||
|
m_LightmapKeepSubtractive: 1
|
||||||
|
m_FogKeepLinear: 1
|
||||||
|
m_FogKeepExp: 1
|
||||||
|
m_FogKeepExp2: 1
|
||||||
|
m_AlbedoSwatchInfos: []
|
||||||
|
m_LightsUseLinearIntensity: 0
|
||||||
|
m_LightsUseColorTemperature: 0
|
||||||
|
m_LogWhenShaderIsCompiled: 0
|
||||||
|
m_AllowEnlightenSupportForUpgradedProject: 0
|
||||||
295
ProjectSettings/InputManager.asset
Normal file
295
ProjectSettings/InputManager.asset
Normal file
@ -0,0 +1,295 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!13 &1
|
||||||
|
InputManager:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Axes:
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Horizontal
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton: left
|
||||||
|
positiveButton: right
|
||||||
|
altNegativeButton: a
|
||||||
|
altPositiveButton: d
|
||||||
|
gravity: 3
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 3
|
||||||
|
snap: 1
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Vertical
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton: down
|
||||||
|
positiveButton: up
|
||||||
|
altNegativeButton: s
|
||||||
|
altPositiveButton: w
|
||||||
|
gravity: 3
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 3
|
||||||
|
snap: 1
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Fire1
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: left ctrl
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton: mouse 0
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Fire2
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: left alt
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton: mouse 1
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Fire3
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: left shift
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton: mouse 2
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Jump
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: space
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Mouse X
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton:
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 0
|
||||||
|
dead: 0
|
||||||
|
sensitivity: 0.1
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 1
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Mouse Y
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton:
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 0
|
||||||
|
dead: 0
|
||||||
|
sensitivity: 0.1
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 1
|
||||||
|
axis: 1
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Mouse ScrollWheel
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton:
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 0
|
||||||
|
dead: 0
|
||||||
|
sensitivity: 0.1
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 1
|
||||||
|
axis: 2
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Horizontal
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton:
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 0
|
||||||
|
dead: 0.19
|
||||||
|
sensitivity: 1
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 2
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Vertical
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton:
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 0
|
||||||
|
dead: 0.19
|
||||||
|
sensitivity: 1
|
||||||
|
snap: 0
|
||||||
|
invert: 1
|
||||||
|
type: 2
|
||||||
|
axis: 1
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Fire1
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: joystick button 0
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Fire2
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: joystick button 1
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Fire3
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: joystick button 2
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Jump
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: joystick button 3
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton:
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Submit
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: return
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton: joystick button 0
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Submit
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: enter
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton: space
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
m_Name: Cancel
|
||||||
|
descriptiveName:
|
||||||
|
descriptiveNegativeName:
|
||||||
|
negativeButton:
|
||||||
|
positiveButton: escape
|
||||||
|
altNegativeButton:
|
||||||
|
altPositiveButton: joystick button 1
|
||||||
|
gravity: 1000
|
||||||
|
dead: 0.001
|
||||||
|
sensitivity: 1000
|
||||||
|
snap: 0
|
||||||
|
invert: 0
|
||||||
|
type: 0
|
||||||
|
axis: 0
|
||||||
|
joyNum: 0
|
||||||
35
ProjectSettings/MemorySettings.asset
Normal file
35
ProjectSettings/MemorySettings.asset
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!387306366 &1
|
||||||
|
MemorySettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_EditorMemorySettings:
|
||||||
|
m_MainAllocatorBlockSize: -1
|
||||||
|
m_ThreadAllocatorBlockSize: -1
|
||||||
|
m_MainGfxBlockSize: -1
|
||||||
|
m_ThreadGfxBlockSize: -1
|
||||||
|
m_CacheBlockSize: -1
|
||||||
|
m_TypetreeBlockSize: -1
|
||||||
|
m_ProfilerBlockSize: -1
|
||||||
|
m_ProfilerEditorBlockSize: -1
|
||||||
|
m_BucketAllocatorGranularity: -1
|
||||||
|
m_BucketAllocatorBucketsCount: -1
|
||||||
|
m_BucketAllocatorBlockSize: -1
|
||||||
|
m_BucketAllocatorBlockCount: -1
|
||||||
|
m_ProfilerBucketAllocatorGranularity: -1
|
||||||
|
m_ProfilerBucketAllocatorBucketsCount: -1
|
||||||
|
m_ProfilerBucketAllocatorBlockSize: -1
|
||||||
|
m_ProfilerBucketAllocatorBlockCount: -1
|
||||||
|
m_TempAllocatorSizeMain: -1
|
||||||
|
m_JobTempAllocatorBlockSize: -1
|
||||||
|
m_BackgroundJobTempAllocatorBlockSize: -1
|
||||||
|
m_JobTempAllocatorReducedBlockSize: -1
|
||||||
|
m_TempAllocatorSizeGIBakingWorker: -1
|
||||||
|
m_TempAllocatorSizeNavMeshWorker: -1
|
||||||
|
m_TempAllocatorSizeAudioWorker: -1
|
||||||
|
m_TempAllocatorSizeCloudWorker: -1
|
||||||
|
m_TempAllocatorSizeGfx: -1
|
||||||
|
m_TempAllocatorSizeJobWorker: -1
|
||||||
|
m_TempAllocatorSizeBackgroundWorker: -1
|
||||||
|
m_TempAllocatorSizePreloadManager: -1
|
||||||
|
m_PlatformMemorySettings: {}
|
||||||
91
ProjectSettings/NavMeshAreas.asset
Normal file
91
ProjectSettings/NavMeshAreas.asset
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!126 &1
|
||||||
|
NavMeshProjectSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
areas:
|
||||||
|
- name: Walkable
|
||||||
|
cost: 1
|
||||||
|
- name: Not Walkable
|
||||||
|
cost: 1
|
||||||
|
- name: Jump
|
||||||
|
cost: 2
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
- name:
|
||||||
|
cost: 1
|
||||||
|
m_LastAgentTypeID: -887442657
|
||||||
|
m_Settings:
|
||||||
|
- serializedVersion: 2
|
||||||
|
agentTypeID: 0
|
||||||
|
agentRadius: 0.5
|
||||||
|
agentHeight: 2
|
||||||
|
agentSlope: 45
|
||||||
|
agentClimb: 0.75
|
||||||
|
ledgeDropHeight: 0
|
||||||
|
maxJumpAcrossDistance: 0
|
||||||
|
minRegionArea: 2
|
||||||
|
manualCellSize: 0
|
||||||
|
cellSize: 0.16666667
|
||||||
|
manualTileSize: 0
|
||||||
|
tileSize: 256
|
||||||
|
accuratePlacement: 0
|
||||||
|
debug:
|
||||||
|
m_Flags: 0
|
||||||
|
m_SettingNames:
|
||||||
|
- Humanoid
|
||||||
35
ProjectSettings/PackageManagerSettings.asset
Normal file
35
ProjectSettings/PackageManagerSettings.asset
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &1
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 61
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_EnablePreReleasePackages: 0
|
||||||
|
m_EnablePackageDependencies: 0
|
||||||
|
m_AdvancedSettingsExpanded: 1
|
||||||
|
m_ScopedRegistriesSettingsExpanded: 1
|
||||||
|
m_SeeAllPackageVersions: 0
|
||||||
|
oneTimeWarningShown: 0
|
||||||
|
m_Registries:
|
||||||
|
- m_Id: main
|
||||||
|
m_Name:
|
||||||
|
m_Url: https://packages.unity.com
|
||||||
|
m_Scopes: []
|
||||||
|
m_IsDefault: 1
|
||||||
|
m_Capabilities: 7
|
||||||
|
m_UserSelectedRegistryName:
|
||||||
|
m_UserAddingNewScopedRegistry: 0
|
||||||
|
m_RegistryInfoDraft:
|
||||||
|
m_Modified: 0
|
||||||
|
m_ErrorMessage:
|
||||||
|
m_UserModificationsInstanceId: -830
|
||||||
|
m_OriginalInstanceId: -832
|
||||||
|
m_LoadAssets: 0
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"m_Dictionary": {
|
||||||
|
"m_DictionaryValues": []
|
||||||
|
}
|
||||||
|
}
|
||||||
56
ProjectSettings/Physics2DSettings.asset
Normal file
56
ProjectSettings/Physics2DSettings.asset
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!19 &1
|
||||||
|
Physics2DSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Gravity: {x: 0, y: -9.81}
|
||||||
|
m_DefaultMaterial: {fileID: 0}
|
||||||
|
m_VelocityIterations: 8
|
||||||
|
m_PositionIterations: 3
|
||||||
|
m_VelocityThreshold: 1
|
||||||
|
m_MaxLinearCorrection: 0.2
|
||||||
|
m_MaxAngularCorrection: 8
|
||||||
|
m_MaxTranslationSpeed: 100
|
||||||
|
m_MaxRotationSpeed: 360
|
||||||
|
m_BaumgarteScale: 0.2
|
||||||
|
m_BaumgarteTimeOfImpactScale: 0.75
|
||||||
|
m_TimeToSleep: 0.5
|
||||||
|
m_LinearSleepTolerance: 0.01
|
||||||
|
m_AngularSleepTolerance: 2
|
||||||
|
m_DefaultContactOffset: 0.01
|
||||||
|
m_JobOptions:
|
||||||
|
serializedVersion: 2
|
||||||
|
useMultithreading: 0
|
||||||
|
useConsistencySorting: 0
|
||||||
|
m_InterpolationPosesPerJob: 100
|
||||||
|
m_NewContactsPerJob: 30
|
||||||
|
m_CollideContactsPerJob: 100
|
||||||
|
m_ClearFlagsPerJob: 200
|
||||||
|
m_ClearBodyForcesPerJob: 200
|
||||||
|
m_SyncDiscreteFixturesPerJob: 50
|
||||||
|
m_SyncContinuousFixturesPerJob: 50
|
||||||
|
m_FindNearestContactsPerJob: 100
|
||||||
|
m_UpdateTriggerContactsPerJob: 100
|
||||||
|
m_IslandSolverCostThreshold: 100
|
||||||
|
m_IslandSolverBodyCostScale: 1
|
||||||
|
m_IslandSolverContactCostScale: 10
|
||||||
|
m_IslandSolverJointCostScale: 10
|
||||||
|
m_IslandSolverBodiesPerJob: 50
|
||||||
|
m_IslandSolverContactsPerJob: 50
|
||||||
|
m_AutoSimulation: 1
|
||||||
|
m_QueriesHitTriggers: 1
|
||||||
|
m_QueriesStartInColliders: 1
|
||||||
|
m_CallbacksOnDisable: 1
|
||||||
|
m_ReuseCollisionCallbacks: 1
|
||||||
|
m_AutoSyncTransforms: 0
|
||||||
|
m_AlwaysShowColliders: 0
|
||||||
|
m_ShowColliderSleep: 1
|
||||||
|
m_ShowColliderContacts: 0
|
||||||
|
m_ShowColliderAABB: 0
|
||||||
|
m_ContactArrowScale: 0.2
|
||||||
|
m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
|
||||||
|
m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
|
||||||
|
m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
|
||||||
|
m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
|
||||||
|
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
7
ProjectSettings/PresetManager.asset
Normal file
7
ProjectSettings/PresetManager.asset
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1386491679 &1
|
||||||
|
PresetManager:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_DefaultPresets: {}
|
||||||
961
ProjectSettings/ProjectSettings.asset
Normal file
961
ProjectSettings/ProjectSettings.asset
Normal file
@ -0,0 +1,961 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!129 &1
|
||||||
|
PlayerSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 26
|
||||||
|
productGUID: 95c2a2f5e092ac941bd8d86b5757f6b5
|
||||||
|
AndroidProfiler: 0
|
||||||
|
AndroidFilterTouchesWhenObscured: 0
|
||||||
|
AndroidEnableSustainedPerformanceMode: 0
|
||||||
|
defaultScreenOrientation: 4
|
||||||
|
targetDevice: 2
|
||||||
|
useOnDemandResources: 0
|
||||||
|
accelerometerFrequency: 60
|
||||||
|
companyName: DefaultCompany
|
||||||
|
productName: QualitySettingsPackage
|
||||||
|
defaultCursor: {fileID: 0}
|
||||||
|
cursorHotspot: {x: 0, y: 0}
|
||||||
|
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
|
||||||
|
m_ShowUnitySplashScreen: 1
|
||||||
|
m_ShowUnitySplashLogo: 1
|
||||||
|
m_SplashScreenOverlayOpacity: 1
|
||||||
|
m_SplashScreenAnimation: 1
|
||||||
|
m_SplashScreenLogoStyle: 1
|
||||||
|
m_SplashScreenDrawMode: 0
|
||||||
|
m_SplashScreenBackgroundAnimationZoom: 1
|
||||||
|
m_SplashScreenLogoAnimationZoom: 1
|
||||||
|
m_SplashScreenBackgroundLandscapeAspect: 1
|
||||||
|
m_SplashScreenBackgroundPortraitAspect: 1
|
||||||
|
m_SplashScreenBackgroundLandscapeUvs:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 1
|
||||||
|
height: 1
|
||||||
|
m_SplashScreenBackgroundPortraitUvs:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 1
|
||||||
|
height: 1
|
||||||
|
m_SplashScreenLogos: []
|
||||||
|
m_VirtualRealitySplashScreen: {fileID: 0}
|
||||||
|
m_HolographicTrackingLossScreen: {fileID: 0}
|
||||||
|
defaultScreenWidth: 1920
|
||||||
|
defaultScreenHeight: 1080
|
||||||
|
defaultScreenWidthWeb: 960
|
||||||
|
defaultScreenHeightWeb: 600
|
||||||
|
m_StereoRenderingPath: 0
|
||||||
|
m_ActiveColorSpace: 1
|
||||||
|
unsupportedMSAAFallback: 0
|
||||||
|
m_SpriteBatchVertexThreshold: 300
|
||||||
|
m_MTRendering: 1
|
||||||
|
mipStripping: 0
|
||||||
|
numberOfMipsStripped: 0
|
||||||
|
numberOfMipsStrippedPerMipmapLimitGroup: {}
|
||||||
|
m_StackTraceTypes: 010000000100000001000000010000000100000001000000
|
||||||
|
iosShowActivityIndicatorOnLoading: -1
|
||||||
|
androidShowActivityIndicatorOnLoading: -1
|
||||||
|
iosUseCustomAppBackgroundBehavior: 0
|
||||||
|
allowedAutorotateToPortrait: 1
|
||||||
|
allowedAutorotateToPortraitUpsideDown: 1
|
||||||
|
allowedAutorotateToLandscapeRight: 1
|
||||||
|
allowedAutorotateToLandscapeLeft: 1
|
||||||
|
useOSAutorotation: 1
|
||||||
|
use32BitDisplayBuffer: 1
|
||||||
|
preserveFramebufferAlpha: 0
|
||||||
|
disableDepthAndStencilBuffers: 0
|
||||||
|
androidStartInFullscreen: 1
|
||||||
|
androidRenderOutsideSafeArea: 1
|
||||||
|
androidUseSwappy: 1
|
||||||
|
androidBlitType: 0
|
||||||
|
androidResizableWindow: 0
|
||||||
|
androidDefaultWindowWidth: 1920
|
||||||
|
androidDefaultWindowHeight: 1080
|
||||||
|
androidMinimumWindowWidth: 400
|
||||||
|
androidMinimumWindowHeight: 300
|
||||||
|
androidFullscreenMode: 1
|
||||||
|
androidAutoRotationBehavior: 1
|
||||||
|
androidPredictiveBackSupport: 1
|
||||||
|
defaultIsNativeResolution: 1
|
||||||
|
macRetinaSupport: 1
|
||||||
|
runInBackground: 1
|
||||||
|
captureSingleScreen: 0
|
||||||
|
muteOtherAudioSources: 0
|
||||||
|
Prepare IOS For Recording: 0
|
||||||
|
Force IOS Speakers When Recording: 0
|
||||||
|
audioSpatialExperience: 0
|
||||||
|
deferSystemGesturesMode: 0
|
||||||
|
hideHomeButton: 0
|
||||||
|
submitAnalytics: 1
|
||||||
|
usePlayerLog: 1
|
||||||
|
dedicatedServerOptimizations: 0
|
||||||
|
bakeCollisionMeshes: 0
|
||||||
|
forceSingleInstance: 0
|
||||||
|
useFlipModelSwapchain: 1
|
||||||
|
resizableWindow: 0
|
||||||
|
useMacAppStoreValidation: 0
|
||||||
|
macAppStoreCategory: public.app-category.games
|
||||||
|
gpuSkinning: 1
|
||||||
|
xboxPIXTextureCapture: 0
|
||||||
|
xboxEnableAvatar: 0
|
||||||
|
xboxEnableKinect: 0
|
||||||
|
xboxEnableKinectAutoTracking: 0
|
||||||
|
xboxEnableFitness: 0
|
||||||
|
visibleInBackground: 1
|
||||||
|
allowFullscreenSwitch: 1
|
||||||
|
fullscreenMode: 1
|
||||||
|
xboxSpeechDB: 0
|
||||||
|
xboxEnableHeadOrientation: 0
|
||||||
|
xboxEnableGuest: 0
|
||||||
|
xboxEnablePIXSampling: 0
|
||||||
|
metalFramebufferOnly: 0
|
||||||
|
xboxOneResolution: 0
|
||||||
|
xboxOneSResolution: 0
|
||||||
|
xboxOneXResolution: 3
|
||||||
|
xboxOneMonoLoggingLevel: 0
|
||||||
|
xboxOneLoggingLevel: 1
|
||||||
|
xboxOneDisableEsram: 0
|
||||||
|
xboxOneEnableTypeOptimization: 0
|
||||||
|
xboxOnePresentImmediateThreshold: 0
|
||||||
|
switchQueueCommandMemory: 0
|
||||||
|
switchQueueControlMemory: 16384
|
||||||
|
switchQueueComputeMemory: 262144
|
||||||
|
switchNVNShaderPoolsGranularity: 33554432
|
||||||
|
switchNVNDefaultPoolsGranularity: 16777216
|
||||||
|
switchNVNOtherPoolsGranularity: 16777216
|
||||||
|
switchGpuScratchPoolGranularity: 2097152
|
||||||
|
switchAllowGpuScratchShrinking: 0
|
||||||
|
switchNVNMaxPublicTextureIDCount: 0
|
||||||
|
switchNVNMaxPublicSamplerIDCount: 0
|
||||||
|
switchNVNGraphicsFirmwareMemory: 32
|
||||||
|
switchMaxWorkerMultiple: 8
|
||||||
|
stadiaPresentMode: 0
|
||||||
|
stadiaTargetFramerate: 0
|
||||||
|
vulkanNumSwapchainBuffers: 3
|
||||||
|
vulkanEnableSetSRGBWrite: 0
|
||||||
|
vulkanEnablePreTransform: 1
|
||||||
|
vulkanEnableLateAcquireNextImage: 0
|
||||||
|
vulkanEnableCommandBufferRecycling: 1
|
||||||
|
loadStoreDebugModeEnabled: 0
|
||||||
|
visionOSBundleVersion: 1.0
|
||||||
|
tvOSBundleVersion: 1.0
|
||||||
|
bundleVersion: 0.1
|
||||||
|
preloadedAssets: []
|
||||||
|
metroInputSource: 0
|
||||||
|
wsaTransparentSwapchain: 0
|
||||||
|
m_HolographicPauseOnTrackingLoss: 1
|
||||||
|
xboxOneDisableKinectGpuReservation: 1
|
||||||
|
xboxOneEnable7thCore: 1
|
||||||
|
vrSettings:
|
||||||
|
enable360StereoCapture: 0
|
||||||
|
isWsaHolographicRemotingEnabled: 0
|
||||||
|
enableFrameTimingStats: 0
|
||||||
|
enableOpenGLProfilerGPURecorders: 1
|
||||||
|
allowHDRDisplaySupport: 0
|
||||||
|
useHDRDisplay: 0
|
||||||
|
hdrBitDepth: 0
|
||||||
|
m_ColorGamuts: 00000000
|
||||||
|
targetPixelDensity: 30
|
||||||
|
resolutionScalingMode: 0
|
||||||
|
resetResolutionOnWindowResize: 0
|
||||||
|
androidSupportedAspectRatio: 1
|
||||||
|
androidMaxAspectRatio: 2.1
|
||||||
|
applicationIdentifier: {}
|
||||||
|
buildNumber:
|
||||||
|
Standalone: 0
|
||||||
|
VisionOS: 0
|
||||||
|
iPhone: 0
|
||||||
|
tvOS: 0
|
||||||
|
overrideDefaultApplicationIdentifier: 0
|
||||||
|
AndroidBundleVersionCode: 1
|
||||||
|
AndroidMinSdkVersion: 22
|
||||||
|
AndroidTargetSdkVersion: 0
|
||||||
|
AndroidPreferredInstallLocation: 1
|
||||||
|
aotOptions:
|
||||||
|
stripEngineCode: 1
|
||||||
|
iPhoneStrippingLevel: 0
|
||||||
|
iPhoneScriptCallOptimization: 0
|
||||||
|
ForceInternetPermission: 0
|
||||||
|
ForceSDCardPermission: 0
|
||||||
|
CreateWallpaper: 0
|
||||||
|
APKExpansionFiles: 0
|
||||||
|
keepLoadedShadersAlive: 0
|
||||||
|
StripUnusedMeshComponents: 1
|
||||||
|
strictShaderVariantMatching: 0
|
||||||
|
VertexChannelCompressionMask: 4054
|
||||||
|
iPhoneSdkVersion: 988
|
||||||
|
iOSSimulatorArchitecture: 0
|
||||||
|
iOSTargetOSVersionString: 12.0
|
||||||
|
tvOSSdkVersion: 0
|
||||||
|
tvOSSimulatorArchitecture: 0
|
||||||
|
tvOSRequireExtendedGameController: 0
|
||||||
|
tvOSTargetOSVersionString: 12.0
|
||||||
|
VisionOSSdkVersion: 0
|
||||||
|
VisionOSTargetOSVersionString: 1.0
|
||||||
|
uIPrerenderedIcon: 0
|
||||||
|
uIRequiresPersistentWiFi: 0
|
||||||
|
uIRequiresFullScreen: 1
|
||||||
|
uIStatusBarHidden: 1
|
||||||
|
uIExitOnSuspend: 0
|
||||||
|
uIStatusBarStyle: 0
|
||||||
|
appleTVSplashScreen: {fileID: 0}
|
||||||
|
appleTVSplashScreen2x: {fileID: 0}
|
||||||
|
tvOSSmallIconLayers: []
|
||||||
|
tvOSSmallIconLayers2x: []
|
||||||
|
tvOSLargeIconLayers: []
|
||||||
|
tvOSLargeIconLayers2x: []
|
||||||
|
tvOSTopShelfImageLayers: []
|
||||||
|
tvOSTopShelfImageLayers2x: []
|
||||||
|
tvOSTopShelfImageWideLayers: []
|
||||||
|
tvOSTopShelfImageWideLayers2x: []
|
||||||
|
iOSLaunchScreenType: 0
|
||||||
|
iOSLaunchScreenPortrait: {fileID: 0}
|
||||||
|
iOSLaunchScreenLandscape: {fileID: 0}
|
||||||
|
iOSLaunchScreenBackgroundColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 0
|
||||||
|
iOSLaunchScreenFillPct: 100
|
||||||
|
iOSLaunchScreenSize: 100
|
||||||
|
iOSLaunchScreenCustomXibPath:
|
||||||
|
iOSLaunchScreeniPadType: 0
|
||||||
|
iOSLaunchScreeniPadImage: {fileID: 0}
|
||||||
|
iOSLaunchScreeniPadBackgroundColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 0
|
||||||
|
iOSLaunchScreeniPadFillPct: 100
|
||||||
|
iOSLaunchScreeniPadSize: 100
|
||||||
|
iOSLaunchScreeniPadCustomXibPath:
|
||||||
|
iOSLaunchScreenCustomStoryboardPath:
|
||||||
|
iOSLaunchScreeniPadCustomStoryboardPath:
|
||||||
|
iOSDeviceRequirements: []
|
||||||
|
iOSURLSchemes: []
|
||||||
|
macOSURLSchemes: []
|
||||||
|
iOSBackgroundModes: 0
|
||||||
|
iOSMetalForceHardShadows: 0
|
||||||
|
metalEditorSupport: 1
|
||||||
|
metalAPIValidation: 1
|
||||||
|
metalCompileShaderBinary: 0
|
||||||
|
iOSRenderExtraFrameOnPause: 0
|
||||||
|
iosCopyPluginsCodeInsteadOfSymlink: 0
|
||||||
|
appleDeveloperTeamID:
|
||||||
|
iOSManualSigningProvisioningProfileID:
|
||||||
|
tvOSManualSigningProvisioningProfileID:
|
||||||
|
VisionOSManualSigningProvisioningProfileID:
|
||||||
|
iOSManualSigningProvisioningProfileType: 0
|
||||||
|
tvOSManualSigningProvisioningProfileType: 0
|
||||||
|
VisionOSManualSigningProvisioningProfileType: 0
|
||||||
|
appleEnableAutomaticSigning: 0
|
||||||
|
iOSRequireARKit: 0
|
||||||
|
iOSAutomaticallyDetectAndAddCapabilities: 1
|
||||||
|
appleEnableProMotion: 0
|
||||||
|
shaderPrecisionModel: 0
|
||||||
|
clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
|
||||||
|
templatePackageId: com.unity.template.packagetemplate@1.0.0
|
||||||
|
templateDefaultScene: Assets/Scenes/SampleScene.unity
|
||||||
|
useCustomMainManifest: 0
|
||||||
|
useCustomLauncherManifest: 0
|
||||||
|
useCustomMainGradleTemplate: 0
|
||||||
|
useCustomLauncherGradleManifest: 0
|
||||||
|
useCustomBaseGradleTemplate: 0
|
||||||
|
useCustomGradlePropertiesTemplate: 0
|
||||||
|
useCustomGradleSettingsTemplate: 0
|
||||||
|
useCustomProguardFile: 0
|
||||||
|
AndroidTargetArchitectures: 1
|
||||||
|
AndroidTargetDevices: 0
|
||||||
|
AndroidSplashScreenScale: 0
|
||||||
|
androidSplashScreen: {fileID: 0}
|
||||||
|
AndroidKeystoreName:
|
||||||
|
AndroidKeyaliasName:
|
||||||
|
AndroidEnableArmv9SecurityFeatures: 0
|
||||||
|
AndroidBuildApkPerCpuArchitecture: 0
|
||||||
|
AndroidTVCompatibility: 0
|
||||||
|
AndroidIsGame: 1
|
||||||
|
AndroidEnableTango: 0
|
||||||
|
androidEnableBanner: 1
|
||||||
|
androidUseLowAccuracyLocation: 0
|
||||||
|
androidUseCustomKeystore: 0
|
||||||
|
m_AndroidBanners:
|
||||||
|
- width: 320
|
||||||
|
height: 180
|
||||||
|
banner: {fileID: 0}
|
||||||
|
androidGamepadSupportLevel: 0
|
||||||
|
chromeosInputEmulation: 1
|
||||||
|
AndroidMinifyRelease: 0
|
||||||
|
AndroidMinifyDebug: 0
|
||||||
|
AndroidValidateAppBundleSize: 1
|
||||||
|
AndroidAppBundleSizeToValidate: 150
|
||||||
|
m_BuildTargetIcons: []
|
||||||
|
m_BuildTargetPlatformIcons:
|
||||||
|
- m_BuildTarget: iPhone
|
||||||
|
m_Icons:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 180
|
||||||
|
m_Height: 180
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 120
|
||||||
|
m_Height: 120
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 167
|
||||||
|
m_Height: 167
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 152
|
||||||
|
m_Height: 152
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 76
|
||||||
|
m_Height: 76
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 120
|
||||||
|
m_Height: 120
|
||||||
|
m_Kind: 3
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 80
|
||||||
|
m_Height: 80
|
||||||
|
m_Kind: 3
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 80
|
||||||
|
m_Height: 80
|
||||||
|
m_Kind: 3
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 40
|
||||||
|
m_Height: 40
|
||||||
|
m_Kind: 3
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 87
|
||||||
|
m_Height: 87
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 58
|
||||||
|
m_Height: 58
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 29
|
||||||
|
m_Height: 29
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 58
|
||||||
|
m_Height: 58
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 29
|
||||||
|
m_Height: 29
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 60
|
||||||
|
m_Height: 60
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 40
|
||||||
|
m_Height: 40
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind: iPhone
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 40
|
||||||
|
m_Height: 40
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 20
|
||||||
|
m_Height: 20
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind: iPad
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 1024
|
||||||
|
m_Height: 1024
|
||||||
|
m_Kind: 4
|
||||||
|
m_SubKind: App Store
|
||||||
|
- m_BuildTarget: Android
|
||||||
|
m_Icons:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 432
|
||||||
|
m_Height: 432
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 324
|
||||||
|
m_Height: 324
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 216
|
||||||
|
m_Height: 216
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 162
|
||||||
|
m_Height: 162
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 108
|
||||||
|
m_Height: 108
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 81
|
||||||
|
m_Height: 81
|
||||||
|
m_Kind: 2
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 192
|
||||||
|
m_Height: 192
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 144
|
||||||
|
m_Height: 144
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 96
|
||||||
|
m_Height: 96
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 72
|
||||||
|
m_Height: 72
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 48
|
||||||
|
m_Height: 48
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 36
|
||||||
|
m_Height: 36
|
||||||
|
m_Kind: 1
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 192
|
||||||
|
m_Height: 192
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 144
|
||||||
|
m_Height: 144
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 96
|
||||||
|
m_Height: 96
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 72
|
||||||
|
m_Height: 72
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 48
|
||||||
|
m_Height: 48
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind:
|
||||||
|
- m_Textures: []
|
||||||
|
m_Width: 36
|
||||||
|
m_Height: 36
|
||||||
|
m_Kind: 0
|
||||||
|
m_SubKind:
|
||||||
|
m_BuildTargetBatching:
|
||||||
|
- m_BuildTarget: Standalone
|
||||||
|
m_StaticBatching: 1
|
||||||
|
m_DynamicBatching: 0
|
||||||
|
- m_BuildTarget: tvOS
|
||||||
|
m_StaticBatching: 1
|
||||||
|
m_DynamicBatching: 0
|
||||||
|
- m_BuildTarget: Android
|
||||||
|
m_StaticBatching: 1
|
||||||
|
m_DynamicBatching: 0
|
||||||
|
- m_BuildTarget: iPhone
|
||||||
|
m_StaticBatching: 1
|
||||||
|
m_DynamicBatching: 0
|
||||||
|
- m_BuildTarget: WebGL
|
||||||
|
m_StaticBatching: 0
|
||||||
|
m_DynamicBatching: 0
|
||||||
|
m_BuildTargetShaderSettings: []
|
||||||
|
m_BuildTargetGraphicsJobs:
|
||||||
|
- m_BuildTarget: MacStandaloneSupport
|
||||||
|
m_GraphicsJobs: 0
|
||||||
|
- m_BuildTarget: Switch
|
||||||
|
m_GraphicsJobs: 1
|
||||||
|
- m_BuildTarget: MetroSupport
|
||||||
|
m_GraphicsJobs: 1
|
||||||
|
- m_BuildTarget: AppleTVSupport
|
||||||
|
m_GraphicsJobs: 0
|
||||||
|
- m_BuildTarget: BJMSupport
|
||||||
|
m_GraphicsJobs: 1
|
||||||
|
- m_BuildTarget: LinuxStandaloneSupport
|
||||||
|
m_GraphicsJobs: 1
|
||||||
|
- m_BuildTarget: PS4Player
|
||||||
|
m_GraphicsJobs: 1
|
||||||
|
- m_BuildTarget: iOSSupport
|
||||||
|
m_GraphicsJobs: 0
|
||||||
|
- m_BuildTarget: WindowsStandaloneSupport
|
||||||
|
m_GraphicsJobs: 1
|
||||||
|
- m_BuildTarget: XboxOnePlayer
|
||||||
|
m_GraphicsJobs: 1
|
||||||
|
- m_BuildTarget: LuminSupport
|
||||||
|
m_GraphicsJobs: 0
|
||||||
|
- m_BuildTarget: AndroidPlayer
|
||||||
|
m_GraphicsJobs: 0
|
||||||
|
- m_BuildTarget: WebGLSupport
|
||||||
|
m_GraphicsJobs: 0
|
||||||
|
m_BuildTargetGraphicsJobMode:
|
||||||
|
- m_BuildTarget: PS4Player
|
||||||
|
m_GraphicsJobMode: 0
|
||||||
|
- m_BuildTarget: XboxOnePlayer
|
||||||
|
m_GraphicsJobMode: 0
|
||||||
|
m_BuildTargetGraphicsAPIs:
|
||||||
|
- m_BuildTarget: AndroidPlayer
|
||||||
|
m_APIs: 150000000b000000
|
||||||
|
m_Automatic: 1
|
||||||
|
- m_BuildTarget: iOSSupport
|
||||||
|
m_APIs: 10000000
|
||||||
|
m_Automatic: 1
|
||||||
|
- m_BuildTarget: AppleTVSupport
|
||||||
|
m_APIs: 10000000
|
||||||
|
m_Automatic: 1
|
||||||
|
- m_BuildTarget: WebGLSupport
|
||||||
|
m_APIs: 0b000000
|
||||||
|
m_Automatic: 1
|
||||||
|
m_BuildTargetVRSettings:
|
||||||
|
- m_BuildTarget: Standalone
|
||||||
|
m_Enabled: 0
|
||||||
|
m_Devices:
|
||||||
|
- Oculus
|
||||||
|
- OpenVR
|
||||||
|
m_DefaultShaderChunkSizeInMB: 16
|
||||||
|
m_DefaultShaderChunkCount: 0
|
||||||
|
openGLRequireES31: 0
|
||||||
|
openGLRequireES31AEP: 0
|
||||||
|
openGLRequireES32: 0
|
||||||
|
m_TemplateCustomTags: {}
|
||||||
|
mobileMTRendering:
|
||||||
|
Android: 1
|
||||||
|
iPhone: 1
|
||||||
|
tvOS: 1
|
||||||
|
m_BuildTargetGroupLightmapEncodingQuality:
|
||||||
|
- m_BuildTarget: Android
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
- m_BuildTarget: iPhone
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
- m_BuildTarget: tvOS
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
m_BuildTargetGroupHDRCubemapEncodingQuality:
|
||||||
|
- m_BuildTarget: Android
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
- m_BuildTarget: iPhone
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
- m_BuildTarget: tvOS
|
||||||
|
m_EncodingQuality: 1
|
||||||
|
m_BuildTargetGroupLightmapSettings: []
|
||||||
|
m_BuildTargetGroupLoadStoreDebugModeSettings: []
|
||||||
|
m_BuildTargetNormalMapEncoding:
|
||||||
|
- m_BuildTarget: Android
|
||||||
|
m_Encoding: 1
|
||||||
|
- m_BuildTarget: iPhone
|
||||||
|
m_Encoding: 1
|
||||||
|
- m_BuildTarget: tvOS
|
||||||
|
m_Encoding: 1
|
||||||
|
m_BuildTargetDefaultTextureCompressionFormat:
|
||||||
|
- m_BuildTarget: Android
|
||||||
|
m_Format: 3
|
||||||
|
playModeTestRunnerEnabled: 0
|
||||||
|
runPlayModeTestAsEditModeTest: 0
|
||||||
|
actionOnDotNetUnhandledException: 1
|
||||||
|
enableInternalProfiler: 0
|
||||||
|
logObjCUncaughtExceptions: 1
|
||||||
|
enableCrashReportAPI: 0
|
||||||
|
cameraUsageDescription:
|
||||||
|
locationUsageDescription:
|
||||||
|
microphoneUsageDescription:
|
||||||
|
bluetoothUsageDescription:
|
||||||
|
macOSTargetOSVersion: 10.13.0
|
||||||
|
switchNMETAOverride:
|
||||||
|
switchNetLibKey:
|
||||||
|
switchSocketMemoryPoolSize: 6144
|
||||||
|
switchSocketAllocatorPoolSize: 128
|
||||||
|
switchSocketConcurrencyLimit: 14
|
||||||
|
switchScreenResolutionBehavior: 2
|
||||||
|
switchUseCPUProfiler: 0
|
||||||
|
switchEnableFileSystemTrace: 0
|
||||||
|
switchLTOSetting: 0
|
||||||
|
switchApplicationID: 0x01004b9000490000
|
||||||
|
switchNSODependencies:
|
||||||
|
switchCompilerFlags:
|
||||||
|
switchTitleNames_0:
|
||||||
|
switchTitleNames_1:
|
||||||
|
switchTitleNames_2:
|
||||||
|
switchTitleNames_3:
|
||||||
|
switchTitleNames_4:
|
||||||
|
switchTitleNames_5:
|
||||||
|
switchTitleNames_6:
|
||||||
|
switchTitleNames_7:
|
||||||
|
switchTitleNames_8:
|
||||||
|
switchTitleNames_9:
|
||||||
|
switchTitleNames_10:
|
||||||
|
switchTitleNames_11:
|
||||||
|
switchTitleNames_12:
|
||||||
|
switchTitleNames_13:
|
||||||
|
switchTitleNames_14:
|
||||||
|
switchTitleNames_15:
|
||||||
|
switchPublisherNames_0:
|
||||||
|
switchPublisherNames_1:
|
||||||
|
switchPublisherNames_2:
|
||||||
|
switchPublisherNames_3:
|
||||||
|
switchPublisherNames_4:
|
||||||
|
switchPublisherNames_5:
|
||||||
|
switchPublisherNames_6:
|
||||||
|
switchPublisherNames_7:
|
||||||
|
switchPublisherNames_8:
|
||||||
|
switchPublisherNames_9:
|
||||||
|
switchPublisherNames_10:
|
||||||
|
switchPublisherNames_11:
|
||||||
|
switchPublisherNames_12:
|
||||||
|
switchPublisherNames_13:
|
||||||
|
switchPublisherNames_14:
|
||||||
|
switchPublisherNames_15:
|
||||||
|
switchIcons_0: {fileID: 0}
|
||||||
|
switchIcons_1: {fileID: 0}
|
||||||
|
switchIcons_2: {fileID: 0}
|
||||||
|
switchIcons_3: {fileID: 0}
|
||||||
|
switchIcons_4: {fileID: 0}
|
||||||
|
switchIcons_5: {fileID: 0}
|
||||||
|
switchIcons_6: {fileID: 0}
|
||||||
|
switchIcons_7: {fileID: 0}
|
||||||
|
switchIcons_8: {fileID: 0}
|
||||||
|
switchIcons_9: {fileID: 0}
|
||||||
|
switchIcons_10: {fileID: 0}
|
||||||
|
switchIcons_11: {fileID: 0}
|
||||||
|
switchIcons_12: {fileID: 0}
|
||||||
|
switchIcons_13: {fileID: 0}
|
||||||
|
switchIcons_14: {fileID: 0}
|
||||||
|
switchIcons_15: {fileID: 0}
|
||||||
|
switchSmallIcons_0: {fileID: 0}
|
||||||
|
switchSmallIcons_1: {fileID: 0}
|
||||||
|
switchSmallIcons_2: {fileID: 0}
|
||||||
|
switchSmallIcons_3: {fileID: 0}
|
||||||
|
switchSmallIcons_4: {fileID: 0}
|
||||||
|
switchSmallIcons_5: {fileID: 0}
|
||||||
|
switchSmallIcons_6: {fileID: 0}
|
||||||
|
switchSmallIcons_7: {fileID: 0}
|
||||||
|
switchSmallIcons_8: {fileID: 0}
|
||||||
|
switchSmallIcons_9: {fileID: 0}
|
||||||
|
switchSmallIcons_10: {fileID: 0}
|
||||||
|
switchSmallIcons_11: {fileID: 0}
|
||||||
|
switchSmallIcons_12: {fileID: 0}
|
||||||
|
switchSmallIcons_13: {fileID: 0}
|
||||||
|
switchSmallIcons_14: {fileID: 0}
|
||||||
|
switchSmallIcons_15: {fileID: 0}
|
||||||
|
switchManualHTML:
|
||||||
|
switchAccessibleURLs:
|
||||||
|
switchLegalInformation:
|
||||||
|
switchMainThreadStackSize: 1048576
|
||||||
|
switchPresenceGroupId:
|
||||||
|
switchLogoHandling: 0
|
||||||
|
switchReleaseVersion: 0
|
||||||
|
switchDisplayVersion: 1.0.0
|
||||||
|
switchStartupUserAccount: 0
|
||||||
|
switchSupportedLanguagesMask: 0
|
||||||
|
switchLogoType: 0
|
||||||
|
switchApplicationErrorCodeCategory:
|
||||||
|
switchUserAccountSaveDataSize: 0
|
||||||
|
switchUserAccountSaveDataJournalSize: 0
|
||||||
|
switchApplicationAttribute: 0
|
||||||
|
switchCardSpecSize: -1
|
||||||
|
switchCardSpecClock: -1
|
||||||
|
switchRatingsMask: 0
|
||||||
|
switchRatingsInt_0: 0
|
||||||
|
switchRatingsInt_1: 0
|
||||||
|
switchRatingsInt_2: 0
|
||||||
|
switchRatingsInt_3: 0
|
||||||
|
switchRatingsInt_4: 0
|
||||||
|
switchRatingsInt_5: 0
|
||||||
|
switchRatingsInt_6: 0
|
||||||
|
switchRatingsInt_7: 0
|
||||||
|
switchRatingsInt_8: 0
|
||||||
|
switchRatingsInt_9: 0
|
||||||
|
switchRatingsInt_10: 0
|
||||||
|
switchRatingsInt_11: 0
|
||||||
|
switchRatingsInt_12: 0
|
||||||
|
switchLocalCommunicationIds_0:
|
||||||
|
switchLocalCommunicationIds_1:
|
||||||
|
switchLocalCommunicationIds_2:
|
||||||
|
switchLocalCommunicationIds_3:
|
||||||
|
switchLocalCommunicationIds_4:
|
||||||
|
switchLocalCommunicationIds_5:
|
||||||
|
switchLocalCommunicationIds_6:
|
||||||
|
switchLocalCommunicationIds_7:
|
||||||
|
switchParentalControl: 0
|
||||||
|
switchAllowsScreenshot: 1
|
||||||
|
switchAllowsVideoCapturing: 1
|
||||||
|
switchAllowsRuntimeAddOnContentInstall: 0
|
||||||
|
switchDataLossConfirmation: 0
|
||||||
|
switchUserAccountLockEnabled: 0
|
||||||
|
switchSystemResourceMemory: 16777216
|
||||||
|
switchSupportedNpadStyles: 22
|
||||||
|
switchNativeFsCacheSize: 32
|
||||||
|
switchIsHoldTypeHorizontal: 0
|
||||||
|
switchSupportedNpadCount: 8
|
||||||
|
switchEnableTouchScreen: 1
|
||||||
|
switchSocketConfigEnabled: 0
|
||||||
|
switchTcpInitialSendBufferSize: 32
|
||||||
|
switchTcpInitialReceiveBufferSize: 64
|
||||||
|
switchTcpAutoSendBufferSizeMax: 256
|
||||||
|
switchTcpAutoReceiveBufferSizeMax: 256
|
||||||
|
switchUdpSendBufferSize: 9
|
||||||
|
switchUdpReceiveBufferSize: 42
|
||||||
|
switchSocketBufferEfficiency: 4
|
||||||
|
switchSocketInitializeEnabled: 1
|
||||||
|
switchNetworkInterfaceManagerInitializeEnabled: 1
|
||||||
|
switchDisableHTCSPlayerConnection: 0
|
||||||
|
switchUseNewStyleFilepaths: 1
|
||||||
|
switchUseLegacyFmodPriorities: 0
|
||||||
|
switchUseMicroSleepForYield: 1
|
||||||
|
switchEnableRamDiskSupport: 0
|
||||||
|
switchMicroSleepForYieldTime: 25
|
||||||
|
switchRamDiskSpaceSize: 12
|
||||||
|
ps4NPAgeRating: 12
|
||||||
|
ps4NPTitleSecret:
|
||||||
|
ps4NPTrophyPackPath:
|
||||||
|
ps4ParentalLevel: 11
|
||||||
|
ps4ContentID: ED1633-NPXX51362_00-0000000000000000
|
||||||
|
ps4Category: 0
|
||||||
|
ps4MasterVersion: 01.00
|
||||||
|
ps4AppVersion: 01.00
|
||||||
|
ps4AppType: 0
|
||||||
|
ps4ParamSfxPath:
|
||||||
|
ps4VideoOutPixelFormat: 0
|
||||||
|
ps4VideoOutInitialWidth: 1920
|
||||||
|
ps4VideoOutBaseModeInitialWidth: 1920
|
||||||
|
ps4VideoOutReprojectionRate: 60
|
||||||
|
ps4PronunciationXMLPath:
|
||||||
|
ps4PronunciationSIGPath:
|
||||||
|
ps4BackgroundImagePath:
|
||||||
|
ps4StartupImagePath:
|
||||||
|
ps4StartupImagesFolder:
|
||||||
|
ps4IconImagesFolder:
|
||||||
|
ps4SaveDataImagePath:
|
||||||
|
ps4SdkOverride:
|
||||||
|
ps4BGMPath:
|
||||||
|
ps4ShareFilePath:
|
||||||
|
ps4ShareOverlayImagePath:
|
||||||
|
ps4PrivacyGuardImagePath:
|
||||||
|
ps4ExtraSceSysFile:
|
||||||
|
ps4NPtitleDatPath:
|
||||||
|
ps4RemotePlayKeyAssignment: -1
|
||||||
|
ps4RemotePlayKeyMappingDir:
|
||||||
|
ps4PlayTogetherPlayerCount: 0
|
||||||
|
ps4EnterButtonAssignment: 1
|
||||||
|
ps4ApplicationParam1: 0
|
||||||
|
ps4ApplicationParam2: 0
|
||||||
|
ps4ApplicationParam3: 0
|
||||||
|
ps4ApplicationParam4: 0
|
||||||
|
ps4DownloadDataSize: 0
|
||||||
|
ps4GarlicHeapSize: 2048
|
||||||
|
ps4ProGarlicHeapSize: 2560
|
||||||
|
playerPrefsMaxSize: 32768
|
||||||
|
ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
|
||||||
|
ps4pnSessions: 1
|
||||||
|
ps4pnPresence: 1
|
||||||
|
ps4pnFriends: 1
|
||||||
|
ps4pnGameCustomData: 1
|
||||||
|
playerPrefsSupport: 0
|
||||||
|
enableApplicationExit: 0
|
||||||
|
resetTempFolder: 1
|
||||||
|
restrictedAudioUsageRights: 0
|
||||||
|
ps4UseResolutionFallback: 0
|
||||||
|
ps4ReprojectionSupport: 0
|
||||||
|
ps4UseAudio3dBackend: 0
|
||||||
|
ps4UseLowGarlicFragmentationMode: 1
|
||||||
|
ps4SocialScreenEnabled: 0
|
||||||
|
ps4ScriptOptimizationLevel: 0
|
||||||
|
ps4Audio3dVirtualSpeakerCount: 14
|
||||||
|
ps4attribCpuUsage: 0
|
||||||
|
ps4PatchPkgPath:
|
||||||
|
ps4PatchLatestPkgPath:
|
||||||
|
ps4PatchChangeinfoPath:
|
||||||
|
ps4PatchDayOne: 0
|
||||||
|
ps4attribUserManagement: 0
|
||||||
|
ps4attribMoveSupport: 0
|
||||||
|
ps4attrib3DSupport: 0
|
||||||
|
ps4attribShareSupport: 0
|
||||||
|
ps4attribExclusiveVR: 0
|
||||||
|
ps4disableAutoHideSplash: 0
|
||||||
|
ps4videoRecordingFeaturesUsed: 0
|
||||||
|
ps4contentSearchFeaturesUsed: 0
|
||||||
|
ps4CompatibilityPS5: 0
|
||||||
|
ps4AllowPS5Detection: 0
|
||||||
|
ps4GPU800MHz: 1
|
||||||
|
ps4attribEyeToEyeDistanceSettingVR: 0
|
||||||
|
ps4IncludedModules: []
|
||||||
|
ps4attribVROutputEnabled: 0
|
||||||
|
monoEnv:
|
||||||
|
splashScreenBackgroundSourceLandscape: {fileID: 0}
|
||||||
|
splashScreenBackgroundSourcePortrait: {fileID: 0}
|
||||||
|
blurSplashScreenBackground: 1
|
||||||
|
spritePackerPolicy:
|
||||||
|
webGLMemorySize: 16
|
||||||
|
webGLExceptionSupport: 1
|
||||||
|
webGLNameFilesAsHashes: 0
|
||||||
|
webGLShowDiagnostics: 0
|
||||||
|
webGLDataCaching: 1
|
||||||
|
webGLDebugSymbols: 0
|
||||||
|
webGLEmscriptenArgs:
|
||||||
|
webGLModulesDirectory:
|
||||||
|
webGLTemplate: APPLICATION:Default
|
||||||
|
webGLAnalyzeBuildSize: 0
|
||||||
|
webGLUseEmbeddedResources: 0
|
||||||
|
webGLCompressionFormat: 1
|
||||||
|
webGLWasmArithmeticExceptions: 0
|
||||||
|
webGLLinkerTarget: 1
|
||||||
|
webGLThreadsSupport: 0
|
||||||
|
webGLDecompressionFallback: 0
|
||||||
|
webGLInitialMemorySize: 32
|
||||||
|
webGLMaximumMemorySize: 2048
|
||||||
|
webGLMemoryGrowthMode: 2
|
||||||
|
webGLMemoryLinearGrowthStep: 16
|
||||||
|
webGLMemoryGeometricGrowthStep: 0.2
|
||||||
|
webGLMemoryGeometricGrowthCap: 96
|
||||||
|
webGLPowerPreference: 2
|
||||||
|
scriptingDefineSymbols: {}
|
||||||
|
additionalCompilerArguments: {}
|
||||||
|
platformArchitecture: {}
|
||||||
|
scriptingBackend: {}
|
||||||
|
il2cppCompilerConfiguration: {}
|
||||||
|
il2cppCodeGeneration: {}
|
||||||
|
managedStrippingLevel:
|
||||||
|
EmbeddedLinux: 1
|
||||||
|
GameCoreScarlett: 1
|
||||||
|
GameCoreXboxOne: 1
|
||||||
|
Nintendo Switch: 1
|
||||||
|
PS4: 1
|
||||||
|
PS5: 1
|
||||||
|
QNX: 1
|
||||||
|
Stadia: 1
|
||||||
|
VisionOS: 1
|
||||||
|
WebGL: 1
|
||||||
|
Windows Store Apps: 1
|
||||||
|
XboxOne: 1
|
||||||
|
iPhone: 1
|
||||||
|
tvOS: 1
|
||||||
|
incrementalIl2cppBuild: {}
|
||||||
|
suppressCommonWarnings: 1
|
||||||
|
allowUnsafeCode: 0
|
||||||
|
useDeterministicCompilation: 1
|
||||||
|
additionalIl2CppArgs:
|
||||||
|
scriptingRuntimeVersion: 1
|
||||||
|
gcIncremental: 1
|
||||||
|
gcWBarrierValidation: 0
|
||||||
|
apiCompatibilityLevelPerPlatform: {}
|
||||||
|
m_RenderingPath: 1
|
||||||
|
m_MobileRenderingPath: 1
|
||||||
|
metroPackageName: QualitySettingsPackage
|
||||||
|
metroPackageVersion:
|
||||||
|
metroCertificatePath:
|
||||||
|
metroCertificatePassword:
|
||||||
|
metroCertificateSubject:
|
||||||
|
metroCertificateIssuer:
|
||||||
|
metroCertificateNotAfter: 0000000000000000
|
||||||
|
metroApplicationDescription: QualitySettingsPackage
|
||||||
|
wsaImages: {}
|
||||||
|
metroTileShortName:
|
||||||
|
metroTileShowName: 0
|
||||||
|
metroMediumTileShowName: 0
|
||||||
|
metroLargeTileShowName: 0
|
||||||
|
metroWideTileShowName: 0
|
||||||
|
metroSupportStreamingInstall: 0
|
||||||
|
metroLastRequiredScene: 0
|
||||||
|
metroDefaultTileSize: 1
|
||||||
|
metroTileForegroundText: 2
|
||||||
|
metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
|
||||||
|
metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
|
||||||
|
metroSplashScreenUseBackgroundColor: 0
|
||||||
|
syncCapabilities: 0
|
||||||
|
platformCapabilities: {}
|
||||||
|
metroTargetDeviceFamilies: {}
|
||||||
|
metroFTAName:
|
||||||
|
metroFTAFileTypes: []
|
||||||
|
metroProtocolName:
|
||||||
|
vcxProjDefaultLanguage:
|
||||||
|
XboxOneProductId:
|
||||||
|
XboxOneUpdateKey:
|
||||||
|
XboxOneSandboxId:
|
||||||
|
XboxOneContentId:
|
||||||
|
XboxOneTitleId:
|
||||||
|
XboxOneSCId:
|
||||||
|
XboxOneGameOsOverridePath:
|
||||||
|
XboxOnePackagingOverridePath:
|
||||||
|
XboxOneAppManifestOverridePath:
|
||||||
|
XboxOneVersion: 1.0.0.0
|
||||||
|
XboxOnePackageEncryption: 0
|
||||||
|
XboxOnePackageUpdateGranularity: 2
|
||||||
|
XboxOneDescription:
|
||||||
|
XboxOneLanguage:
|
||||||
|
- enus
|
||||||
|
XboxOneCapability: []
|
||||||
|
XboxOneGameRating: {}
|
||||||
|
XboxOneIsContentPackage: 0
|
||||||
|
XboxOneEnhancedXboxCompatibilityMode: 0
|
||||||
|
XboxOneEnableGPUVariability: 1
|
||||||
|
XboxOneSockets: {}
|
||||||
|
XboxOneSplashScreen: {fileID: 0}
|
||||||
|
XboxOneAllowedProductIds: []
|
||||||
|
XboxOnePersistentLocalStorageSize: 0
|
||||||
|
XboxOneXTitleMemory: 8
|
||||||
|
XboxOneOverrideIdentityName:
|
||||||
|
XboxOneOverrideIdentityPublisher:
|
||||||
|
vrEditorSettings: {}
|
||||||
|
cloudServicesEnabled:
|
||||||
|
UNet: 1
|
||||||
|
luminIcon:
|
||||||
|
m_Name:
|
||||||
|
m_ModelFolderPath:
|
||||||
|
m_PortalFolderPath:
|
||||||
|
luminCert:
|
||||||
|
m_CertPath:
|
||||||
|
m_SignPackage: 1
|
||||||
|
luminIsChannelApp: 0
|
||||||
|
luminVersion:
|
||||||
|
m_VersionCode: 1
|
||||||
|
m_VersionName:
|
||||||
|
hmiPlayerDataPath:
|
||||||
|
hmiForceSRGBBlit: 1
|
||||||
|
embeddedLinuxEnableGamepadInput: 1
|
||||||
|
hmiLogStartupTiming: 0
|
||||||
|
hmiCpuConfiguration:
|
||||||
|
apiCompatibilityLevel: 6
|
||||||
|
activeInputHandler: 0
|
||||||
|
windowsGamepadBackendHint: 0
|
||||||
|
cloudProjectId:
|
||||||
|
framebufferDepthMemorylessMode: 0
|
||||||
|
qualitySettingsNames: []
|
||||||
|
projectName:
|
||||||
|
organizationId:
|
||||||
|
cloudEnabled: 0
|
||||||
|
legacyClampBlendShapeWeights: 0
|
||||||
|
hmiLoadingImage: {fileID: 0}
|
||||||
|
platformRequiresReadableAssets: 0
|
||||||
|
virtualTexturingSupportEnabled: 0
|
||||||
|
insecureHttpOption: 0
|
||||||
2
ProjectSettings/ProjectVersion.txt
Normal file
2
ProjectSettings/ProjectVersion.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
m_EditorVersion: 2022.3.62f3
|
||||||
|
m_EditorVersionWithRevision: 2022.3.62f3 (96770f904ca7)
|
||||||
234
ProjectSettings/QualitySettings.asset
Normal file
234
ProjectSettings/QualitySettings.asset
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!47 &1
|
||||||
|
QualitySettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 5
|
||||||
|
m_CurrentQuality: 5
|
||||||
|
m_QualitySettings:
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Very Low
|
||||||
|
pixelLightCount: 0
|
||||||
|
shadows: 0
|
||||||
|
shadowResolution: 0
|
||||||
|
shadowProjection: 1
|
||||||
|
shadowCascades: 1
|
||||||
|
shadowDistance: 15
|
||||||
|
shadowNearPlaneOffset: 3
|
||||||
|
shadowCascade2Split: 0.33333334
|
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
shadowmaskMode: 0
|
||||||
|
blendWeights: 1
|
||||||
|
textureQuality: 1
|
||||||
|
anisotropicTextures: 0
|
||||||
|
antiAliasing: 0
|
||||||
|
softParticles: 0
|
||||||
|
softVegetation: 0
|
||||||
|
realtimeReflectionProbes: 0
|
||||||
|
billboardsFaceCameraPosition: 0
|
||||||
|
vSyncCount: 0
|
||||||
|
lodBias: 0.3
|
||||||
|
maximumLODLevel: 0
|
||||||
|
streamingMipmapsActive: 0
|
||||||
|
streamingMipmapsAddAllCameras: 1
|
||||||
|
streamingMipmapsMemoryBudget: 512
|
||||||
|
streamingMipmapsRenderersPerFrame: 512
|
||||||
|
streamingMipmapsMaxLevelReduction: 2
|
||||||
|
streamingMipmapsMaxFileIORequests: 1024
|
||||||
|
particleRaycastBudget: 4
|
||||||
|
asyncUploadTimeSlice: 2
|
||||||
|
asyncUploadBufferSize: 16
|
||||||
|
asyncUploadPersistentBuffer: 1
|
||||||
|
resolutionScalingFixedDPIFactor: 1
|
||||||
|
excludedTargetPlatforms: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Low
|
||||||
|
pixelLightCount: 0
|
||||||
|
shadows: 0
|
||||||
|
shadowResolution: 0
|
||||||
|
shadowProjection: 1
|
||||||
|
shadowCascades: 1
|
||||||
|
shadowDistance: 20
|
||||||
|
shadowNearPlaneOffset: 3
|
||||||
|
shadowCascade2Split: 0.33333334
|
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
shadowmaskMode: 0
|
||||||
|
blendWeights: 2
|
||||||
|
textureQuality: 0
|
||||||
|
anisotropicTextures: 0
|
||||||
|
antiAliasing: 0
|
||||||
|
softParticles: 0
|
||||||
|
softVegetation: 0
|
||||||
|
realtimeReflectionProbes: 0
|
||||||
|
billboardsFaceCameraPosition: 0
|
||||||
|
vSyncCount: 0
|
||||||
|
lodBias: 0.4
|
||||||
|
maximumLODLevel: 0
|
||||||
|
streamingMipmapsActive: 0
|
||||||
|
streamingMipmapsAddAllCameras: 1
|
||||||
|
streamingMipmapsMemoryBudget: 512
|
||||||
|
streamingMipmapsRenderersPerFrame: 512
|
||||||
|
streamingMipmapsMaxLevelReduction: 2
|
||||||
|
streamingMipmapsMaxFileIORequests: 1024
|
||||||
|
particleRaycastBudget: 16
|
||||||
|
asyncUploadTimeSlice: 2
|
||||||
|
asyncUploadBufferSize: 16
|
||||||
|
asyncUploadPersistentBuffer: 1
|
||||||
|
resolutionScalingFixedDPIFactor: 1
|
||||||
|
excludedTargetPlatforms: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Medium
|
||||||
|
pixelLightCount: 1
|
||||||
|
shadows: 1
|
||||||
|
shadowResolution: 0
|
||||||
|
shadowProjection: 1
|
||||||
|
shadowCascades: 1
|
||||||
|
shadowDistance: 20
|
||||||
|
shadowNearPlaneOffset: 3
|
||||||
|
shadowCascade2Split: 0.33333334
|
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
shadowmaskMode: 0
|
||||||
|
blendWeights: 2
|
||||||
|
textureQuality: 0
|
||||||
|
anisotropicTextures: 1
|
||||||
|
antiAliasing: 0
|
||||||
|
softParticles: 0
|
||||||
|
softVegetation: 0
|
||||||
|
realtimeReflectionProbes: 0
|
||||||
|
billboardsFaceCameraPosition: 0
|
||||||
|
vSyncCount: 1
|
||||||
|
lodBias: 0.7
|
||||||
|
maximumLODLevel: 0
|
||||||
|
streamingMipmapsActive: 0
|
||||||
|
streamingMipmapsAddAllCameras: 1
|
||||||
|
streamingMipmapsMemoryBudget: 512
|
||||||
|
streamingMipmapsRenderersPerFrame: 512
|
||||||
|
streamingMipmapsMaxLevelReduction: 2
|
||||||
|
streamingMipmapsMaxFileIORequests: 1024
|
||||||
|
particleRaycastBudget: 64
|
||||||
|
asyncUploadTimeSlice: 2
|
||||||
|
asyncUploadBufferSize: 16
|
||||||
|
asyncUploadPersistentBuffer: 1
|
||||||
|
resolutionScalingFixedDPIFactor: 1
|
||||||
|
excludedTargetPlatforms: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: High
|
||||||
|
pixelLightCount: 2
|
||||||
|
shadows: 2
|
||||||
|
shadowResolution: 1
|
||||||
|
shadowProjection: 1
|
||||||
|
shadowCascades: 2
|
||||||
|
shadowDistance: 40
|
||||||
|
shadowNearPlaneOffset: 3
|
||||||
|
shadowCascade2Split: 0.33333334
|
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
shadowmaskMode: 1
|
||||||
|
blendWeights: 2
|
||||||
|
textureQuality: 0
|
||||||
|
anisotropicTextures: 1
|
||||||
|
antiAliasing: 0
|
||||||
|
softParticles: 0
|
||||||
|
softVegetation: 1
|
||||||
|
realtimeReflectionProbes: 1
|
||||||
|
billboardsFaceCameraPosition: 1
|
||||||
|
vSyncCount: 1
|
||||||
|
lodBias: 1
|
||||||
|
maximumLODLevel: 0
|
||||||
|
streamingMipmapsActive: 0
|
||||||
|
streamingMipmapsAddAllCameras: 1
|
||||||
|
streamingMipmapsMemoryBudget: 512
|
||||||
|
streamingMipmapsRenderersPerFrame: 512
|
||||||
|
streamingMipmapsMaxLevelReduction: 2
|
||||||
|
streamingMipmapsMaxFileIORequests: 1024
|
||||||
|
particleRaycastBudget: 256
|
||||||
|
asyncUploadTimeSlice: 2
|
||||||
|
asyncUploadBufferSize: 16
|
||||||
|
asyncUploadPersistentBuffer: 1
|
||||||
|
resolutionScalingFixedDPIFactor: 1
|
||||||
|
excludedTargetPlatforms: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Very High
|
||||||
|
pixelLightCount: 3
|
||||||
|
shadows: 2
|
||||||
|
shadowResolution: 2
|
||||||
|
shadowProjection: 1
|
||||||
|
shadowCascades: 2
|
||||||
|
shadowDistance: 70
|
||||||
|
shadowNearPlaneOffset: 3
|
||||||
|
shadowCascade2Split: 0.33333334
|
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
shadowmaskMode: 1
|
||||||
|
blendWeights: 4
|
||||||
|
textureQuality: 0
|
||||||
|
anisotropicTextures: 2
|
||||||
|
antiAliasing: 2
|
||||||
|
softParticles: 1
|
||||||
|
softVegetation: 1
|
||||||
|
realtimeReflectionProbes: 1
|
||||||
|
billboardsFaceCameraPosition: 1
|
||||||
|
vSyncCount: 1
|
||||||
|
lodBias: 1.5
|
||||||
|
maximumLODLevel: 0
|
||||||
|
streamingMipmapsActive: 0
|
||||||
|
streamingMipmapsAddAllCameras: 1
|
||||||
|
streamingMipmapsMemoryBudget: 512
|
||||||
|
streamingMipmapsRenderersPerFrame: 512
|
||||||
|
streamingMipmapsMaxLevelReduction: 2
|
||||||
|
streamingMipmapsMaxFileIORequests: 1024
|
||||||
|
particleRaycastBudget: 1024
|
||||||
|
asyncUploadTimeSlice: 2
|
||||||
|
asyncUploadBufferSize: 16
|
||||||
|
asyncUploadPersistentBuffer: 1
|
||||||
|
resolutionScalingFixedDPIFactor: 1
|
||||||
|
excludedTargetPlatforms: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Ultra
|
||||||
|
pixelLightCount: 4
|
||||||
|
shadows: 2
|
||||||
|
shadowResolution: 2
|
||||||
|
shadowProjection: 1
|
||||||
|
shadowCascades: 4
|
||||||
|
shadowDistance: 150
|
||||||
|
shadowNearPlaneOffset: 3
|
||||||
|
shadowCascade2Split: 0.33333334
|
||||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
|
||||||
|
shadowmaskMode: 1
|
||||||
|
blendWeights: 4
|
||||||
|
textureQuality: 0
|
||||||
|
anisotropicTextures: 2
|
||||||
|
antiAliasing: 2
|
||||||
|
softParticles: 1
|
||||||
|
softVegetation: 1
|
||||||
|
realtimeReflectionProbes: 1
|
||||||
|
billboardsFaceCameraPosition: 1
|
||||||
|
vSyncCount: 1
|
||||||
|
lodBias: 2
|
||||||
|
maximumLODLevel: 0
|
||||||
|
streamingMipmapsActive: 0
|
||||||
|
streamingMipmapsAddAllCameras: 1
|
||||||
|
streamingMipmapsMemoryBudget: 512
|
||||||
|
streamingMipmapsRenderersPerFrame: 512
|
||||||
|
streamingMipmapsMaxLevelReduction: 2
|
||||||
|
streamingMipmapsMaxFileIORequests: 1024
|
||||||
|
particleRaycastBudget: 4096
|
||||||
|
asyncUploadTimeSlice: 2
|
||||||
|
asyncUploadBufferSize: 16
|
||||||
|
asyncUploadPersistentBuffer: 1
|
||||||
|
resolutionScalingFixedDPIFactor: 1
|
||||||
|
excludedTargetPlatforms: []
|
||||||
|
m_PerPlatformDefaultQuality:
|
||||||
|
Android: 2
|
||||||
|
Lumin: 5
|
||||||
|
GameCoreScarlett: 5
|
||||||
|
GameCoreXboxOne: 5
|
||||||
|
Nintendo 3DS: 5
|
||||||
|
Nintendo Switch: 5
|
||||||
|
PS4: 5
|
||||||
|
PS5: 5
|
||||||
|
Stadia: 5
|
||||||
|
Standalone: 5
|
||||||
|
WebGL: 3
|
||||||
|
Windows Store Apps: 5
|
||||||
|
XboxOne: 5
|
||||||
|
iPhone: 2
|
||||||
|
tvOS: 2
|
||||||
43
ProjectSettings/TagManager.asset
Normal file
43
ProjectSettings/TagManager.asset
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!78 &1
|
||||||
|
TagManager:
|
||||||
|
serializedVersion: 2
|
||||||
|
tags: []
|
||||||
|
layers:
|
||||||
|
- Default
|
||||||
|
- TransparentFX
|
||||||
|
- Ignore Raycast
|
||||||
|
-
|
||||||
|
- Water
|
||||||
|
- UI
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
m_SortingLayers:
|
||||||
|
- name: Default
|
||||||
|
uniqueID: 0
|
||||||
|
locked: 0
|
||||||
9
ProjectSettings/TimeManager.asset
Normal file
9
ProjectSettings/TimeManager.asset
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!5 &1
|
||||||
|
TimeManager:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
Fixed Timestep: 0.02
|
||||||
|
Maximum Allowed Timestep: 0.33333334
|
||||||
|
m_TimeScale: 1
|
||||||
|
Maximum Particle Timestep: 0.03
|
||||||
36
ProjectSettings/UnityConnectSettings.asset
Normal file
36
ProjectSettings/UnityConnectSettings.asset
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!310 &1
|
||||||
|
UnityConnectSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 1
|
||||||
|
m_Enabled: 0
|
||||||
|
m_TestMode: 0
|
||||||
|
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
|
||||||
|
m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
|
||||||
|
m_ConfigUrl: https://config.uca.cloud.unity3d.com
|
||||||
|
m_DashboardUrl: https://dashboard.unity3d.com
|
||||||
|
m_TestInitMode: 0
|
||||||
|
CrashReportingSettings:
|
||||||
|
m_EventUrl: https://perf-events.cloud.unity3d.com
|
||||||
|
m_Enabled: 0
|
||||||
|
m_LogBufferSize: 10
|
||||||
|
m_CaptureEditorExceptions: 1
|
||||||
|
UnityPurchasingSettings:
|
||||||
|
m_Enabled: 0
|
||||||
|
m_TestMode: 0
|
||||||
|
UnityAnalyticsSettings:
|
||||||
|
m_Enabled: 0
|
||||||
|
m_TestMode: 0
|
||||||
|
m_InitializeOnStartup: 1
|
||||||
|
m_PackageRequiringCoreStatsPresent: 0
|
||||||
|
UnityAdsSettings:
|
||||||
|
m_Enabled: 0
|
||||||
|
m_InitializeOnStartup: 1
|
||||||
|
m_TestMode: 0
|
||||||
|
m_IosGameId:
|
||||||
|
m_AndroidGameId:
|
||||||
|
m_GameIds: {}
|
||||||
|
m_GameId:
|
||||||
|
PerformanceReportingSettings:
|
||||||
|
m_Enabled: 0
|
||||||
12
ProjectSettings/VFXManager.asset
Normal file
12
ProjectSettings/VFXManager.asset
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!937362698 &1
|
||||||
|
VFXManager:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_IndirectShader: {fileID: 0}
|
||||||
|
m_CopyBufferShader: {fileID: 0}
|
||||||
|
m_SortShader: {fileID: 0}
|
||||||
|
m_StripUpdateShader: {fileID: 0}
|
||||||
|
m_RenderPipeSettingsPath:
|
||||||
|
m_FixedTimeStep: 0.016666668
|
||||||
|
m_MaxDeltaTime: 0.05
|
||||||
8
ProjectSettings/VersionControlSettings.asset
Normal file
8
ProjectSettings/VersionControlSettings.asset
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!890905787 &1
|
||||||
|
VersionControlSettings:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_Mode: Visible Meta Files
|
||||||
|
m_CollabEditorSettings:
|
||||||
|
inProgressEnabled: 1
|
||||||
10
ProjectSettings/XRSettings.asset
Normal file
10
ProjectSettings/XRSettings.asset
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"m_SettingKeys": [
|
||||||
|
"VR Device Disabled",
|
||||||
|
"VR Device User Alert"
|
||||||
|
],
|
||||||
|
"m_SettingValues": [
|
||||||
|
"False",
|
||||||
|
"False"
|
||||||
|
]
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user