From 02d752fd7a10def97b3bf742733cafdd6352156d Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Tue, 24 May 2022 16:08:48 +0200 Subject: [PATCH] New API. Minor GUI changes (layout, Name of element) --- .../Editor/GraphWindow.cs | 14 ++- .../Editor/TrackableWindow.cs | 73 +++++++----- .../Editor/WorldAnchorWindow.cs | 61 ++++++++-- .../Editor/WorldStorageWindow.cs | 110 ++++++++++++++---- .../Scriptables/WorldStorageSettingsHHI.asset | 2 +- .../WorldStorageSettingsHHI_Intern.asset | 2 +- Packages/manifest.json | 1 + Packages/packages-lock.json | 26 +++++ Packages/unity-world-storage-package | 2 +- 9 files changed, 222 insertions(+), 69 deletions(-) diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs index 170de27..6b1a69f 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/GraphWindow.cs @@ -30,6 +30,7 @@ namespace ETSI.ARF.WorldStorage.UI bool groupEnabled; string uid = System.Guid.Empty.ToString(); + string customName = "NotDefined"; string creatorUid = System.Guid.Empty.ToString(); string type = "Unknow"; string unit = "Unknow"; @@ -117,6 +118,7 @@ namespace ETSI.ARF.WorldStorage.UI //graph.Draw(); } + /* void DrawTrackableStuffs()// Trackable trackable) { GUILayout.BeginVertical("AR Trackable", gsTest); @@ -133,9 +135,9 @@ namespace ETSI.ARF.WorldStorage.UI if (GUILayout.Button("Get Parameters")) { Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid); - creatorUid = t.CreatorUID.ToString(); + creatorUid = t.CreatorUUID.ToString(); type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); + unit = t.Unit.ToString(); } GUI.backgroundColor = ori; @@ -177,18 +179,18 @@ namespace ETSI.ARF.WorldStorage.UI { Debug.Log("PostAddTrackable"); if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString(); - Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID); + Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, cus, worldStorageSettings.creatorUID); RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t); WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); - uid = t.UID.ToString(); + uid = t.UUID.ToString(); type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); + unit = t.Unit.ToString(); } GUI.backgroundColor = ori; } - + */ } } \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs index 447f2eb..9f30bc0 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/TrackableWindow.cs @@ -38,8 +38,9 @@ namespace ETSI.ARF.WorldStorage.UI bool groupEnabled; - string uid = System.Guid.Empty.ToString(); - string creatorUid = System.Guid.Empty.ToString(); + string UUID = System.Guid.Empty.ToString(); + string customName = "NotDefined"; + string creatorUUID = System.Guid.Empty.ToString(); string type = "Unknow"; string unit = "Unknow"; Vector2Int dim; @@ -72,7 +73,7 @@ namespace ETSI.ARF.WorldStorage.UI scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true)); WorldStorageWindow.DrawCopyright(); - DrawTrackableStuffs();// currentTrackable); + DrawTrackableStuffs(); EditorGUILayout.EndScrollView(); @@ -87,20 +88,28 @@ namespace ETSI.ARF.WorldStorage.UI GUILayout.BeginVertical("AR Trackable", gsTest); // GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); - GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); //GUILayout.BeginHorizontal(); - uid = EditorGUILayout.TextField("UID (0 = new one)", uid); + customName = EditorGUILayout.TextField("Name of Trackable", customName); + GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly + GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { - Trackable t = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, uid); - creatorUid = t.CreatorUID.ToString(); - type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); + if (!customName.Contains("[")) UUID = customName; + else + { + // extract the UUID + UUID = customName.Split('[', ']')[1]; + } + Trackable obj = RESTfulTrackableRequest.GetTrackable(worldStorageSettings, UUID); + customName = obj.Name; + creatorUUID = obj.CreatorUUID.ToString(); + type = obj.TrackableType.ToString(); + unit = obj.Unit.ToString(); } GUI.backgroundColor = ori; @@ -123,41 +132,45 @@ namespace ETSI.ARF.WorldStorage.UI // GUILayout.EndVertical(); + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[2]; + if (GUILayout.Button("Create/Update Trackable")) + { + Debug.Log("PostAddTrackable"); + + if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString(); + Trackable obj = RESTfulTrackableRequest.TrackableFromStrings(UUID, customName, worldStorageSettings.creatorUID); + RESTfulTrackableRequest.AddTrackable(worldStorageSettings, obj); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListTrackables(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + + UUID = obj.UUID.ToString(); + customName = obj.Name; + type = obj.TrackableType.ToString(); + unit = obj.Unit.ToString(); + } + + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[3]; if (GUILayout.Button("Delete Trackable")) { Debug.Log("Deleting Trackable"); - RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, uid); - uid = System.Guid.Empty.ToString(); - creatorUid = System.Guid.Empty.ToString(); + RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, UUID); + UUID = System.Guid.Empty.ToString(); + creatorUUID = System.Guid.Empty.ToString(); type = ""; unit = ""; - WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListTrackables(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); } GUI.backgroundColor = ori; - GUI.backgroundColor = WorldStorageWindow.arfColors[2]; - if (GUILayout.Button("Create/Update Trackable")) - { - Debug.Log("PostAddTrackable"); - if (string.IsNullOrEmpty(uid) || uid == "0") uid = System.Guid.Empty.ToString(); - Trackable t = RESTfulTrackableRequest.TrackableFromStrings(uid, worldStorageSettings.creatorUID); - RESTfulTrackableRequest.PostAddTrackable(worldStorageSettings, t); - WorldStorageWindow.WorldStorageWindowSingleton.UpdateList(); - WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); - - uid = t.UID.ToString(); - type = t.GetType().ToString(); - unit = t.UnitSystem.ToString(); - } + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[5]; if (GUILayout.Button("Generate GameObject Component")) { } - GUI.backgroundColor = ori; + GUI.backgroundColor = ori; } - - } } \ No newline at end of file diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs index a77ad6c..463dfca 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldAnchorWindow.cs @@ -37,9 +37,9 @@ namespace ETSI.ARF.WorldStorage.UI bool groupEnabled; - string creatorUid = System.Guid.Empty.ToString(); - string uid = System.Guid.Empty.ToString(); - string type = "Unknow"; + string UUID = System.Guid.Empty.ToString(); + string customName = "NotDefined"; + string creatorUUID = System.Guid.Empty.ToString(); string unit = "Unknow"; Vector2Int dim; @@ -67,7 +67,9 @@ namespace ETSI.ARF.WorldStorage.UI scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandWidth(true)); WorldStorageWindow.DrawCopyright(); + DrawAnchorStuffs(); + EditorGUILayout.EndScrollView(); if (GUILayout.Button("Close Window")) @@ -81,24 +83,36 @@ namespace ETSI.ARF.WorldStorage.UI GUILayout.BeginVertical("AR World Anchor", gsTest); // GUILayout.Label("Server: " + worldStorageSettings.serverName, EditorStyles.whiteLargeLabel); - GUILayout.Label("Creator UID: " + creatorUid, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); //GUILayout.BeginHorizontal(); - uid = EditorGUILayout.TextField("UID (0 = create new)", uid); + customName = EditorGUILayout.TextField("Name of Anchor", customName); + GUILayout.Label("UUID: " + UUID, EditorStyles.miniLabel); // readonly + GUILayout.Label("Creator UID: " + creatorUUID, EditorStyles.miniLabel); // readonly EditorGUILayout.Space(); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Get Parameters")) { - //WorldStorageRestRequest.PostAddTrackable(worldStorageSettings); + if (!customName.Contains("[")) UUID = customName; + else + { + // extract the UUID + UUID = customName.Split('[', ']')[1]; + } + WorldAnchor obj = RESTfulWorldAnchorRequest.GetWorldAnchor(worldStorageSettings, UUID); + customName = obj.Name; + creatorUUID = obj.CreatorUUID.ToString(); + unit = obj.Unit.ToString(); } GUI.backgroundColor = ori; //GUILayout.EndHorizontal(); - type = EditorGUILayout.TextField("Anchor Type", type); unit = EditorGUILayout.TextField("Unit System", unit); + EditorGUILayout.Space(10); + dim = EditorGUILayout.Vector2IntField("Dimension", dim); + EditorGUILayout.Space(); groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Parameters:", groupEnabled); EditorGUILayout.IntField("Number of KeyValues", 0); @@ -106,15 +120,44 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.TextField("Key", ""); EditorGUILayout.TextField("Value", ""); EditorGUILayout.EndToggleGroup(); - // GUILayout.EndVertical(); + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[2]; if (GUILayout.Button("Create/Update World Anchor")) { Debug.Log("PostAddWorldAnchor"); - RESTfulWorldAnchorRequest.PostAddWorldAnchor(worldStorageSettings); + + if (string.IsNullOrEmpty(UUID) || UUID == "0") UUID = System.Guid.Empty.ToString(); + WorldAnchor obj = RESTfulWorldAnchorRequest.WorldAnchorFromStrings(UUID, customName, worldStorageSettings.creatorUID); + RESTfulWorldAnchorRequest.AddWorldAnchor(worldStorageSettings, obj); + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListWorldAnchors(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + + UUID = obj.UUID.ToString(); + customName = obj.Name; + unit = obj.Unit.ToString(); + } + + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[3]; + if (GUILayout.Button("Delete World Anchor")) + { + Debug.Log("Deleting World Anchor"); + RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, UUID); + UUID = System.Guid.Empty.ToString(); + creatorUUID = System.Guid.Empty.ToString(); + unit = ""; + WorldStorageWindow.WorldStorageWindowSingleton.UpdateListWorldAnchors(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); + } + GUI.backgroundColor = ori; + + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[5]; + if (GUILayout.Button("Generate GameObject Component")) + { } GUI.backgroundColor = ori; } diff --git a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs index 9424cfa..b4edd9a 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs +++ b/Assets/ETSI.ARF/ARF World Storage API/Editor/WorldStorageWindow.cs @@ -8,7 +8,7 @@ // Authors: // - Sylvain Renault (Fraunhofer HHI) // -// Date: Feb. 2022 +// Date: May 2022 // #define USING_OPENAPI_GENERATOR // alt. is Swagger @@ -17,6 +17,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; +using ETSI.ARF.WorldStorage; using ETSI.ARF.WorldStorage.RESTful; #if USING_OPENAPI_GENERATOR @@ -38,7 +39,10 @@ namespace ETSI.ARF.WorldStorage.UI [SerializeField] public List creators = new List(); [SerializeField] public List trackables = new List(); + [SerializeField] public List anchors = new List(); + string ping = "-"; + string state = "Unknow"; string vers = "Unknow"; private Vector2 scrollPos; @@ -108,7 +112,7 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.EndScrollView(); } - public void UpdateList() + public void UpdateListTrackables() { // Get all objects Debug.Log("Get all server objects"); @@ -116,7 +120,21 @@ namespace ETSI.ARF.WorldStorage.UI trackables.Clear(); foreach (var item in res) { - trackables.Add(item.UID.ToString()); + if (!string.IsNullOrEmpty(item.Name)) trackables.Add(item.Name + " [" + item.UUID.ToString() + "]"); + else trackables.Add(item.UUID.ToString()); + } + } + + public void UpdateListWorldAnchors() + { + // Get all objects + Debug.Log("Get all server objects"); + List res = RESTfulWorldAnchorRequest.GetAllWorldAnchors(worldStorageSettings); + anchors.Clear(); + foreach (var item in res) + { + if (!string.IsNullOrEmpty(item.Name)) anchors.Add(item.Name + " [" + item.UUID.ToString() + "]"); + else anchors.Add(item.UUID.ToString()); } } @@ -134,29 +152,46 @@ namespace ETSI.ARF.WorldStorage.UI EditorGUILayout.Space(); - // Ping - EditorGUILayout.Space(); + #region Ping + GUILayout.BeginHorizontal(); + ping = EditorGUILayout.TextField("Last Ping", ping); if (GUILayout.Button("Ping")) { - vers = RESTfulAdminRequest.Ping(worldStorageSettings); + ping = RESTfulAdminRequest.Ping(worldStorageSettings); } + GUI.backgroundColor = ori; + GUILayout.EndHorizontal(); + #endregion - // Version + #region State + GUILayout.BeginHorizontal(); + state = EditorGUILayout.TextField("State", state); + + if (GUILayout.Button("Get World Storage Sate")) + { + state = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings); + } + GUI.backgroundColor = ori; + GUILayout.EndHorizontal(); + #endregion + + #region Version GUILayout.BeginHorizontal(); vers = EditorGUILayout.TextField("Version", vers); if (GUILayout.Button("Get World Storage API Version")) { - vers = RESTfulAdminRequest.GetAdminInfo(worldStorageSettings); + vers = RESTfulAdminRequest.GetVersion(worldStorageSettings); } GUI.backgroundColor = ori; GUILayout.EndHorizontal(); + #endregion ScriptableObject target = this; SerializedObject so = new SerializedObject(target); // Get creators - #region Get all creatorUid + #region Get all creator UUID EditorGUILayout.Space(10); GUI.backgroundColor = WorldStorageWindow.arfColors[1]; if (GUILayout.Button("Request all Creator ID")) @@ -167,7 +202,7 @@ namespace ETSI.ARF.WorldStorage.UI creators.Clear(); foreach (var item in res) { - if (!creators.Contains(item.CreatorUID.ToString())) creators.Add(item.CreatorUID.ToString()); + if (!creators.Contains(item.CreatorUUID.ToString())) creators.Add(item.CreatorUUID.ToString()); } } GUI.backgroundColor = ori; @@ -177,51 +212,84 @@ namespace ETSI.ARF.WorldStorage.UI so.ApplyModifiedProperties(); // Remember to apply modified properties #endregion + // // Get trackables + // #region Get all trackable objects EditorGUILayout.Space(10); + + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request all Trackable ID")) + if (GUILayout.Button("Request Trackables")) { - UpdateList(); + UpdateListTrackables(); } GUI.backgroundColor = ori; - //GUILayout.Label("Number of Trackables: " + trackables.Count.ToString()); + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[3]; - if (GUILayout.Button("Delete all Trackables (5 stay in!!!)")) + if (GUILayout.Button("Delete all Trackables (3 stay in!!!)")) { Debug.Log("Deleting all Trackable "); int n = 0; foreach (var item in trackables) { - if (++n > 5) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item); + if (++n > 3) RESTfulTrackableRequest.DeleteTrackable(worldStorageSettings, item); } - UpdateList(); + UpdateListTrackables(); WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); } GUI.backgroundColor = ori; + // Show list stringsProperty = so.FindProperty("trackables"); EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children so.ApplyModifiedProperties(); // Remember to apply modified properties #endregion - // Anchors + // + // Get anchors + // #region Get all anchor objects + EditorGUILayout.Space(10); + + // ########################################################### GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request all Anchor ID")) + if (GUILayout.Button("Request Anchors")) { - + UpdateListWorldAnchors(); + } + GUI.backgroundColor = ori; + + // ########################################################### + GUI.backgroundColor = WorldStorageWindow.arfColors[3]; + if (GUILayout.Button("Delete all World Anchors (3 stay in!!!)")) + { + Debug.Log("Deleting all World Anchors "); + int n = 0; + foreach (var item in anchors) + { + if (++n > 3) RESTfulWorldAnchorRequest.DeleteWorldAnchor(worldStorageSettings, item); + } + + UpdateListWorldAnchors(); + WorldStorageWindow.WorldStorageWindowSingleton.Repaint(); } GUI.backgroundColor = ori; + + // Show list + stringsProperty = so.FindProperty("anchors"); + EditorGUILayout.PropertyField(stringsProperty, /*new GUIContent("Trackbales"),*/ true); // True means show children + so.ApplyModifiedProperties(); // Remember to apply modified properties #endregion - // Links + // + // Get Links + // #region Get all link objects GUI.backgroundColor = WorldStorageWindow.arfColors[1]; - if (GUILayout.Button("Request all Link ID")) + if (GUILayout.Button("Request all Link UUID")) { } diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset index 7117b62..e6bbc21 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI.asset @@ -15,4 +15,4 @@ MonoBehaviour: serverName: HHI Servers creatorUID: 9739c1d7-b86d-4894-9f4a-2e43ea6cfdf6 basePath: https://ics1.hhi.fraunhofer.de - port: 40311 + port: 8080 diff --git a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset index 898ef1f..6cc0c7e 100644 --- a/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset +++ b/Assets/ETSI.ARF/ARF World Storage API/Scriptables/WorldStorageSettingsHHI_Intern.asset @@ -15,4 +15,4 @@ MonoBehaviour: serverName: HHI Servers (intern test) creatorUID: 2af3e69e-91d6-4021-99d1-188917df8ea8 basePath: http://vm009254.fe.hhi.de/ - port: 40311 + port: 8080 diff --git a/Packages/manifest.json b/Packages/manifest.json index 86d3520..6a17a2d 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -7,6 +7,7 @@ "com.unity.test-framework": "1.1.24", "com.unity.textmeshpro": "3.0.4", "com.unity.timeline": "1.4.7", + "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.0", "com.unity.ugui": "1.0.0", "etsi.isg.arf.worldstorage": "file:./unity-world-storage-package", "com.unity.modules.ai": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 2b98cb4..2c2ade1 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -39,6 +39,22 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.sysroot": { + "version": "2.0.0", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.sysroot.linux-x86_64": { + "version": "2.0.0", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.sysroot": "2.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.test-framework": { "version": "1.1.24", "depth": 0, @@ -71,6 +87,16 @@ }, "url": "https://packages.unity.com" }, + "com.unity.toolchain.win-x86_64-linux-x86_64": { + "version": "2.0.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.sysroot": "2.0.0", + "com.unity.sysroot.linux-x86_64": "2.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.ugui": { "version": "1.0.0", "depth": 0, diff --git a/Packages/unity-world-storage-package b/Packages/unity-world-storage-package index 0fe54fb..8a3fc6a 160000 --- a/Packages/unity-world-storage-package +++ b/Packages/unity-world-storage-package @@ -1 +1 @@ -Subproject commit 0fe54fb13060f8856ee7545408ef6c6329c832df +Subproject commit 8a3fc6a294f022a0c733c65af2b6cf564a3666b9 -- GitLab