From e3302a71b0bda9d14f86e5af885150d55ad54eb0 Mon Sep 17 00:00:00 2001 From: Ryan S <90662533+RyanSamii@users.noreply.github.com> Date: Sat, 16 Aug 2025 21:51:30 -0400 Subject: [PATCH 1/7] Initial upgrades to Sample Menu UI --- .../SampleMenuScript/InfoWindowPresenter.cs | 156 ++++++++++++++++-- .../SampleMenuScript/InformationWindowText.cs | 14 ++ .../InformationWindowText.cs.meta | 2 + .../SampleMenuScriptableObjects.meta | 8 + .../SampleMenuScriptableObjects/Art.asset | 20 +++ .../Art.asset.meta | 8 + .../Education.asset | 20 +++ .../Education.asset.meta | 8 + .../SampleMenuScriptableObjects/Kiosk.asset | 24 +++ .../Kiosk.asset.meta | 8 + .../SampleMenuScriptableObjects/Map.asset | 16 ++ .../Map.asset.meta | 8 + .../SampleMenuScriptableObjects/Return.asset | 16 ++ .../Return.asset.meta | 8 + .../SignlLanguage.asset | 23 +++ .../SignlLanguage.asset.meta | 8 + .../Smart Home.asset | 20 +++ .../Smart Home.asset.meta | 8 + .../SampleMenuUI/SampleMenuInformation.uxml | 31 ++-- .../SampleMenu/SampleMenuUI/SampleMenuUSS.uss | 60 ++++++- .../SampleSceneImages/Campus Map.png | 3 + .../SampleSceneImages/Campus Map.png.meta | 117 +++++++++++++ .../SampleScenes/SampleMenuScene.unity | 56 ++++--- 23 files changed, 582 insertions(+), 60 deletions(-) create mode 100644 Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs create mode 100644 Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset.meta create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset create mode 100644 Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset.meta create mode 100644 Assets/Samples/SampleMenu/SampleSceneImages/Campus Map.png create mode 100644 Assets/Samples/SampleMenu/SampleSceneImages/Campus Map.png.meta diff --git a/Assets/Samples/SampleMenu/SampleMenuScript/InfoWindowPresenter.cs b/Assets/Samples/SampleMenu/SampleMenuScript/InfoWindowPresenter.cs index 893c942..b602a23 100644 --- a/Assets/Samples/SampleMenu/SampleMenuScript/InfoWindowPresenter.cs +++ b/Assets/Samples/SampleMenu/SampleMenuScript/InfoWindowPresenter.cs @@ -1,3 +1,5 @@ +using System.Collections; +using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; @@ -9,50 +11,172 @@ public class InfoWindowPresenter : MonoBehaviour private VisualElement welcomeView; private TextElement informationText; + [SerializeField] + private StyleSheet informationStyleSheet; + + public List ButtonData; + public ScrollView ScrollButtonView; + + private int selectedIndex = -1; + + private const int DefaultSelectedIndex = -1; + + private Coroutine scrollCoroutine; + + [SerializeField] + private Texture2D backgroundMapTexture; + + private VisualElement informationImageWindow; + private void Start() { VisualElement root = GetComponent().rootVisualElement; + root.styleSheets.Add(informationStyleSheet); + ScrollButtonView = root.Q("ButtonScroll"); informationView = root.Q("InformationView"); + informationImageWindow = informationView.Q("InformationContainer"); welcomeView = root.Q("WelcomeView"); informationText = root.Q("InformationText"); + + ScrollButtonView.Clear(); + + + // Initialize buttons + foreach (var data in ButtonData) + { + var button = new Button(); + button.text = data.ButtonName; + button.AddToClassList("button"); + ScrollButtonView.Add(button); + } + + HideInformationView(); } public void ShowInformationView() { + + SetInformationText("To read information on possible use cases please match one of the gestures on the left"); informationView.style.display = DisplayStyle.Flex; welcomeView.style.display = DisplayStyle.None; + } public void HideInformationView() { - SetInformationText(0); + // Reset selection by taking the total cound and current index and math it to get back to 1 + MoveSelection(DefaultSelectedIndex - selectedIndex + 1); + + SetInformationText("To read information on possible use cases please match one of the gestures on the left"); informationView.style.display = DisplayStyle.None; welcomeView.style.display = DisplayStyle.Flex; + selectedIndex = -1; + } + + public void HighlightButton(Button button) + { + // Remove highlight + glow from all buttons + foreach (var child in ScrollButtonView.Children()) + { + if (child is Button b) + { + b.RemoveFromClassList("button-hover"); + b.RemoveFromClassList("button-glow"); + } + } + // Add highlight + glow to the current one + button.AddToClassList("button-hover"); + button.AddToClassList("button-glow"); } - public void SetInformationText(int index = 0) + public void MoveSelection(int direction) { - if (informationView.style.display == DisplayStyle.Flex) + // Wrap index instead of clamping + selectedIndex += direction; + if (selectedIndex < 0) selectedIndex = ScrollButtonView.childCount - 1; + else if (selectedIndex >= ScrollButtonView.childCount) selectedIndex = 0; + + // Highlight new button + var newButton = (Button)ScrollButtonView.ElementAt(selectedIndex); + HighlightButton(newButton); + + // Smooth scroll to it + //if (scrollCoroutine != null) StopCoroutine(scrollCoroutine); + //scrollCoroutine = StartCoroutine(SmoothScrollTo(newButton)); + + } + + public void ConfirmSelection() + { + // Clear the background image for any other button + informationImageWindow.style.backgroundImage = null; + + if (informationView.style.display == DisplayStyle.None) { - switch (index) + ShowInformationView(); + return; + } + + if (selectedIndex >= 0 && selectedIndex < ButtonData.Count) + { + // if info text is "Return" hide the information view + if (ButtonData[selectedIndex].InfoText == "Return") + { + HideInformationView(); + return; + } + else if (ButtonData[selectedIndex].InfoText == "MAP") { - case 0: - informationText.text = "To read information on possible use cases please match one of the gestures on the left"; - break; - case 1: - informationText.text = "Our Unity plugin enables intuitive hand gesture recognition, making it ideal for modern kiosk technologies. It allows users to interact with digital content in a completely touchless manner, which is especially valuable in public environments where hygiene is a concern. This can be applied to interactive information kiosks in museums, airports, or retail settings, where users can browse content, navigate menus, or trigger actions using simple gestures. Additionally, the plugin supports integration with projector-based or holographic displays, enabling users to control immersive content in mid-air without physical contact, enhancing accessibility and creating futuristic, engaging user experiences."; - break; - case 2: - informationText.text = "Our Unity plugin opens up powerful possibilities in the realm of sign language recognition and learning. By accurately detecting and interpreting hand gestures, it can be used to create real-time translation tools that convert sign language into text or speech, improving communication accessibility for Deaf and hard-of-hearing individuals. Additionally, it can support immersive educational applications, allowing users to learn sign language through interactive lessons, visual feedback, and guided practice in a virtual environment. This makes it a valuable tool for both assistive technology and inclusive education."; - break; - default: - informationText.text = "To read information on possible use cases please match one of the gestures on the left"; - break; + if (backgroundMapTexture != null) + { + informationImageWindow.style.backgroundImage = new StyleBackground(backgroundMapTexture); + SetInformationText(""); + } } + + SetInformationText(ButtonData[selectedIndex].InfoText); + + var selectedButton = (Button)ScrollButtonView.ElementAt(selectedIndex); + //selectedButton.AddToClassList("button-confirmed"); } } + + public void SetInformationText(string text) + { + if (informationView.style.display == DisplayStyle.Flex) + { + informationText.text = text; + } + } + + + private IEnumerator SmoothScrollTo(Button targetButton, float duration = 0.25f) + { + // Position of the button inside the scroll content + float targetY = targetButton.layout.y + - (ScrollButtonView.layout.height / 2f) + + (targetButton.layout.height / 2f); + + // Clamp so we don’t overscroll + targetY = Mathf.Clamp(targetY, 0, ScrollButtonView.contentContainer.layout.height - ScrollButtonView.layout.height); + + Vector2 start = ScrollButtonView.scrollOffset; + Vector2 end = new Vector2(0, targetY); + + float time = 0; + while (time < duration) + { + time += Time.deltaTime; + float t = Mathf.SmoothStep(0, 1, time / duration); + ScrollButtonView.scrollOffset = Vector2.Lerp(start, end, t); + yield return null; + } + + ScrollButtonView.scrollOffset = end; + } + } } diff --git a/Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs b/Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs new file mode 100644 index 0000000..08a0226 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs @@ -0,0 +1,14 @@ +using UnityEngine; + +[CreateAssetMenu(fileName = "InformationWindowText", menuName = "Scriptable Objects/InformationWindowText")] +public class InformationWindowText : ScriptableObject +{ + // variable for name + [Tooltip("The name of the button")] + public string ButtonName; + + // variable for text + [Tooltip("The text to display in the information window")] + public string InfoText; + +} diff --git a/Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs.meta b/Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs.meta new file mode 100644 index 0000000..9185ab4 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScript/InformationWindowText.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 41e5796312d05d64784aac2a13a585bf \ No newline at end of file diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects.meta new file mode 100644 index 0000000..e9f36f9 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e84449d2ba9e90a44bd0877384f6a409 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset new file mode 100644 index 0000000..6ba0478 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset @@ -0,0 +1,20 @@ +%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: 41e5796312d05d64784aac2a13a585bf, type: 3} + m_Name: Art + m_EditorClassIdentifier: + ButtonName: Art & Creative Installations + InfoText: Transform exhibitions, performances, or installations with mid-air gesture + control. Artists and designers can allow audiences to interact with digital content, + manipulate visuals, or trigger audiovisual effects in real-time. The plugin makes + it possible to create immersive, participatory art experiences that blend technology + and creativity seamlessly. diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset.meta new file mode 100644 index 0000000..5141c99 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Art.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ecbee8bc8eb56641903dfb8fae9ee31 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset new file mode 100644 index 0000000..11d208d --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset @@ -0,0 +1,20 @@ +%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: 41e5796312d05d64784aac2a13a585bf, type: 3} + m_Name: Education + m_EditorClassIdentifier: + ButtonName: Education & Interactive Learning + InfoText: Enhance classroom or virtual learning experiences with gesture-driven + interactions. The plugin allows students to manipulate virtual objects, navigate + lessons, or engage with interactive simulations using only their hands. This + encourages active participation, improves engagement, and supports diverse learning + styles in both in-person and remote education settings. diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset.meta new file mode 100644 index 0000000..eeefabf --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Education.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: db4214065e2f8b548b119149de0add1e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset new file mode 100644 index 0000000..9707788 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset @@ -0,0 +1,24 @@ +%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: 41e5796312d05d64784aac2a13a585bf, type: 3} + m_Name: Kiosk + m_EditorClassIdentifier: + ButtonName: Kiosk + InfoText: Our Unity plugin enables intuitive hand gesture recognition, making it + ideal for modern kiosk technologies. It allows users to interact with digital + content in a completely touchless manner, which is especially valuable in public + environments where hygiene is a concern. This can be applied to interactive information + kiosks in museums, airports, or retail settings, where users can browse content, + navigate menus, or trigger actions using simple gestures. Additionally, the plugin + supports integration with projector-based or holographic displays, enabling users + to control immersive content in mid-air without physical contact, enhancing accessibility + and creating futuristic, engaging user experiences. diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset.meta new file mode 100644 index 0000000..afe9f97 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Kiosk.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11dfd12b0b932a04fa40a507481a6bbf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset new file mode 100644 index 0000000..3ca6655 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset @@ -0,0 +1,16 @@ +%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: 41e5796312d05d64784aac2a13a585bf, type: 3} + m_Name: Map + m_EditorClassIdentifier: + ButtonName: Campus Map + InfoText: MAP diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset.meta new file mode 100644 index 0000000..bc5475a --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Map.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a37829ee2eb0f6428afcc90be20406e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset new file mode 100644 index 0000000..184c1e7 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset @@ -0,0 +1,16 @@ +%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: 41e5796312d05d64784aac2a13a585bf, type: 3} + m_Name: Return + m_EditorClassIdentifier: + ButtonName: Return + InfoText: Return diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset.meta new file mode 100644 index 0000000..26a0bf5 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Return.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f1b28ab63389b14285466b91fd70bdb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset new file mode 100644 index 0000000..8483f91 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset @@ -0,0 +1,23 @@ +%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: 41e5796312d05d64784aac2a13a585bf, type: 3} + m_Name: SignlLanguage + m_EditorClassIdentifier: + ButtonName: Sign Language + InfoText: Our Unity plugin opens up powerful possibilities in the realm of sign + language recognition and learning. By accurately detecting and interpreting hand + gestures, it can be used to create real-time translation tools that convert sign + language into text or speech, improving communication accessibility for Deaf + and hard-of-hearing individuals. Additionally, it can support immersive educational + applications, allowing users to learn sign language through interactive lessons, + visual feedback, and guided practice in a virtual environment. This makes it + a valuable tool for both assistive technology and inclusive education. diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset.meta new file mode 100644 index 0000000..6ab8452 --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/SignlLanguage.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9969bff3646d6ea4d8559f005430d7c2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset new file mode 100644 index 0000000..a9c311e --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset @@ -0,0 +1,20 @@ +%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: 41e5796312d05d64784aac2a13a585bf, type: 3} + m_Name: Smart Home + m_EditorClassIdentifier: + ButtonName: 'Smart Home & IoT ' + InfoText: Integrate gesture recognition into smart home systems to control lights, + appliances, and entertainment systems with simple hand movements. Our Unity plugin + enables intuitive, touchless interactions, improving convenience and accessibility. + It can be used in public smart spaces, offices, or homes to create futuristic, + hygienic, and user-friendly environments. diff --git a/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset.meta b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset.meta new file mode 100644 index 0000000..b96273f --- /dev/null +++ b/Assets/Samples/SampleMenu/SampleMenuScriptableObjects/Smart Home.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bc16f9603d3a74c458d5e58728796fad +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/SampleMenu/SampleMenuUI/SampleMenuInformation.uxml b/Assets/Samples/SampleMenu/SampleMenuUI/SampleMenuInformation.uxml index f3bbd07..b9ead8d 100644 --- a/Assets/Samples/SampleMenu/SampleMenuUI/SampleMenuInformation.uxml +++ b/Assets/Samples/SampleMenu/SampleMenuUI/SampleMenuInformation.uxml @@ -1,24 +1,23 @@ -