{"id":687,"date":"2026-10-09T13:05:10","date_gmt":"2026-10-09T11:05:10","guid":{"rendered":"https:\/\/www.youbiquo.eu\/leonardoxr\/?page_id=687"},"modified":"2026-10-09T13:06:35","modified_gmt":"2026-10-09T11:06:35","slug":"getting-started-leonardoxr-sdk","status":"publish","type":"page","link":"https:\/\/www.youbiquo.eu\/leonardoxr\/en\/leonardo-xr-manuali-duso\/getting-started-leonardoxr-sdk\/","title":{"rendered":"Getting Started \u2014 LeonardoXR SDK"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"687\" class=\"elementor elementor-687\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-85281d7 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"85281d7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d04b0b7 elementor-widget elementor-widget-heading\" data-id=\"d04b0b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><h3 dir=\"auto\" data-line=\"0\">Getting Started \u2014 LeonardoXR SDK<span style=\"color: var( --e-global-color-primary );font-family: var( --e-global-typography-primary-font-family ), Sans-serif;font-size: 2rem;font-weight: var( --e-global-typography-primary-font-weight );text-align: var(--text-align)\"><\/span><\/h3><\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-541389f e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"541389f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-df9a2de e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"df9a2de\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-69e47bc elementor-widget__width-initial elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"69e47bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;headings_by_tags&quot;:[&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;exclude_headings_by_selector&quot;:&quot;footer&quot;,&quot;marker_view&quot;:&quot;bullets&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;far fa-dot-circle&quot;,&quot;library&quot;:&quot;fa-regular&quot;,&quot;rendered_tag&quot;:&quot;&lt;svg class=\\&quot;e-font-icon-svg e-far-dot-circle\\&quot; viewBox=\\&quot;0 0 512 512\\&quot; xmlns=\\&quot;http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\&quot;&gt;&lt;path d=\\&quot;M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\\&quot;&gt;&lt;\\\/path&gt;&lt;\\\/svg&gt;&quot;},&quot;no_headings_message&quot;:&quot;Non sono state trovate intestazioni in questa pagina.&quot;,&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t\t\t\t<h2 class=\"elementor-toc__header-title\">\n\t\t\t\tGetting Started \u2014 LeonardoXR SDK\t\t\t<\/h2>\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__69e47bc\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__69e47bc\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div id=\"elementor-toc__69e47bc\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<svg class=\"elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading\" aria-hidden=\"true\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-677117a e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"677117a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1a4d842 elementor-widget elementor-widget-text-editor\" data-id=\"1a4d842\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h3 id=\"introduzione\" class=\"code-line\" dir=\"auto\" data-line=\"8\">Introduction<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"10\">This guide explains how to set up a Unity project for development on the <strong>Leonardo XR<\/strong>, Youbiquo&#8217;s AR headset based on Snapdragon Spaces. The goal is to familiarize yourself with the SDK configuration for developing applications on Leonardo. The next guide will demonstrate how to interact with controllers and hands.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"12\">Leonardo XR runs on <strong>Android 12<\/strong> and follows a programming workflow familiar to anyone who has already developed Android applications.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"14\" \/><h3 id=\"software-richiesti\" class=\"code-line\" dir=\"auto\" data-line=\"16\">Required Software<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"18\">Before you begin, ensure that you have installed the following software and packages at the specified versions:<\/p><table class=\"code-line\" dir=\"auto\" data-line=\"20\"><thead class=\"code-line\" dir=\"auto\" data-line=\"20\"><tr class=\"code-line\" dir=\"auto\" data-line=\"20\"><th>Software \/ Package<\/th><th>Version<\/th><\/tr><\/thead><tbody class=\"code-line\" dir=\"auto\" data-line=\"22\"><tr class=\"code-line\" dir=\"auto\" data-line=\"22\"><td>Unity Hub<\/td><td>Latest available<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"23\"><td><strong>Unity Editor<\/strong><\/td><td><strong>6000.0.37f1<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"24\"><td><strong>LeonardoXR SDK<\/strong><\/td><td><strong>1.0.2<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"25\"><td><strong>Snapdragon Spaces SDK<\/strong><\/td><td><strong>1.0.4<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"26\"><td><strong>OpenXR Plugin<\/strong><\/td><td><strong>1.15.1<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"27\"><td><strong>AR Foundation<\/strong><\/td><td><strong>6.2.1<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"28\"><td><strong>XR Interaction Toolkit<\/strong><\/td><td><strong>3.3.0<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"29\"><td><strong>XR Hands<\/strong><\/td><td><strong>1.7.2<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"30\"><td><strong>UniTask<\/strong><\/td><td><strong>2.5.10<\/strong><\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"31\"><td>VS Code, Visual Studio or equivalent editor<\/td><td>\u2014<\/td><\/tr><\/tbody><\/table><blockquote class=\"code-line\" dir=\"auto\" data-line=\"33\"><p class=\"code-line\" dir=\"auto\" data-line=\"33\"><strong>Note on the OpenXR plugin:<\/strong> Unlike the standard Snapdragon Spaces guide (which recommends v1.10.0 for Unity 2022), with Unity 6 and LeonardoXR you should use <strong>OpenXR 1.15.1<\/strong>. Do not modify this version manually; the Package Manager handles it automatically through the SDK&#8217;s dependencies.<\/p><\/blockquote><hr class=\"code-line\" dir=\"auto\" data-line=\"35\" \/><h3 id=\"crea-un-nuovo-progetto\" class=\"code-line\" dir=\"auto\" data-line=\"37\">Create a New Project<\/h3><ol class=\"code-line\" dir=\"auto\" data-line=\"39\"><li class=\"code-line\" dir=\"auto\" data-line=\"39\">Open <strong>Unity Hub<\/strong> and click on <strong>New Project<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"40\">Select the <strong>Universal 3D<\/strong> template.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"41\">Name the project (e.g., <code>LeonardoXR_Test<\/code>) and choose the destination folder.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"42\">Click on <strong>Create Project<\/strong>.<\/li><\/ol><p class=\"code-line\" dir=\"auto\" data-line=\"44\">After creation, Unity will open the project with a sample scene in the Hierarchy panel.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"46\" \/><h3 id=\"converti-la-piattaforma-in-android\" class=\"code-line\" dir=\"auto\" data-line=\"48\">Convert the Platform to Android<\/h3><ol class=\"code-line\" dir=\"auto\" data-line=\"50\"><li class=\"code-line\" dir=\"auto\" data-line=\"50\">From the main menu, select <strong>File &gt; Build Profiles<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"51\">In the <strong>Build Profiles<\/strong> window, select <strong>Android<\/strong> from the Platform list.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"52\">Click on <strong>Switch Platform<\/strong> and wait for the process to complete.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"53\">Close the Build Profiles window.<\/li><\/ol><hr class=\"code-line\" dir=\"auto\" data-line=\"55\" \/><h3 id=\"installa-i-pacchetti-richiesti\" class=\"code-line\" dir=\"auto\" data-line=\"57\">Install the Required Packages<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"59\">Open the Package Manager via <strong>Window &gt; Package Manager<\/strong>. Select <strong>Unity Registry<\/strong> in the left sidebar and install the following packages by clicking <strong>Install<\/strong>:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"61\"><li class=\"code-line\" dir=\"auto\" data-line=\"61\"><strong>AR Foundation<\/strong> \u2014 6.2.1<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"62\"><strong>XR Interaction Toolkit<\/strong> \u2014 3.3.0<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"63\"><strong>XR Hands<\/strong> \u2014 1.7.2<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"64\"><strong>UniTask<\/strong> \u2014 2.5.10<\/li><\/ul><blockquote class=\"code-line\" dir=\"auto\" data-line=\"66\"><p class=\"code-line\" dir=\"auto\" data-line=\"66\"><strong>Note:<\/strong> XR Interaction Toolkit might require restarting the editor after installation. If the prompt <strong>&#8220;Enable the new input system?&#8221;<\/strong> appears, click <strong>Yes<\/strong>.<\/p><\/blockquote><hr class=\"code-line\" dir=\"auto\" data-line=\"68\" \/><h3 id=\"installa-snapdragon-spaces-sdk\" class=\"code-line\" dir=\"auto\" data-line=\"70\">Install Snapdragon Spaces SDK<\/h3><ol class=\"code-line\" dir=\"auto\" data-line=\"72\"><li class=\"code-line\" dir=\"auto\" data-line=\"72\">Download and extract <strong>Snapdragon Spaces SDK v1.0.4<\/strong> from the official portal: <a href=\"https:\/\/spaces.qualcomm.com\/developer\/vr-mr-sdk\/\" data-href=\"https:\/\/spaces.qualcomm.com\/developer\/vr-mr-sdk\/\">https:\/\/spaces.qualcomm.com\/developer\/vr-mr-sdk\/<\/a>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"73\">Open the Package Manager (<strong>Window &gt; Package Manager<\/strong>).<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"74\">Click the <strong>+<\/strong> button and select <strong>Add package from tarball\u2026<\/strong><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"75\">Navigate to the extracted folder and select the <code>.tgz<\/code> file.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"76\">Click <strong>Open<\/strong>. The installation will start automatically.<\/li><\/ol><p class=\"code-line\" dir=\"auto\" data-line=\"78\">During the installation, two prompts may appear:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"80\"><li class=\"code-line\" dir=\"auto\" data-line=\"80\"><strong>&#8220;Enable the new input system?&#8221;<\/strong> \u2192 click <strong>Yes<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"81\"><strong>&#8220;XR Interaction Layer Mask Update Required&#8221;<\/strong> \u2192 since this is a new project, click <strong>I Made a Backup, Go Ahead!<\/strong><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"83\">The editor will restart. This is normal behavior, not a crash.<\/p><blockquote class=\"code-line\" dir=\"auto\" data-line=\"85\"><p class=\"code-line\" dir=\"auto\" data-line=\"85\"><strong>Tip:<\/strong> To reference the package with a relative path (recommended for version control), copy the <code>.tgz<\/code> file into the <code>Packages<\/code> folder of your project before adding it.<\/p><\/blockquote><hr class=\"code-line\" dir=\"auto\" data-line=\"87\" \/><h3 id=\"installa-leonardoxr-sdk\" class=\"code-line\" dir=\"auto\" data-line=\"89\">Install LeonardoXR SDK<\/h3><ol class=\"code-line\" dir=\"auto\" data-line=\"91\"><li class=\"code-line\" dir=\"auto\" data-line=\"91\">Download and extract <strong>LeonardoXR SDK v1.0.2<\/strong> from the Youbiquo Developer Portal.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"92\">Open the Package Manager (<strong>Window &gt; Package Manager<\/strong>).<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"93\">Click the <strong>+<\/strong> button and select <strong>Add package from tarball\u2026<\/strong><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"94\">Navigate to the LeonardoXR SDK compressed file and select the <code>.tgz<\/code> file.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"95\">Click <strong>Open<\/strong>. LeonardoXR SDK will be installed.<\/li><\/ol><hr class=\"code-line\" dir=\"auto\" data-line=\"97\" \/><h3 id=\"configura-xr-plugin-management-e-openxr\" class=\"code-line\" dir=\"auto\" data-line=\"99\">Configure XR Plugin Management and OpenXR<\/h3><h4 id=\"apri-project-settings\" class=\"code-line\" dir=\"auto\" data-line=\"101\">Open Project Settings<\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"103\">Go to <strong>Edit &gt; Project Settings<\/strong> and select <strong>XR Plug-in Management<\/strong> in the left sidebar.<\/p><h4 id=\"attiva-openxr-e-snapdragon-spaces\" class=\"code-line\" dir=\"auto\" data-line=\"105\">Enable OpenXR and Snapdragon Spaces<\/h4><ol class=\"code-line\" dir=\"auto\" data-line=\"107\"><li class=\"code-line\" dir=\"auto\" data-line=\"107\">Click the <strong>Android<\/strong> tab (top right in the window).<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"108\">In the <strong>Plug-in Providers<\/strong> section, make sure the following are checked:<br \/><ul class=\"code-line\" dir=\"auto\" data-line=\"109\"><li class=\"code-line\" dir=\"auto\" data-line=\"109\"><strong>OpenXR<\/strong><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"110\"><strong>Snapdragon Spaces feature group<\/strong><\/li><\/ul><\/li><\/ol><h4 id=\"configura-openxr-features\" class=\"code-line\" dir=\"auto\" data-line=\"112\">Configure OpenXR Features<\/h4><ol class=\"code-line\" dir=\"auto\" data-line=\"114\"><li class=\"code-line\" dir=\"auto\" data-line=\"114\">Click <strong>OpenXR<\/strong> in the left sidebar.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"115\">In the Snapdragon Spaces features list, <strong>enable only Base Runtime<\/strong> and disable all others.<br \/>Advanced features (Hit Testing, Plane Detection, etc.) can be enabled later as needed for your project.<\/li><\/ol><blockquote class=\"code-line\" dir=\"auto\" data-line=\"118\"><p class=\"code-line\" dir=\"auto\" data-line=\"118\"><strong>Warning:<\/strong> To correctly enable <strong>Hand Tracking<\/strong> on LeonardoXR, the <strong>Hand Tracking Subsystem<\/strong> option must be activated in the <strong>All Features<\/strong> section of OpenXR.<\/p><\/blockquote><h4 id=\"aggiungi-leonardoxr-feature-group\" class=\"code-line\" dir=\"auto\" data-line=\"120\">Add LeonardoXR Feature Group<\/h4><ol class=\"code-line\" dir=\"auto\" data-line=\"122\"><li class=\"code-line\" dir=\"auto\" data-line=\"122\">Return to the <strong>XR Plug-in Management &gt; Android<\/strong> section.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"123\">In the <strong>Plug-in Providers<\/strong> list, also check <strong>LeonardoXR feature group<\/strong>.<\/li><\/ol><hr class=\"code-line\" dir=\"auto\" data-line=\"125\" \/><h3 id=\"esegui-project-validation\" class=\"code-line\" dir=\"auto\" data-line=\"127\">Run Project Validation<\/h3><ol class=\"code-line\" dir=\"auto\" data-line=\"129\"><li class=\"code-line\" dir=\"auto\" data-line=\"129\">In the <strong>Project Settings<\/strong> sidebar, click <strong>Project Validation<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"130\">The window will display a list of configuration errors to resolve.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"131\">Click <strong>Fix All<\/strong> to resolve them automatically.<\/li><\/ol><blockquote class=\"code-line\" dir=\"auto\" data-line=\"133\"><p class=\"code-line\" dir=\"auto\" data-line=\"133\">Some fixes may require restarting the editor. Re-run the validation after restarting to verify that all errors have been resolved.<\/p><\/blockquote><hr class=\"code-line\" dir=\"auto\" data-line=\"135\" \/><h3 id=\"importa-i-samples\" class=\"code-line\" dir=\"auto\" data-line=\"137\">Import the Samples<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"139\">Before creating your own scenes, it is useful to import the samples included in the various packages. For each package: open <strong>Window &gt; Package Manager<\/strong>, select <strong>In Project<\/strong>, select the package, expand the <strong>Samples<\/strong> section, and click <strong>Import<\/strong>.<\/p><h4 id=\"samples-da-importare-per-pacchetto\" class=\"code-line\" dir=\"auto\" data-line=\"141\">Samples to import per package<\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"143\"><strong>XR Hands:<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"144\"><li class=\"code-line\" dir=\"auto\" data-line=\"144\">Gestures<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"145\">Hand Visualizer<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"147\"><strong>XR Interaction Toolkit:<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"148\"><li class=\"code-line\" dir=\"auto\" data-line=\"148\">Starter Assets<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"149\">Hand Interaction Demo<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"151\"><strong>Snapdragon Spaces:<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"152\"><li class=\"code-line\" dir=\"auto\" data-line=\"152\">Core Samples<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"154\"><strong>LeonardoXR:<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"155\"><li class=\"code-line\" dir=\"auto\" data-line=\"155\">Core Samples<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"157\">After importing all the samples, add the scenes to the build via <strong>Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings<\/strong>.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"159\" \/><h3 id=\"configura-urp\" class=\"code-line\" dir=\"auto\" data-line=\"161\">Configure URP<\/h3><h4 id=\"graphics-e-quality-settings\" class=\"code-line\" dir=\"auto\" data-line=\"163\">Graphics and Quality Settings<\/h4><ol class=\"code-line\" dir=\"auto\" data-line=\"165\"><li class=\"code-line\" dir=\"auto\" data-line=\"165\">Open <strong>Edit &gt; Project Settings &gt; Graphics<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"166\">Under <strong>Default Render Pipeline<\/strong>, click the circle and select <strong>Mobile_RPAsset<\/strong> (Universal Render Pipeline Asset).<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"167\">Navigate to <strong>Project Settings &gt; Quality<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"168\">In the <strong>Levels<\/strong> section, ensure that <strong>Mobile<\/strong> has a green checkmark in the <strong>Android<\/strong> column. If it is not present, click the <strong>Default<\/strong> dropdown in the Android column and select <strong>Mobile<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"169\">Close Project Settings.<\/li><\/ol><h4 id=\"configura-urp-assets\" class=\"code-line\" dir=\"auto\" data-line=\"171\">Configure URP Assets<\/h4><ol class=\"code-line\" dir=\"auto\" data-line=\"173\"><li class=\"code-line\" dir=\"auto\" data-line=\"173\"><p class=\"code-line\" dir=\"auto\" data-line=\"173\">In the <code>Assets\/Settings<\/code> folder, select <strong>Mobile_Renderer<\/strong>.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"174\"><p class=\"code-line\" dir=\"auto\" data-line=\"174\">In the <strong>Inspector<\/strong> panel for Mobile_Renderer, apply the following changes:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"175\"><li class=\"code-line\" dir=\"auto\" data-line=\"175\"><strong>Rendering \u2192 Depth Priming Mode:<\/strong> set to <code>Disabled<\/code><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"176\"><strong>Shadows \u2192 Transparent Receive Shadows:<\/strong> uncheck<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"177\"><strong>Post-processing \u2192 Enabled:<\/strong> uncheck<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"178\"><strong>Renderer Feature \u2192 SSAO:<\/strong> ensure it is disabled or removed<\/li><\/ul><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"180\"><p class=\"code-line\" dir=\"auto\" data-line=\"180\">In the <code>Assets\/Settings<\/code> folder, select <strong>Mobile_RPAsset<\/strong>.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"181\"><p class=\"code-line\" dir=\"auto\" data-line=\"181\">In the <strong>Inspector<\/strong> panel for Mobile_RPAsset, apply the following changes:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"182\"><li class=\"code-line\" dir=\"auto\" data-line=\"182\"><strong>HDR:<\/strong> disable<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"183\"><strong>Anti Aliasing (MSAA):<\/strong> set to <code>4x<\/code><\/li><\/ul><\/li><\/ol><hr class=\"code-line\" dir=\"auto\" data-line=\"185\" \/><h3 id=\"configurazione-play-in-editor\" class=\"code-line\" dir=\"auto\" data-line=\"187\">Play In Editor Configuration<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"189\">This section describes how to configure the project to support Play-In-Editor development, reducing the need to deploy to the device with each change.<\/p><h4 id=\"prerequisiti\" class=\"code-line\" dir=\"auto\" data-line=\"191\">Prerequisites<\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"193\">Complete the basic configuration above before proceeding.<\/p><h4 id=\"openxr-project-settings\" class=\"code-line\" dir=\"auto\" data-line=\"195\">OpenXR Project Settings<\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"197\">Go to <strong>Edit &gt; Project Settings &gt; XR Plug-in Management<\/strong> and select the <strong>Windows, Mac, Linux<\/strong> tab.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"199\"><strong>Initialize XR On Startup:<\/strong> The value must match that of the Android tab:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"200\"><li class=\"code-line\" dir=\"auto\" data-line=\"200\"><strong>Without Dual Render Fusion<\/strong> \u2192 must be <strong>enabled<\/strong>. If disabled, warnings about missing subsystems will appear.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"201\"><strong>With Dual Render Fusion<\/strong> \u2192 must be <strong>disabled<\/strong>. If enabled, a &#8220;loader already initialized&#8221; warning will appear.<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"203\"><strong>XR Simulation (Optional):<\/strong> Enable <strong>XR Simulation<\/strong> on the Windows\/Mac\/Linux tab to use AR Foundation simulation environments.<\/p><blockquote class=\"code-line\" dir=\"auto\" data-line=\"205\"><p class=\"code-line\" dir=\"auto\" data-line=\"205\"><strong>Note:<\/strong> XR Simulation subsystems are for editor use only and may not cover 100% of Snapdragon Spaces functionality. QR Code Tracking does not have an equivalent simulation subsystem.<\/p><\/blockquote><h4 id=\"abilita-base-runtime-feature-per-windowsmaclinux\" class=\"code-line\" dir=\"auto\" data-line=\"207\">Enable Base Runtime Feature for Windows\/Mac\/Linux<\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"209\">Go to <strong>Edit &gt; Project Settings &gt; XR Plug-in Management &gt; OpenXR<\/strong> (Windows, Mac, Linux tab) and enable the <strong>Base Runtime<\/strong> feature.<\/p><h4 id=\"scene-configuration--spaces-xr-simulator\" class=\"code-line\" dir=\"auto\" data-line=\"211\">Scene Configuration \u2014 Spaces XR Simulator<\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"213\">Add the <strong>Spaces XR Simulator<\/strong> component to a root GameObject in the scene. The component persists across scene changes (<code>DontDestroyOnLoad<\/code>) and only one instance can exist at a time.<\/p><table class=\"code-line\" dir=\"auto\" data-line=\"215\"><thead class=\"code-line\" dir=\"auto\" data-line=\"215\"><tr class=\"code-line\" dir=\"auto\" data-line=\"215\"><th>Property<\/th><th>Description<\/th><\/tr><\/thead><tbody class=\"code-line\" dir=\"auto\" data-line=\"217\"><tr class=\"code-line\" dir=\"auto\" data-line=\"217\"><td><strong>Start Connected<\/strong><\/td><td>Simulates active and connected headsets (Dual Render Fusion only).<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"218\"><td><strong>Invert Sim Camera Display<\/strong><\/td><td>Swaps the phone and headset displays in the editor (Dual Render Fusion only).<\/td><\/tr><\/tbody><\/table><h4 id=\"shortcut-dual-render-fusion-in-editor\" class=\"code-line\" dir=\"auto\" data-line=\"220\">Dual Render Fusion Editor Shortcuts<\/h4><table class=\"code-line\" dir=\"auto\" data-line=\"222\"><thead class=\"code-line\" dir=\"auto\" data-line=\"222\"><tr class=\"code-line\" dir=\"auto\" data-line=\"222\"><th>Event<\/th><th>Shortcut<\/th><th>Menu<\/th><\/tr><\/thead><tbody class=\"code-line\" dir=\"auto\" data-line=\"224\"><tr class=\"code-line\" dir=\"auto\" data-line=\"224\"><td>Connect Glasses<\/td><td>Alt-Shift-C<\/td><td>Window &gt; XR &gt; Snapdragon Spaces &gt; DRF &gt; Simulation &gt; Connect Glasses<\/td><\/tr><tr class=\"code-line code-active-line\" dir=\"auto\" data-line=\"225\"><td>Disconnect Glasses<\/td><td>Alt-Shift-D<\/td><td>Window &gt; XR &gt; Snapdragon Spaces &gt; DRF &gt; Simulation &gt; Disconnect Glasses<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"226\"><td>Glasses Active<\/td><td>Alt-Shift-G<\/td><td>Window &gt; XR &gt; Snapdragon Spaces &gt; DRF &gt; Simulation &gt; Glasses Active<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"227\"><td>Glasses Idle<\/td><td>Alt-Shift-H<\/td><td>Window &gt; XR &gt; Snapdragon Spaces &gt; DRF &gt; Simulation &gt; Glasses Idle<\/td><\/tr><\/tbody><\/table><blockquote class=\"code-line\" dir=\"auto\" data-line=\"229\"><p class=\"code-line\" dir=\"auto\" data-line=\"229\"><strong>Tip:<\/strong> All final behavior must always be verified on the physical device, not just in the editor.<\/p><\/blockquote><hr class=\"code-line\" dir=\"auto\" data-line=\"231\" \/><h3 id=\"installazione-completata\" class=\"code-line\" data-line=\"233\">Installation Complete<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"235\">The project is now configured for development on LeonardoXR. In the following documents, you will find guides for:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"237\"><li class=\"code-line\" dir=\"auto\" data-line=\"237\">VR\/MR Configuration<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"238\">Available Features (Spaces and LeonardoXR)<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"239\">Reference Samples<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"240\">Interaction (XR Interaction Toolkit, XR Hands)<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"241\">Advanced Features<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Getting Started \u2014 LeonardoXR SDK Getting Started \u2014 LeonardoXR SDK Introduction This guide explains how to set up a Unity project for development on the Leonardo XR, Youbiquo&#8217;s AR headset based on Snapdragon Spaces. The goal is to familiarize yourself with the SDK configuration for developing applications on Leonardo. The next guide will demonstrate how to interact with controllers and hands. Leonardo XR runs on Android 12 and follows a programming workflow familiar to anyone who has already developed Android applications. Required Software Before you begin, ensure that you have installed the following software and packages at the specified versions: Software \/ Package Version Unity Hub Latest available Unity Editor 6000.0.37f1 LeonardoXR SDK 1.0.2 Snapdragon Spaces SDK 1.0.4 OpenXR Plugin 1.15.1 AR Foundation 6.2.1 XR Interaction Toolkit 3.3.0 XR Hands 1.7.2 UniTask 2.5.10 VS Code, Visual Studio or equivalent editor \u2014 Note on the OpenXR plugin: Unlike the standard Snapdragon Spaces guide (which recommends v1.10.0 for Unity 2022), with Unity 6 and LeonardoXR you should use OpenXR 1.15.1. Do not modify this version manually; the Package Manager handles it automatically through the SDK&#8217;s dependencies. Create a New Project Open Unity Hub and click on New Project. Select the Universal 3D template. Name the project (e.g., LeonardoXR_Test) and choose the destination folder. Click on Create Project. After creation, Unity will open the project with a sample scene in the Hierarchy panel. Convert the Platform to Android From the main menu, select File &gt; Build Profiles. In the Build Profiles window, select Android from the Platform list. Click on Switch Platform and wait for the process to complete. Close the Build Profiles window. Install the Required Packages Open the Package Manager via Window &gt; Package Manager. Select Unity Registry in the left sidebar and install the following packages by clicking Install: AR Foundation \u2014 6.2.1 XR Interaction Toolkit \u2014 3.3.0 XR Hands \u2014 1.7.2 UniTask \u2014 2.5.10 Note: XR Interaction Toolkit might require restarting the editor after installation. If the prompt &#8220;Enable the new input system?&#8221; appears, click Yes. Install Snapdragon Spaces SDK Download and extract Snapdragon Spaces SDK v1.0.4 from the official portal: https:\/\/spaces.qualcomm.com\/developer\/vr-mr-sdk\/. Open the Package Manager (Window &gt; Package Manager). Click the + button and select Add package from tarball\u2026 Navigate to the extracted folder and select the .tgz file. Click Open. The installation will start automatically. During the installation, two prompts may appear: &#8220;Enable the new input system?&#8221; \u2192 click Yes. &#8220;XR Interaction Layer Mask Update Required&#8221; \u2192 since this is a new project, click I Made a Backup, Go Ahead! The editor will restart. This is normal behavior, not a crash. Tip: To reference the package with a relative path (recommended for version control), copy the .tgz file into the Packages folder of your project before adding it. Install LeonardoXR SDK Download and extract LeonardoXR SDK v1.0.2 from the Youbiquo Developer Portal. Open the Package Manager (Window &gt; Package Manager). Click the + button and select Add package from tarball\u2026 Navigate to the LeonardoXR SDK compressed file and select the .tgz file. Click Open. LeonardoXR SDK will be installed. Configure XR Plugin Management and OpenXR Open Project Settings Go to Edit &gt; Project Settings and select XR Plug-in Management in the left sidebar. Enable OpenXR and Snapdragon Spaces Click the Android tab (top right in the window). In the Plug-in Providers section, make sure the following are checked: OpenXR Snapdragon Spaces feature group Configure OpenXR Features Click OpenXR in the left sidebar. In the Snapdragon Spaces features list, enable only Base Runtime and disable all others.Advanced features (Hit Testing, Plane Detection, etc.) can be enabled later as needed for your project. Warning: To correctly enable Hand Tracking on LeonardoXR, the Hand Tracking Subsystem option must be activated in the All Features section of OpenXR. Add LeonardoXR Feature Group Return to the XR Plug-in Management &gt; Android section. In the Plug-in Providers list, also check LeonardoXR feature group. Run Project Validation In the Project Settings sidebar, click Project Validation. The window will display a list of configuration errors to resolve. Click Fix All to resolve them automatically. Some fixes may require restarting the editor. Re-run the validation after restarting to verify that all errors have been resolved. Import the Samples Before creating your own scenes, it is useful to import the samples included in the various packages. For each package: open Window &gt; Package Manager, select In Project, select the package, expand the Samples section, and click Import. Samples to import per package XR Hands: Gestures Hand Visualizer XR Interaction Toolkit: Starter Assets Hand Interaction Demo Snapdragon Spaces: Core Samples LeonardoXR: Core Samples After importing all the samples, add the scenes to the build via Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings. Configure URP Graphics and Quality Settings Open Edit &gt; Project Settings &gt; Graphics. Under Default Render Pipeline, click the circle and select Mobile_RPAsset (Universal Render Pipeline Asset). Navigate to Project Settings &gt; Quality. In the Levels section, ensure that Mobile has a green checkmark in the Android column. If it is not present, click the Default dropdown in the Android column and select Mobile. Close Project Settings. Configure URP Assets In the Assets\/Settings folder, select Mobile_Renderer. In the Inspector panel for Mobile_Renderer, apply the following changes: Rendering \u2192 Depth Priming Mode: set to Disabled Shadows \u2192 Transparent Receive Shadows: uncheck Post-processing \u2192 Enabled: uncheck Renderer Feature \u2192 SSAO: ensure it is disabled or removed In the Assets\/Settings folder, select Mobile_RPAsset. In the Inspector panel for Mobile_RPAsset, apply the following changes: HDR: disable Anti Aliasing (MSAA): set to 4x Play In Editor Configuration This section describes how to configure the project to support Play-In-Editor development, reducing the need to deploy to the device with each change. Prerequisites Complete the basic configuration above before proceeding. OpenXR Project Settings Go to Edit &gt; Project Settings &gt; XR Plug-in Management and select the Windows, Mac, Linux tab. Initialize XR On Startup: The value must match that of the Android tab: Without Dual Render Fusion<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":614,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-687","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/pages\/687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/comments?post=687"}],"version-history":[{"count":7,"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/pages\/687\/revisions"}],"predecessor-version":[{"id":694,"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/pages\/687\/revisions\/694"}],"up":[{"embeddable":true,"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/pages\/614"}],"wp:attachment":[{"href":"https:\/\/www.youbiquo.eu\/leonardoxr\/wp-json\/wp\/v2\/media?parent=687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}