<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Geckode!</provider_name><provider_url>https://www.youbiquo.eu/geckode</provider_url><author_name>Aida Garfami</author_name><author_url>https://www.youbiquo.eu/geckode/author/aida-garfami/</author_url><title>Samples Guide - Geckode!</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="4IcpLbA1gy"&gt;&lt;a href="https://www.youbiquo.eu/geckode/en/samples-guide/"&gt;Samples Guide&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.youbiquo.eu/geckode/en/samples-guide/embed/#?secret=4IcpLbA1gy" width="600" height="338" title="&#x201C;Samples Guide&#x201D; &#x2014; Geckode!" data-secret="4IcpLbA1gy" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://www.youbiquo.eu/geckode/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><description>Samples Guide Samples Guide &#x2014; LeonardoXR SDK Samples Guide Version 1.0.2 | Device: Youbiquo Leonardo XR | Base SDK: Snapdragon Spaces 1.0.4 Samples are organised in two sections: LeonardoXR Samples&#xA0;&#x2014; samples specific to Leonardo XR proprietary and interaction features. Snapdragon Spaces Core Samples&#xA0;&#x2014; samples provided by Qualcomm for base AR/XR features. Importing Samples Snapdragon Spaces Core Samples The Core Samples package is importable from&#xA0;Window &gt; Package Manager &gt; Snapdragon Spaces &gt; Core Samples. After import, add all scenes to the build via&#xA0;Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings. LeonardoXR Core Samples The LeonardoXR Core Samples package is importable from&#xA0;Window &gt; Package Manager &gt; LeonardoXR &gt; Core Samples. After import, scenes are available in&#xA0;Samples/LeonardoXR/[version]/Core Samples/Scenes/. LeonardoXR Samples Interaction Scene Scene:&#xA0;Samples/LeonardoXR/.../Core Samples/Scenes/Interaction A fully pre-configured interaction scene for controller and hand usage. The player assembles a V8 engine on a sci-fi floating table, demonstrating the core interaction capabilities of the SDK. What it demonstrates XR Grab Interactable with socket snapping Affordance system (visual and audio feedback on selection and hover) Hand Menu for in-scene navigation Compatible with both controller (Companion Controller) and hand tracking (Dual Hand Mode) How to run it Open the&#xA0;Interaction Scene&#xA0;from the Package Manager samples, add it to the Build Settings, and deploy to the LeonardoXR. See the&#xA0;Build and Run&#xA0;section below. Hand Gestures Scene Scene:&#xA0;Samples/LeonardoXR/.../Core Samples/Scenes/Hand Gestures Demonstrates hand tracking, custom gesture recognition, and real-time hand shape inspection on LeonardoXR. What it demonstrates Custom gesture definition using&#xA0;XRHandShape&#xA0;pose assets Gesture icons and visual feedback for recognised gestures XRHandGestureDebugUI&#xA0;for real-time joint and gesture state inspection Integration with the XR Hands gesture system Prerequisites: XR Hands package installed with the Gestures and Hand Visualizer samples imported. Dual Camera Access Scene Scene:&#xA0;Samples/LeonardoXR/.../Core Samples/Scenes/Dual Camera Access Demonstrates synchronised access to both Leonardo XR cameras using the Android Camera2 API via a native Java plugin. What it demonstrates Direct camera frame retrieval using the&#xA0;Camera2&#xA0;Android API Native plugin integration (CameraAccessUtility.cs&#xA0;bridging to&#xA0;Camera2StateCallback.java) Camera info display and frame rendering in-headset Prerequisites: Dual Camera Access enabled in the LeonardoXR feature group. DOCUMENTATION IN PROGRESS&#xA0;Detailed API documentation and configuration guide will be available in a future release. AI Image Analyzer Scene Scene:&#xA0;Samples/LeonardoXR/.../Core Samples/Scenes/GPT Image Analyzer Demonstrates AI-powered image analysis on LeonardoXR using GPT vision APIs, with audio output via Google Text-to-Speech. What it demonstrates Capturing frames from the device camera Sending frames to a GPT image analysis API (GPTImageAnalyzer.cs) Converting the text response to speech and playing it back (GoogleTextToSpeechConverter.cs) Prerequisites: Valid GPT and Google TTS API keys configured in the scene. WebXR Scene Scene:&#xA0;Samples/LeonardoXR/.../Core Samples/Scenes/WebXR A scene pre-configured for WebXR export, targeting the Wolvic browser pre-installed on LeonardoXR. What it demonstrates WebXR-compatible XR Rig setup using the&#xA0;XRRig WebXR (Controllers)&#xA0;prefab How to build a Unity project for WebXR using the De-Panther WebXR Export Utility Prerequisites: Download and install the&#xA0;De-Panther WebXR Export Utility&#xA0;before building. Snapdragon Spaces Core Samples Local Anchors Sample Scene:&#xA0;Samples/Snapdragon Spaces/.../Core Samples/Scenes/Anchor Demonstrates creating and destroying local anchors to precisely track a point in the real world. Requires the&#xA0;Spatial Anchors&#xA0;feature enabled in OpenXR. How it Works A transparent positioning gizmo floats 1 metre in front of the camera. When&#xA0;Place anchor on surfaces&#xA0;is enabled, a ray is projected forward each frame. When a surface is hit, the gizmo turns yellow. Touching the touchpad or using the gaze interactor creates an&#xA0;ARAnchor&#xA0;with a tracking gizmo. private void OnAnchorsChanged(ARAnchorsChangedEventArgs args) { foreach (var anchor in args.updated) { Destroy(anchor.transform.GetChild(0).gameObject); var newGizmo = Instantiate( anchor.trackingState == TrackingState.None ? GizmoUntrackedAnchor : GizmoTrackedAnchor); newGizmo.transform.SetParent(anchor.transform, false); } } Saving, Deleting and Loading Anchors Enable&#xA0;Save new anchors to local store&#xA0;to persist each new anchor. White cube on gizmo = anchor saved and tracked; red cube = not tracked. Load All Saved Anchors&#xA0;&#x2014; loads and attempts to localise all stored anchors. Clear Store&#xA0;&#x2014; deletes all stored anchors (does not destroy already-loaded anchors). Destroy All Anchors&#xA0;&#x2014; destroys all active anchor GameObjects (with a short delay). Hand Tracking Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/HandTracking Demonstrates hand joint visualisation and gesture recognition via the QCHT interaction package. Requires Hand Tracking and QCHT / XR Hands packages. Hit Testing Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/HitTesting Demonstrates continuous hit testing via raycast against real-world planes and meshes using&#xA0;ARRaycastManager. Shows how to place virtual objects on detected surfaces. Image Tracking Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/ImageTracking Demonstrates tracking of printed reference images and virtual content overlay. Supports static and mutable image libraries. Plane Detection Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/PlaneDetection Demonstrates detection and visualisation of horizontal and vertical planes via&#xA0;ARPlaneManager. Supports detection modes and optional convex hull planes. Camera Frame Access Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/CameraFrameAccess Demonstrates retrieval of raw camera frames (YUV / YUYV) using&#xA0;ARCameraManager. Includes sensor extrinsics, camera count query and GPU-accelerated frame access. Requires&#xA0;Allow &#x2018;unsafe&#x2019; Code&#xA0;in Player Settings. Spatial Meshing Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/SpatialMeshing Demonstrates real-time environment meshing using&#xA0;ARMeshManager. Includes an opacity slider and the optional&#xA0;SpacesARMeshManagerConfig&#xA0;component. QR Code Tracking Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/QRCodeTracking Demonstrates QR code scanning and tracking via&#xA0;SpacesQrCodeManager. Multiple tracking modes available. XR Interaction Toolkit Sample Scene:&#xA0;Samples/.../Core Samples/Scenes/XRInteractionToolkit Demonstrates standard XRIT interactions (ray interactors, direct interactors, teleportation) in a Snapdragon Spaces project. Compatible with the LeonardoXR configuration. Composition Layer Components The&#xA0;Spaces Composition Layer&#xA0;renders textures directly to the HMD, bypassing post-processing steps. Supported geometry types are Quad, Cylinder, Sphere and Cube. Useful for high-sharpness UI or elements that must maintain quality regardless of scene effects. Additional Samples Sample Description Display Refresh Rate Query and runtime setting of display refresh rate via the&#xA0;XR_EXT_display_refresh_rate&#xA0;extension. Performance Settings Setting CPU/GPU performance levels via the&#xA0;XR_EXT_performance_settings&#xA0;extension. Build and Run This section describes how to build and deploy a sample application to the LeonardoXR. 1. Enable Developer Mode Developer Mode must be enabled on the LeonardoXR to sideload apps. See the&#xA0;Utilities and Tips&#xA0;chapter for step-by-step instructions. 2. Connect the Device Connect the LeonardoXR to your computer with a USB cable. The first time you connect, a dialog will appear on the headset asking you to confirm the connection &#x2014; accept it. 3. Add Scenes to Build Settings From the Unity main menu select&#xA0;File &gt; Build Settings&#x2026; Make sure the scenes you want to build are listed in the&#xA0;Scenes in Build&#xA0;list. Add them by dragging from the Project panel or</description><thumbnail_url>https://www.youbiquo.eu/geckode/wp-content/uploads/sites/7/2026/04/TP_open.png</thumbnail_url></oembed>
