Suggestion for Developing an SDK for Meta Ray-ban Glasses
Hey everyone, I'm curious: will there ever be a developer kit (SDK) available for Meta glasses? I think the glasses are great, but there's not much to do with them right now. So, I thought, why not build a community around it? If Meta releases an API or something that other apps could call or interact with indirectly (since it seems there's already a service running in the background), this could enable commands from third-party apps. This way, you could allow users to develop their own apps and further customize the experience. For example, let's say I want to do something customizable, like turning on my smart lights using the command "Hey Meta". My own app could register a command (or more than one) so that whenever I say "Hey Meta, [do something]", this command triggers (it could be a post or a deeplink) that my app could receive and then perform the desired action, only for that command. And if this API allows me to use the camera live, like we do in Instagram livestreams, the possibilities would be endless. Think about it, everyone. I really want to build custom experiences with this, so please consider releasing an SDK for Meta glasses. Thanks!62KViews41likes29CommentsSuggestion: Allow apps to request permission to access camera feed(s)
The developer blog says: "We built Passthrough API with privacy in mind. Apps that use Passthrough API cannot access, view, or store images or videos of your physical environment from the Oculus Quest 2 sensors. This means raw images from device sensors are processed on-device." That's all well and good, but what if an application has a legitimate reason to need access to that data? I can think of several such use cases: A camera app for taking pictures/recording video in 3D Mixed reality experiences that implement computer vision algorithms to react to things in the real world A more advanced version of Waltz of the Wizard's mixed reality sandbox that allows changes to be made to objects in the real world (well, at least how they're displayed in the headset 😉) using image processing filters Trippy effects that go beyond the pre-existing filters in the SDK I'm sure there are many others as well. From my understanding, none of these use cases are currently possible on the Quest, even though there's no reason they shouldn't be with the hardware that's present. I couldn't even code it for my own experimentation unless I find some way to root the headset, which is annoying as I spent $1,500 on a Quest Pro and shouldn't be prevented from using its hardware as I please. So what I recommend is adding an API for accessing this raw image data, which would of course only work if the user grants permission to the app. Apps can already do this on smartphones with no issues, so I don't see how the Quest would be any different. The Oculus Store, of course, can also set policies as necessary, such as requiring apps to keep the image data on device whenever possible, and to never send it to a remote server without the user explicitly giving permission. I'd have posted this in the SDK Feedback section, but for some reason it says I'm not allowed to start a thread there, so I'm posting it here instead.10KViews30likes17CommentsGetting to Android 32 with Unreal 4.27.2
Hi all, Quick summary here of what we needed to do to get our app(s) updated to API 32 - with Unreal 4.27.2 A bunch of this info seems spread out in other posts and I though collecting it in one spot might save others some pain Updating to API 32: - using Android Studio to configure the SDK to api 32 - just SDK Platform 32 and Sources for 32 are needed (we still have 29 installed) - Tools stay at 29 - we have 29.0.2 and 29.0.3 installed - Use the editor to set your android API to 32 Now problems we had with 32.. -Sideloads of builds installs didn't work, -Dev builds couldn't save logs -We couldn't launch one app from another Sideload fixes require changing /Engine/Source/Programs/AutomationTool/Android/AndroidPlatform.Automation.cs Near the top.. add 'Android' infront of obb --> private const string TargetAndroidLocation = "Android/obb/"; Then in GenerateInstallBatchFile, around line 950 there are to spots where "$STORAGE/Android/" needs to be just "$STORAGE/" Also in that same method near the top.. make this always true.. bool bNeedGrantStoragePermission = true; //bRequireRuntimeStoragePermission && !bIsDistribution; To get logs and general functioning working: Some tags need to be added to DefaultEngine.ini, (..some of the following may not apply to all apps..) [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings] bUseExternalFilesDir=true +ExtraManifestNodeTags=xmlns:tools="http://schemas.android.com/tools" +ExtraApplicationNodeTags=tools:replace="android:name" (the above is needed if you use Vivox later releases) +ExtraApplicationNodeTags=android:allowBackup='false' ExtraApplicationSettings= +ExtraActivityNodeTags=android:exported="true" ExtraActivitySettings= +ExtraPermissions=android.permission.INTERNET +ExtraPermissions="com.qti.permission.PROFILER " +ExtraPermissions=android.permission.WRITE_EXTERNAL_STORAGE +ExtraPermissions=android.permission.READ_EXTERNAL_STORAGE +ExtraPermissions=android.permission.WRITE_INTERNAL_STORAGE +ExtraPermissions=android.permission.READ_INTERNAL_STORAGE +ExtraPermissions=android.permission.READ_MEDIA_IMAGES +ExtraPermissions=android.permission.READ_MEDIA_VIDEO +ExtraPermissions=android.permission.READ_MEDIA_AUDIO +ExtraPermissions=android.permission.ACCESS_MEDIA_LOCATION +ExtraPermissions=android.permission.MANAGE_EXTERNAL_STORAGE bAndroidVoiceEnabled=False Also to get the logs saving on the device, we could not see how to grant permissions to save them where it usually wants to. I think that is truly locked off, but instead change the destination to use "Downloads" instead of UE4Game as the root.. In AndroidPlatformFile.cpp //#define FILEBASE_DIRECTORY "/UE4Game/" #define FILEBASE_DIRECTORY "/Download/" Our apps use a central launcher so to start those packages you must be able to get visibility of them, (new in 30, I think) so some additions to the AndroidManifest.xml are needed -- this can be done in UEDeployAndroid.cs -- there is a section that checks for API >= 30 -- and it creates a "query" section.. to this we added the following (I've included the tag to end the <queries> for ref) Text.AppendLine("\t\t<intent>"); Text.AppendLine("\t\t\t<action android:name=\"android.intent.action.MAIN\" />"); Text.AppendLine("\t\t\t<category android:name=\"android.intent.category.INFO\" />"); Text.AppendLine("\t\t\t<category android:name=\"com.oculus.intent.category.VR\" />"); Text.AppendLine("\t\t</intent>"); Text.AppendLine("\t</queries>"); This lets our app discover and launch other apps. Hope this helps some one else! DR -7KViews9likes13CommentsArc A770 is an "Unsupported GPU", the recent update prevents connecting with the PC.
I have an Arc A770 and the most recent Oculus software update has code that actively prevents connecting via link cable and air link because the GPU is "not supported" (it did before the update). My day job is a VR developer, my headset no longer connects to the PC, and I have several VR projects that are on indefinite hold because of this. This is a massive issue for me and anyone else (gamer or developer) who has an Arc GPU so I don't know why this was considered a good idea.4.1KViews8likes7CommentsPlease let us developers access the cameras
Please permit us developers access to the cameras/pass through texture/mesh. We can make cool mixed reality apps with that. Privacy is not an issue because you can implement a permission that asks the user if he allows it. Many big companies do it like this. Like Apple/Google lets developers access the camera of a smartphone. What is the real reason why you don't let us access the camera?1.2KViews6likes1CommentObtaining User ID issue after v59, still works on v57-
We cannot obtain Oculus Platform UserIDs on headsets running software v59. Unity integration Oculus.Platform.Users.GetLoggedInUser() returns a user object with an ID of 0. Headsets on earlier software versions (v57 and below) can successfully obtain the User ID.  We have access to necessary Platform Features through the meta developer dashboard.Solved3.1KViews6likes6CommentsGetLoggedInUser returns Oculus ID 0 with v59 update
I have my build on three Quest 3 devices. Two are running: 59.0.0.163.706.533208642 The other is running: 57.0.0.297.669.526237896 All devices are using the same login account. When running GetLoggedInUser it returns the correct Oculus ID on v57, and Oculus Id=0 on v59. ---- I have confirmed this by updating the v57 device to v59 and now the Oculus Id=0 using the same build and account. Too the best of my knowledge all required permissions are provided.Solved3KViews6likes5CommentsAndroid Studio unable to build any projects in SDK/Build instructions incorrect
After spending probably 8 hours trying to install and configure Android Studio I have come to the conclusion that either the SDK or instructions for building any of the SDK samples are outdated. Is there any plan to update the instructions for ones that might work? For example, any instructions related to the NDK or the "Project Structure" window is pretty much totally incorrect. I have had to literally uninstall and re-install Android Studio 4 times today. If I had to list specific errors, there would be at least 10 different mismatches and errors, like NDK is missing a "platforms" directory, Task 'prepareKotlinBuildScriptModel' not found in project, and many other unsolved/undocumented issues.11KViews5likes11CommentsHey META we need to improve the way updates of the SDKs are made
First of all thank you Meta for the hard work to improve the SDK with a lot of frequency BUT can we please find a way to make the SDKs updates less horrible? 50% of the time after an update from the package manager something breaks in the project, and I dont mean incompatibly, I mean stuff with the packages, library folder etc I was so excited to try the new Depth API with v67, but I had to rollback everything to v66 because I couldn't get rid of an error not finding OVR Input. Its amazing to have a rapidly evolving environment for Quest but please lets make this in a better way, starting by updating the version number on ALL packages, make it as easy as update the main package and that it updated all the dependencies.5.3KViews5likes15Comments