Where anatomically is the HEAD joint
Not much detail here: https://developers.meta.com/horizon/reference/spatial-sdk/v0.7.0/root/com.meta.spatial.toolkit/body-joint/h-e-a-d Is it directly above where the spine meets the skull and behind the eyes? i.e. the "head atlas"? Is this a good pivot point for billboarding view screens?90Views0likes3CommentsKeep Rules in Proguard Files (Using R8 Minify)
I'm developing an Immersive App for Meta Quest using the Meta Spatial SDK in Android Studio with R8 minification enabled. When building a signed APK, I encounter the following error: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in D:\AndroidProject\[package-name]\app\build\outputs\mapping\questRelease\missing_rules.txt. Missing class horizonos.app.container.TaskContainer (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.taskContainer and 4 other contexts) Missing class horizonos.app.container.TaskContainerManager$TaskContainerCallback (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.tryGetTaskContainer(android.content.Context, android.content.Context) and 2 other contexts) Missing class horizonos.app.container.TaskContainerManager (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.tryGetTaskContainer(android.content.Context, android.content.Context)) Missing class vros.os.VrosBuild (referenced from: horizonos.app.container.TaskContainer com.meta.spatial.runtime.PanelDisplay.tryGetTaskContainer(android.content.Context, android.content.Context)) The missing_rules.txt file suggests adding the following rules to proguard-rules.pro: # Please add these rules to your existing keep rules in order to suppress warnings. # This is generated automatically by the Android Gradle plugin. -dontwarn horizonos.app.container.TaskContainer -dontwarn horizonos.app.container.TaskContainerManager$TaskContainerCallback -dontwarn horizonos.app.container.TaskContainerManager -dontwarn vros.os.VrosBuild When I add these -dontwarn rules to proguard-rules.pro, the signed APK builds successfully. However, when I deploy and launch the APK on a Meta Quest device, the app gets stuck in a loading state and eventually shows a "Not Responding" error after some time. I’ve also tried the following keep rules in proguard-rules.pro, but they prevent the APK from building: -keep class horizonos.** { *; } -keep class vros.** { *; } -keep class com.meta.spatial.** { *; } My question: What specific keep rules should I use in proguard-rules.pro to ensure that the necessary classes are preserved, allowing the app to build successfully and load properly on Meta Quest without getting stuck in the loading state?Solved94Views0likes2CommentsInterface of getting Controller joystick travel range
Hello, I’m fairly new to the Meta Spatial SDK, and while reviewing the Controller Input documentation, I couldn’t find any interface that allows retrieving the joystick’s travel range. What I came across were examples treating joystick directions as “Buttons” (like ButtonThumbRL). However, what I’m trying to do is map the joystick’s travel to an attribute like “velocity.” Is there any way to access this information? If I’ve missed something, my apologies, thank you!220Views0likes5Comments2D screen goes black when resizing the window (jetpack compose)
Hi, I am trying to build a simple hybrid app but the problem is as soon as I resize my window, it goes completely black. here is the Basic MainActivity: class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { App() } } } @Composable fun App() { Column { Text("Hello World!", color = Color.White) } } and here is the manifest: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:horizonos="http://schemas.horizonos/sdk"> <horizonos:uses-horizonos-sdk horizonos:minSdkVersion="69" horizonos:targetSdkVersion="69" /> <uses-feature android:name="android.hardware.vr.headtracking" android:required="true" /> <uses-feature android:name="oculus.software.handtracking" android:required="false" /> <uses-permission android:name="com.oculus.permission.HAND_TRACKING" /> <uses-feature android:name="com.oculus.experimental.enabled" android:required="true" /> <uses-feature android:name="com.oculus.feature.PASSTHROUGH" android:required="false" /> <uses-feature android:name="com.oculus.feature.VIRTUAL_KEYBOARD" android:required="false" /> <uses-feature android:name="oculus.software.vr.app.hybrid" android:required="false" /> <uses-feature android:glEsVersion="0x00030001" /> <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false" /> <uses-feature android:name="com.oculus.feature.RENDER_MODEL" android:required="false" /> <uses-permission android:name="com.oculus.permission.RENDER_MODEL" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:label="@string/app_name" android:theme="@style/Theme.PanelAppThemeTransparent" android:supportsRtl="true"> <meta-data android:name="com.oculus.supportedDevices" android:value="quest2|questpro|quest3" /> <meta-data android:name="com.oculus.handtracking.version" android:value="V2.0" /> <meta-data android:name="com.oculus.vr.focusaware" android:value="true" /> <uses-native-library android:name="libossdk.oculus.so" android:required="true" /> <activity android:name=".MainActivity" android:exported="true" android:screenOrientation="landscape"> <meta-data android:name="com.oculus.vrshell.free_resizing_lock_aspect_ratio" android:value="true" /> <layout android:defaultHeight="800dp" android:defaultWidth="800dp" /> <meta-data android:name="com.oculus.vrdesktop.control_bar_config" android:value="{'show_title':false,'show_report_bug':false,'with_back_button':false, 'use_activity_label':false}" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="com.oculus.intent.category.2D" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>2KViews0likes10CommentsHow to make a single app which support 2d mode as well as MR using spatial sdk?
Hello I'm currently developing an app for meta quest which should work on background on any other apps/games like the meta quest browser. Based on my understanding, this is only possible by just porting 2d Android app. But i want to have standalone spatial features using meta spatial sdk as well. Should I make two separate apps or just building one would support both the usecase? Spatial features are just addition to the current 2d appThis application requires the Windows App Runtime
Hi there: I'm excited to try the Meta Spatial Editor. I got it to install just fine in Mac but am receiving an error in Windows. Specifically, "This application requires the Windows App Runtime Verion 1.5." (see attached). I've gone to the link, installed 1.5 and 1.6. I still receive this error. I'm not sure if anyone else is experiencing this. Any help is gratefully appreciated!Solved2.9KViews0likes6CommentsHow to create custom shader in Meta Spatial Editor?
Hi, First time downloading Meta Spatial Editor (v1.0.0.70.4620). I like the interface and it's quite like Reality Composer Pro but I am unable to find something like "Shader Graph Editor" in Meta Spatial Editor. I can see the material component attached to the default cube when added into the composition space. Upon researching further I can see its a custom material file with the extension ".metaspatialmaterial" but I couldn't find any more documentation on this. Can someone guide me to how to create custom shader in the editor? Is it possible to use existing Unity Shader into Meta Spatial Editor?