diff --git a/3D blobici/Assets/Levels.meta b/3D blobici/Assets/Levels.meta
new file mode 100644
index 0000000..e60f0a5
--- /dev/null
+++ b/3D blobici/Assets/Levels.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a08c64b8785870549887368e2a81e2db
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3D blobici/Assets/Levels/MapLayout1.asset b/3D blobici/Assets/Levels/MapLayout1.asset
new file mode 100644
index 0000000..420c377
--- /dev/null
+++ b/3D blobici/Assets/Levels/MapLayout1.asset
@@ -0,0 +1,19 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 990d24eb53743184e9b379e68eec63e1, type: 3}
+ m_Name: MapLayout1
+ m_EditorClassIdentifier:
+ grid: '123-2235454121
+
+ 412123
+
+ 11---4'
diff --git a/3D blobici/Assets/Levels/MapLayout1.asset.meta b/3D blobici/Assets/Levels/MapLayout1.asset.meta
new file mode 100644
index 0000000..d37e1e6
--- /dev/null
+++ b/3D blobici/Assets/Levels/MapLayout1.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0c4ecdc10844c394b92ccd08ee36d635
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3D blobici/Assets/Prefabs/Levels.meta b/3D blobici/Assets/Prefabs/Levels.meta
new file mode 100644
index 0000000..d1e2543
--- /dev/null
+++ b/3D blobici/Assets/Prefabs/Levels.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 78cd8de59ec022844907c273b05c0395
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/3D blobici/Assets/Prefabs/Scripts/MapLayout.cs b/3D blobici/Assets/Prefabs/Scripts/MapLayout.cs
new file mode 100644
index 0000000..f6b7eb5
--- /dev/null
+++ b/3D blobici/Assets/Prefabs/Scripts/MapLayout.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+
+[CreateAssetMenu(fileName = "MapLayout", menuName = "Scriptable Objects/MapLayout")]
+public class MapLayout : ScriptableObject
+{
+ ///
+ /// 2D grid. Kad dek je jeden dek mapy, nahoe = vy Z.
+ /// slice = index prefab-u v MapGenManager.mapPrefab,
+ /// '-' = przdn msto,
+ /// 'S' = startovn mstnost.
+ ///
+ [TextArea(5, 20)]
+ public string grid;
+}
diff --git a/3D blobici/Assets/Prefabs/Scripts/MapLayout.cs.meta b/3D blobici/Assets/Prefabs/Scripts/MapLayout.cs.meta
new file mode 100644
index 0000000..ea44525
--- /dev/null
+++ b/3D blobici/Assets/Prefabs/Scripts/MapLayout.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 990d24eb53743184e9b379e68eec63e1
\ No newline at end of file
diff --git a/3D blobici/Assets/Prefabs/Scripts/CreateEntrances.cs b/3D blobici/Assets/Prefabs/Scripts/RoomHandler.cs
similarity index 57%
rename from 3D blobici/Assets/Prefabs/Scripts/CreateEntrances.cs
rename to 3D blobici/Assets/Prefabs/Scripts/RoomHandler.cs
index 7731484..e44ef56 100644
--- a/3D blobici/Assets/Prefabs/Scripts/CreateEntrances.cs
+++ b/3D blobici/Assets/Prefabs/Scripts/RoomHandler.cs
@@ -1,11 +1,23 @@
using UnityEngine;
-public class CreateEntrances : MonoBehaviour
+///
+/// Object handling Room logic
+///
+///
+public class RoomHandler : MonoBehaviour
{
[SerializeField] private GameObject wallNorth;
[SerializeField] private GameObject wallSouth;
[SerializeField] private GameObject wallEast;
[SerializeField] private GameObject wallWest;
+
+ ///
+ /// Creates entrances to corridors leading to other rooms
+ ///
+ ///
+ ///
+ ///
+ ///
public void SetEntrances(bool northOpen, bool southOpen, bool eastOpen, bool westOpen)
{
wallNorth.SetActive(!northOpen);
diff --git a/3D blobici/Assets/Prefabs/Scripts/CreateEntrances.cs.meta b/3D blobici/Assets/Prefabs/Scripts/RoomHandler.cs.meta
similarity index 100%
rename from 3D blobici/Assets/Prefabs/Scripts/CreateEntrances.cs.meta
rename to 3D blobici/Assets/Prefabs/Scripts/RoomHandler.cs.meta
diff --git a/3D blobici/Assets/Scenes/GenTest.unity b/3D blobici/Assets/Scenes/GenTest.unity
index 307bf6f..cc48c48 100644
--- a/3D blobici/Assets/Scenes/GenTest.unity
+++ b/3D blobici/Assets/Scenes/GenTest.unity
@@ -149,20 +149,18 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
mapPrefab:
+ - {fileID: 819094401162878122, guid: 03f2147e5a186fc408b959faa2f97e86, type: 3}
- {fileID: 2783560673348224804, guid: b7111ccd107e56741a9790a50ab8e190, type: 3}
- {fileID: 7069902989848030098, guid: e8e0ba1faefe88f47b927a477b87ed22, type: 3}
- {fileID: 8524395191423973796, guid: 37b1623de3a4b8140bc4fd60f59c6329, type: 3}
- {fileID: 4362243528253867212, guid: 04cd18e800b8e854491a95529a91b3a1, type: 3}
- {fileID: 5061069654894918266, guid: 6ac586441811a834fbf148a96b779734, type: 3}
- StartPoint: {fileID: 819094401162878122, guid: 03f2147e5a186fc408b959faa2f97e86, type: 3}
- EndPoint: {fileID: 819094401162878122, guid: 03f2147e5a186fc408b959faa2f97e86, type: 3}
Player: {fileID: 6983871523237736218, guid: f0df263e5be65a041848d5a8bab85af1, type: 3}
CorridorStraight: {fileID: 8047827979703692770, guid: 1a5d554c0c76caf4195cae47e098b79d, type: 3}
CorridorStraightUnlit: {fileID: 2016417306107577256, guid: 92d9025262a022a499862d352c2724ee, type: 3}
DoorCorridor: {fileID: 5603417387143431118, guid: 9eccbf5a500a0d2429e6008a713a49fd, type: 3}
+ layout: {fileID: 11400000, guid: 0c4ecdc10844c394b92ccd08ee36d635, type: 2}
RoomDistance: 40
- minRoomsNumber: 3
- maxRoomsNumber: 7
--- !u!4 &23489964
Transform:
m_ObjectHideFlags: 0
diff --git a/3D blobici/Assets/Scripts/MapGen/MapGenManager.cs b/3D blobici/Assets/Scripts/MapGen/MapGenManager.cs
index 135f213..b153193 100644
--- a/3D blobici/Assets/Scripts/MapGen/MapGenManager.cs
+++ b/3D blobici/Assets/Scripts/MapGen/MapGenManager.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using UnityEngine;
using System.Linq;
@@ -6,8 +6,6 @@ public class MapGenManager : MonoBehaviour
{
[Header("Room Prefabs")]
[SerializeField] private List mapPrefab = new List();
- [SerializeField] private GameObject StartPoint;
- [SerializeField] private GameObject EndPoint;
[Header("Player")]
[SerializeField] private GameObject Player;
@@ -16,149 +14,190 @@ public class MapGenManager : MonoBehaviour
[SerializeField] private GameObject CorridorStraight;
[SerializeField] private GameObject CorridorStraightUnlit;
[SerializeField] private GameObject DoorCorridor;
- /*[SerializeField] private GameObject CorridorL;
- [SerializeField] private GameObject CorridorT;
- [SerializeField] private GameObject CorridorCross;
- [SerializeField] private GameObject CorridorEnd;*/
+
+ [Header("Layout")]
+ [SerializeField] private MapLayout layout;
[Header("Generation Settings")]
[SerializeField] private int RoomDistance = 3;
- [SerializeField] private int minRoomsNumber = 3;
- [SerializeField] private int maxRoomsNumber = 7;
- private List roomPositions = new List();
- private List placedRooms = new List();
+ private Dictionary gridToRoom = new();
- void Start()
+ private readonly Vector3 roomOriginOffset = Vector3.zero;
+
+ void Start() => GenerateFromLayout();
+
+ private void GenerateFromLayout()
{
- MapGen();
- }
-
- private void MapGen()
- {
- // Clear previous rooms and positions
- roomPositions.Clear();
- placedRooms.Clear();
-
- // Add Start Point
- Vector3 startPos = new Vector3(0, 0, 0);
- GameObject startPoint = Instantiate(StartPoint, startPos, Quaternion.identity, transform);
- roomPositions.Add(startPos);
- placedRooms.Add(startPoint);
- startPoint.GetComponent().SetEntrances(false, false, true, false);
-
- // Instantiate the player at the starting position
- GameObject player = Instantiate(Player, new Vector3(startPos.x, 1, startPos.z - 5), Quaternion.identity, transform);
-
- // Generate a random number of rooms
- int roomCount = Random.Range(minRoomsNumber, maxRoomsNumber);
-
- // Place Generate Rooms
- for (int i = 0; i < roomCount; i++)
+ if (layout == null || string.IsNullOrWhiteSpace(layout.grid))
{
- GameObject roomPrefab = mapPrefab[Random.Range(0, mapPrefab.Count)];
- Vector3 roomPos = GetGridPosition(roomPrefab);
- GameObject room = Instantiate(roomPrefab, roomPos, Quaternion.identity, transform);
- placedRooms.Add(room);
- roomPositions.Add(roomPos);
- room.GetComponent().SetEntrances(false, false, true, true);
+ Debug.LogError("Layout asset není přiřazený nebo je prázdný!");
+ return;
}
- // Add End Point
- GameObject endPoint = Instantiate(EndPoint, GetGridPosition(EndPoint), Quaternion.identity, transform);
- roomPositions.Add(endPoint.transform.position);
- placedRooms.Add(endPoint);
- endPoint.GetComponent().SetEntrances(false, false, false, false);
+ gridToRoom.Clear();
- // Create corridors between rooms
- for (int i = 0; i < roomPositions.Count - 1; i++)
+ /* ---------- 0) VYTVOŘÍME SPAWN-ROOM ---------- */
+ GameObject spawnPrefab = mapPrefab[0];
+ PrefabSize spawnSizeComp = spawnPrefab.GetComponent();
+ Vector3 cellSize = spawnSizeComp != null
+ ? new Vector3(spawnSizeComp.prefabSize.x, 0, spawnSizeComp.prefabSize.y)
+ : new Vector3(10, 0, 10); // fallback
+
+ Vector3 spawnPos = roomOriginOffset;
+ GameObject spawnRoom = Instantiate(spawnPrefab, spawnPos, Quaternion.identity, transform);
+ gridToRoom[new Vector2Int(0, 0)] = spawnRoom;
+
+ // hráče necháme na spawnu
+ if (Player != null)
{
- Vector3 startRoomPos = roomPositions[i];
- PrefabSize startRoom = placedRooms[i].GetComponent();
- Vector3 endRoomPos = roomPositions[i + 1];
- PrefabSize endRoom = placedRooms[i + 1].GetComponent();
- Vector3 firstCorridorPos = new Vector3(
- startRoomPos.x,
- startRoomPos.y,
- startRoomPos.z + startRoom.prefabSize.y / 2
- );
- Vector3 lastCorridorPos = new Vector3(
- endRoomPos.x,
- endRoomPos.y,
- endRoomPos.z - endRoom.prefabSize.y / 2
- );
- CreateCorridor(firstCorridorPos, lastCorridorPos);
+ Vector3 playerPos = spawnPos + new Vector3(0, 1, 3);
+ Instantiate(Player, playerPos, Quaternion.identity, transform);
}
- }
- private Vector3 GetGridPosition(GameObject roomPrefab)
- {
- Vector3 lastRoomPos = roomPositions[roomPositions.Count - 1];
- PrefabSize lastRoom = placedRooms[placedRooms.Count - 1].GetComponent();
- PrefabSize roomSize = roomPrefab.GetComponent();
+ /* ---------- 1) PARSOVÁNÍ LAYOUTU ---------- */
+ string[] lines = layout.grid
+ .Split('\n')
+ .Select(l => l.TrimEnd('\r'))
+ .Where(l => !string.IsNullOrEmpty(l))
+ .ToArray();
- Vector3 roomPos = new Vector3(
- lastRoomPos.x,
- lastRoomPos.y - 0.01f,
- lastRoomPos.z + lastRoom.prefabSize.y / 2f + roomSize.prefabSize.y / 2f + RoomDistance
- );
+ int rows = lines.Length;
- return roomPos;
- }
-
- private void CreateCorridor(Vector3 start, Vector3 end)
- {
- // Calculate the distance
- float distance = Vector3.Distance(start, end);
- PrefabSize corridorSize = CorridorStraight.GetComponent();
- PrefabSize corridorUnlitSize = CorridorStraightUnlit.GetComponent();
- PrefabSize doorSize = DoorCorridor.GetComponent();
-
- // Calculate the number of corridors needed
- int corridorCount = Mathf.FloorToInt(distance / corridorSize.prefabSize.y);
- Debug.Log($"Creating {corridorCount} corridors from {start} to {end}");
-
- // Create corridors
- //Start with door
- if (corridorCount > 0)
+ /* ---------- 2) SMYČKA PŘES GRID ------------- */
+ for (int z = 0; z < rows; z++)
{
- Vector3 doorPos = new Vector3(
- start.x,
- start.y,
- start.z + doorSize.prefabSize.y * 0.5f
- );
- Quaternion doorRotation = Quaternion.Euler(0, 0, 0);
- GameObject doorCorridor = Instantiate(DoorCorridor, doorPos, doorRotation, transform);
- doorCorridor.GetComponent().OpenDoor();
-
-
- for (int i = 1; i < corridorCount; i++)
+ string line = lines[rows - 1 - z]; // dolní řádek layoutu = nejnižší Z v textu
+ for (int x = 0; x < line.Length; x++)
{
- if (i % 2 != 0)
+ char c = line[x];
+ if (c == '-') continue; // prázdné místo
+
+ if (!char.IsDigit(c))
{
- // Create straight corridor
- Vector3 pos = new Vector3(
- start.x,
- start.y,
- start.z + i * corridorSize.prefabSize.y + corridorSize.prefabSize.y * 0.5f
- );
- Quaternion rotation = Quaternion.Euler(0, 0, 0);
- GameObject corridor = Instantiate(CorridorStraight, pos, rotation, transform);
+ Debug.LogWarning($"Neznámý znak {c} v layoutu – ignorováno.");
+ continue;
}
- else
+
+ int index = c - '0';
+ if (index >= mapPrefab.Count)
{
- // Create unlit corridor
- Vector3 pos = new Vector3(
- start.x,
- start.y,
- start.z + i * corridorUnlitSize.prefabSize.y + corridorUnlitSize.prefabSize.y * 0.5f
- );
- Quaternion rotation = Quaternion.Euler(0, 0, 0);
- GameObject corridorUnlit = Instantiate(CorridorStraightUnlit, pos, rotation, transform);
+ Debug.LogWarning($"Index {index} mimo rozsah mapPrefab!");
+ continue;
}
- }
+
+ GameObject prefab = mapPrefab[index];
+
+ PrefabSize roomSize = prefab.GetComponent();
+ Vector3 rCell = roomSize != null
+ ? new Vector3(roomSize.prefabSize.x, 0, roomSize.prefabSize.y)
+ : cellSize; // použij spawn-size jako fallback
+
+ Vector3 worldPos = roomOriginOffset + new Vector3(
+ x * (cellSize.x + RoomDistance),
+ 0,
+ (z + 1) * (cellSize.z + RoomDistance));
+
+ GameObject room = Instantiate(prefab, worldPos, Quaternion.identity, transform);
+ gridToRoom[new Vector2Int(x, z + 1)] = room;
+ }
+ }
+
+ /* ---------- 3) OTEVŘEME ZDI VŠEM MÍSTNOSTEM ---------- */
+ foreach (var kvp in gridToRoom)
+ {
+ Vector2Int g = kvp.Key;
+ RoomHandler rh = kvp.Value.GetComponent();
+
+ bool north = gridToRoom.ContainsKey(g + Vector2Int.left);
+ bool south = gridToRoom.ContainsKey(g + Vector2Int.right);
+ bool east = gridToRoom.ContainsKey(g + Vector2Int.up);
+ bool west = gridToRoom.ContainsKey(g + Vector2Int.down);
+
+ rh.SetEntrances(northOpen: north,
+ southOpen: south,
+ eastOpen: east,
+ westOpen: west);
+ }
+
+ BuildCorridors();
+ }
+
+ private void BuildCorridors()
+ {
+ // velikosti přímých dílů
+ float straightLengthZ = CorridorStraight.GetComponent().prefabSize.y;
+ float straightLengthX = CorridorStraight.GetComponent().prefabSize.x;
+
+ // Abychom každý pár řešili jen jednou, projdeme jen Right a Up souseda
+ Vector2Int[] stepDirs = { Vector2Int.right, Vector2Int.up };
+
+ foreach (var kvp in gridToRoom)
+ {
+ Vector2Int cell = kvp.Key;
+ GameObject roomA = kvp.Value;
+
+ foreach (Vector2Int dir in stepDirs)
+ {
+ Vector2Int neighKey = cell + dir;
+ if (!gridToRoom.TryGetValue(neighKey, out GameObject roomB))
+ continue; // není soused – žádná chodba
+
+ // 1) Urči směr v prostoru
+ Vector3 axis, axisNeg; // +směr a −směr podél stejné osy
+ float halfA, halfB; // půl šířky/hloubky pro start/end bod
+ Quaternion corridorRot; // natočení pro koridor
+
+ if (dir == Vector2Int.right) // grid +X (svět +X)
+ {
+ axis = Vector3.right;
+ axisNeg = Vector3.left;
+ halfA = roomA.GetComponent().prefabSize.x * 0.5f;
+ halfB = roomB.GetComponent().prefabSize.x * 0.5f;
+ corridorRot = Quaternion.Euler(0, 90, 0); // koridor leží po X
+ }
+ else // dir == Vector2Int.up → svět +Z
+ {
+ axis = Vector3.forward;
+ axisNeg = Vector3.back;
+ halfA = roomA.GetComponent().prefabSize.y * 0.5f;
+ halfB = roomB.GetComponent().prefabSize.y * 0.5f;
+ corridorRot = Quaternion.identity; // prefab míří po +Z
+ }
+
+ // 2) Vypočti start a end body (středy zdí)
+ Vector3 startPos = roomA.transform.position + axis * halfA;
+ Vector3 endPos = roomB.transform.position + axisNeg * halfB;
+
+ // 3) Vytvoř sekvenci dílů
+ CreateStraightCorridor(startPos, endPos, axis, corridorRot,
+ straightLengthZ, straightLengthX);
+ }
+ }
+ }
+
+ /// Vytvoří přímý koridor od startu k endu podél 'axis'.
+ private void CreateStraightCorridor(
+ Vector3 start, Vector3 end, Vector3 axis, Quaternion rot,
+ float stepLenZ, float stepLenX)
+ {
+ float fullDist = Vector3.Distance(start, end);
+ float stepLen = Mathf.Approximately(Mathf.Abs(axis.z), 1f) ? stepLenZ : stepLenX;
+
+ int segmentCount = Mathf.Max(1, Mathf.FloorToInt(fullDist / stepLen));
+
+ // 0) dveřní díl
+ Vector3 segPos = start + axis * (stepLen * 0.5f);
+ GameObject door = Instantiate(DoorCorridor, segPos, rot, transform);
+ door.GetComponent()?.OpenDoor(); // pokud existuje
+
+ // 1) zbytek – střídavě osvětlené / neosvětlené
+ for (int i = 1; i < segmentCount; i++)
+ {
+ GameObject prefab = (i % 2 == 0) ? CorridorStraight : CorridorStraightUnlit;
+
+ segPos = start + axis * (i * stepLen + stepLen * 0.5f);
+ Instantiate(prefab, segPos, rot, transform);
}
- // If there is not enough space to create corridors, throw an exception
- else throw new System.Exception("Not enough space to create corridors");
}
}
\ No newline at end of file
diff --git a/3D blobici/ProjectSettings/ProjectSettings.asset b/3D blobici/ProjectSettings/ProjectSettings.asset
index 37ed0d9..9adc1a6 100644
--- a/3D blobici/ProjectSettings/ProjectSettings.asset
+++ b/3D blobici/ProjectSettings/ProjectSettings.asset
@@ -3,7 +3,7 @@
--- !u!129 &1
PlayerSettings:
m_ObjectHideFlags: 0
- serializedVersion: 26
+ serializedVersion: 28
productGUID: 2a70d1bb4d031b249adebc15318b6bd4
AndroidProfiler: 0
AndroidFilterTouchesWhenObscured: 0
@@ -49,6 +49,7 @@ PlayerSettings:
m_StereoRenderingPath: 0
m_ActiveColorSpace: 1
unsupportedMSAAFallback: 0
+ m_SpriteBatchMaxVertexCount: 65535
m_SpriteBatchVertexThreshold: 300
m_MTRendering: 1
mipStripping: 0
@@ -70,17 +71,18 @@ PlayerSettings:
androidRenderOutsideSafeArea: 1
androidUseSwappy: 1
androidBlitType: 0
- androidResizableWindow: 0
+ androidResizeableActivity: 0
androidDefaultWindowWidth: 1920
androidDefaultWindowHeight: 1080
androidMinimumWindowWidth: 400
androidMinimumWindowHeight: 300
androidFullscreenMode: 1
androidAutoRotationBehavior: 1
+ androidPredictiveBackSupport: 0
+ androidApplicationEntry: 1
defaultIsNativeResolution: 1
macRetinaSupport: 1
runInBackground: 1
- captureSingleScreen: 0
muteOtherAudioSources: 0
Prepare IOS For Recording: 0
Force IOS Speakers When Recording: 0
@@ -96,6 +98,7 @@ PlayerSettings:
useMacAppStoreValidation: 0
macAppStoreCategory: public.app-category.games
gpuSkinning: 1
+ meshDeformation: 2
xboxPIXTextureCapture: 0
xboxEnableAvatar: 0
xboxEnableKinect: 0
@@ -127,10 +130,8 @@ PlayerSettings:
switchAllowGpuScratchShrinking: 0
switchNVNMaxPublicTextureIDCount: 0
switchNVNMaxPublicSamplerIDCount: 0
- switchNVNGraphicsFirmwareMemory: 32
switchMaxWorkerMultiple: 8
- stadiaPresentMode: 0
- stadiaTargetFramerate: 0
+ switchNVNGraphicsFirmwareMemory: 32
vulkanNumSwapchainBuffers: 3
vulkanEnableSetSRGBWrite: 0
vulkanEnablePreTransform: 1
@@ -160,6 +161,7 @@ PlayerSettings:
resetResolutionOnWindowResize: 0
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
+ androidMinAspectRatio: 1
applicationIdentifier: {}
buildNumber:
Standalone: 0
@@ -168,7 +170,7 @@ PlayerSettings:
tvOS: 0
overrideDefaultApplicationIdentifier: 0
AndroidBundleVersionCode: 1
- AndroidMinSdkVersion: 22
+ AndroidMinSdkVersion: 23
AndroidTargetSdkVersion: 0
AndroidPreferredInstallLocation: 1
aotOptions:
@@ -178,16 +180,18 @@ PlayerSettings:
ForceInternetPermission: 0
ForceSDCardPermission: 0
CreateWallpaper: 0
- APKExpansionFiles: 0
+ androidSplitApplicationBinary: 0
keepLoadedShadersAlive: 0
StripUnusedMeshComponents: 1
strictShaderVariantMatching: 0
VertexChannelCompressionMask: 4054
iPhoneSdkVersion: 988
- iOSTargetOSVersionString: 12.0
+ iOSSimulatorArchitecture: 0
+ iOSTargetOSVersionString: 13.0
tvOSSdkVersion: 0
+ tvOSSimulatorArchitecture: 0
tvOSRequireExtendedGameController: 0
- tvOSTargetOSVersionString: 12.0
+ tvOSTargetOSVersionString: 13.0
VisionOSSdkVersion: 0
VisionOSTargetOSVersionString: 1.0
uIPrerenderedIcon: 0
@@ -214,7 +218,6 @@ PlayerSettings:
rgba: 0
iOSLaunchScreenFillPct: 100
iOSLaunchScreenSize: 100
- iOSLaunchScreenCustomXibPath:
iOSLaunchScreeniPadType: 0
iOSLaunchScreeniPadImage: {fileID: 0}
iOSLaunchScreeniPadBackgroundColor:
@@ -222,7 +225,6 @@ PlayerSettings:
rgba: 0
iOSLaunchScreeniPadFillPct: 100
iOSLaunchScreeniPadSize: 100
- iOSLaunchScreeniPadCustomXibPath:
iOSLaunchScreenCustomStoryboardPath:
iOSLaunchScreeniPadCustomStoryboardPath:
iOSDeviceRequirements: []
@@ -259,12 +261,12 @@ PlayerSettings:
useCustomGradleSettingsTemplate: 0
useCustomProguardFile: 0
AndroidTargetArchitectures: 1
- AndroidTargetDevices: 0
AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0}
AndroidKeystoreName:
AndroidKeyaliasName:
AndroidEnableArmv9SecurityFeatures: 0
+ AndroidEnableArm64MTE: 0
AndroidBuildApkPerCpuArchitecture: 0
AndroidTVCompatibility: 0
AndroidIsGame: 1
@@ -277,13 +279,106 @@ PlayerSettings:
height: 180
banner: {fileID: 0}
androidGamepadSupportLevel: 0
- chromeosInputEmulation: 1
AndroidMinifyRelease: 0
AndroidMinifyDebug: 0
AndroidValidateAppBundleSize: 1
AndroidAppBundleSizeToValidate: 150
+ AndroidReportGooglePlayAppDependencies: 1
+ androidSymbolsSizeThreshold: 800
m_BuildTargetIcons: []
- m_BuildTargetPlatformIcons: []
+ m_BuildTargetPlatformIcons:
+ - 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
@@ -363,18 +458,14 @@ PlayerSettings:
iPhone: 1
tvOS: 1
m_BuildTargetGroupLightmapEncodingQuality:
- - m_BuildTarget: Android
+ - serializedVersion: 2
+ m_BuildTarget: Android
m_EncodingQuality: 1
- - m_BuildTarget: iPhone
+ - serializedVersion: 2
+ m_BuildTarget: iOS
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
+ - serializedVersion: 2
+ m_BuildTarget: tvOS
m_EncodingQuality: 1
m_BuildTargetGroupLightmapSettings: []
m_BuildTargetGroupLoadStoreDebugModeSettings: []
@@ -386,11 +477,13 @@ PlayerSettings:
- m_BuildTarget: tvOS
m_Encoding: 1
m_BuildTargetDefaultTextureCompressionFormat:
- - m_BuildTarget: Android
- m_Format: 3
+ - serializedVersion: 3
+ m_BuildTarget: Android
+ m_Formats: 03000000
playModeTestRunnerEnabled: 0
runPlayModeTestAsEditModeTest: 0
actionOnDotNetUnhandledException: 1
+ editorGfxJobOverride: 1
enableInternalProfiler: 0
logObjCUncaughtExceptions: 1
enableCrashReportAPI: 0
@@ -398,7 +491,7 @@ PlayerSettings:
locationUsageDescription:
microphoneUsageDescription:
bluetoothUsageDescription:
- macOSTargetOSVersion: 10.13.0
+ macOSTargetOSVersion: 11.0
switchNMETAOverride:
switchNetLibKey:
switchSocketMemoryPoolSize: 6144
@@ -536,12 +629,14 @@ PlayerSettings:
switchSocketBufferEfficiency: 4
switchSocketInitializeEnabled: 1
switchNetworkInterfaceManagerInitializeEnabled: 1
+ switchDisableHTCSPlayerConnection: 0
switchUseNewStyleFilepaths: 1
switchUseLegacyFmodPriorities: 0
switchUseMicroSleepForYield: 1
switchEnableRamDiskSupport: 0
switchMicroSleepForYieldTime: 25
switchRamDiskSpaceSize: 12
+ switchUpgradedPlayerSettingsToNMETA: 0
ps4NPAgeRating: 12
ps4NPTitleSecret:
ps4NPTrophyPackPath:
@@ -644,13 +739,19 @@ PlayerSettings:
webGLMemoryLinearGrowthStep: 16
webGLMemoryGeometricGrowthStep: 0.2
webGLMemoryGeometricGrowthCap: 96
+ webGLEnableWebGPU: 0
webGLPowerPreference: 2
+ webGLWebAssemblyTable: 0
+ webGLWebAssemblyBigInt: 0
+ webGLCloseOnQuit: 0
+ webWasm2023: 0
scriptingDefineSymbols: {}
additionalCompilerArguments: {}
platformArchitecture: {}
scriptingBackend: {}
il2cppCompilerConfiguration: {}
il2cppCodeGeneration: {}
+ il2cppStacktraceInformation: {}
managedStrippingLevel:
EmbeddedLinux: 1
GameCoreScarlett: 1
@@ -675,6 +776,7 @@ PlayerSettings:
gcIncremental: 1
gcWBarrierValidation: 0
apiCompatibilityLevelPerPlatform: {}
+ editorAssembliesCompatibilityLevel: 1
m_RenderingPath: 1
m_MobileRenderingPath: 1
metroPackageName: 3D blobici
@@ -749,9 +851,11 @@ PlayerSettings:
hmiPlayerDataPath:
hmiForceSRGBBlit: 1
embeddedLinuxEnableGamepadInput: 1
- hmiLogStartupTiming: 0
hmiCpuConfiguration:
+ hmiLogStartupTiming: 0
+ qnxGraphicConfPath:
apiCompatibilityLevel: 6
+ captureStartupLogs: {}
activeInputHandler: 0
windowsGamepadBackendHint: 0
cloudProjectId:
@@ -765,3 +869,5 @@ PlayerSettings:
platformRequiresReadableAssets: 0
virtualTexturingSupportEnabled: 0
insecureHttpOption: 0
+ androidVulkanDenyFilterList: []
+ androidVulkanAllowFilterList: []