Start a new topic

Issues with Specifying Launch Activity in Unity Applications Integrating Qualcomm Space SDK

Unity applications integrating the Qualcomm Space SDK default to launching com.unity3d.player.UnityPlayerActivity, making it impossible to specify the Launch Activity through the Manifest manifest, thus preventing the addition of custom business logic.


Hi, 


It sounds like you could profit from using our Dual Render Fusion feature. We have some resources available about who the architecture works at  Dual Render Fusion (Experimental) (qualcomm.com). You should be able to modify the Android Manifest - other developers are doing this as well.

Here's some info on how to set up a Dual Render Fusion project Dual Render Fusion (Experimental) (qualcomm.com). 


Generally it is possible to disable the launcher in the Unity Project Settings under XR Plug-in Management > OpenXR, selecting the options for Base Runtime and unchecking the option "Launch Controller on Host". This disables companion controller activity launching, leaving you free to modify the Android Manifest as you would with a normal Unity application. 






1 person likes this

Yes, you are right, the launch activity can now be set correctly. 


However, there is a problem on the AR2 device when an external mouse is connected: the window of the Activity does not receive mouse events. Reviewing the logs and analyzing, it seems that the Snapdragon OpenXR Runtime Window might be intercepting the events. Below is an excerpt from the InputDispatcher log, and the detailed log is attached.



11-20 12:15:05.556 1995 2829 W InputDispatcher: Asynchronous input event injection failed.

11-20 12:15:05.677 1321 5089 D AHAL: AudioStream: Open: 2946: halInputFormat 1 halOutputFormat 1 palformat 1

11-20 12:15:06.112 1321 6725 D AHAL: AudioStream: Open: 2946: halInputFormat 1 halOutputFormat 1 palformat 1

11-20 12:15:06.217 1995 9748 W InputManager-JNI: Input channel object '948a125 Splash Screen com.Superhexa.SuperWorld (client)' was disposed without first being removed with the input manager!

11-20 12:15:07.434 1995 2041 I ActivityManager: Start proc 13233:com.qualcomm.qti.spaces.services:input/u0a172 for service {com.qualcomm.qti.spaces.services/com.qualcomm.qti.openxrruntime.input.spaces.SpacesInputService}

11-20 12:15:07.483 13233 13233 D SnapdragonInputService: onCreate

11-20 12:15:07.483 13233 13233 I SnapdragonInputService: plugin version: v1.0.2

11-20 12:15:07.489 13233 13233 I SpacesInputService: onCreate

11-20 12:15:07.736 13233 13233 D SpacesInputService: onBind intent: Intent { cmp=com.qualcomm.qti.spaces.services/com.qualcomm.qti.openxrruntime.input.spaces.SpacesInputService }

11-20 12:15:07.736 13233 13233 D SnapdragonInputService: onBind

11-20 12:15:07.737 13141 13265 I InputClient: service connected, host: ComponentInfo{com.qualcomm.qti.spaces.services/com.qualcomm.qti.openxrruntime.input.spaces.SpacesInputService}

11-20 12:15:07.738 13233 13233 D SnapdragonInputService: onStartCommand

11-20 12:15:07.780 13141 13214 I InputClient: register device callback, id: 0

11-20 12:15:07.780 13141 13214 I SnapdragonInputDevice: Device 0 setup

11-20 12:15:07.782 13141 13214 I p_create_system: 1: QXR Input

11-20 12:15:07.782 13141 13214 I p_create_system: left: QXR Input

11-20 12:15:10.227 13064 13093 I Unity : [XR] [507350465712] [12:15:10.227][Info ] ==== OpenXR Input ====

11-20 12:15:14.398 13064 13093 W Unity : Qualcomm.Snapdragon.Spaces.Samples.InteractionManager:SetControllerProfileType(InputType)

11-20 12:15:14.404 13064 13093 W Unity : Qualcomm.Snapdragon.Spaces.Samples.InteractionManager:SetControllerProfileType(InputType)

11-20 12:15:19.101 1995 2829 W InputDispatcher: Asynchronous input event injection failed.




11-20 12:15:27.391 1995 2829 W InputDispatcher: Asynchronous input event injection failed.

11-20 12:15:52.702 1995 2010 W InputManager-JNI: Input channel object '8a8577 com.Superhexa.SuperWorld/com.unity3d.player.MainActivity (client)' was disposed without first being removed with the input manager!

11-20 12:15:52.782 1321 5089 D AHAL: AudioStream: Open: 2946: halInputFormat 1 halOutputFormat 1 palformat 1

11-20 12:15:57.919 1995 2829 W InputDispatcher: Asynchronous input event injection failed.

11-20 12:15:57.956 1321 5089 D AHAL: AudioStream: Open: 2946: halInputFormat 1 halOutputFormat 1 palformat 1

log
(4.05 MB)

Could you please explain your setup in more detail, what device(s) you are using and what the desired result is? 

I need more information to show to one of our engineers internally. 

Our device is a combination of a DK board and AR glasses.
The specifications for the DK board and AR glasses are as follows:

Device information for DK version:

kalama:/ # cat /system/build.prop | grep product

ro.product.system.brand=qti

ro.product.system.device=qssi

ro.product.system.manufacturer=QUALCOMM

ro.product.system.model=qssi system image for arm64

ro.product.system.name=qssi

ro.system.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi

ro.system.product.cpu.abilist32=armeabi-v7a,armeabi

ro.system.product.cpu.abilist64=arm64-v8a

# from out/target/product/qssi/obj/PACKAGING/system_build_prop_intermediates/buildinfo.prop

# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,

# use ro.product.cpu.abilist instead.

ro.product.cpu.abi=arm64-v8a

ro.product.locale=en-US

ro.product.property_source_order=odm,vendor,product,system_ext,system


Glasses device information:

CPU: AR2


On the software side, we have set up the Launch Activity as per your response.
Currently, the display on the DK board and the glasses is consistent. On the hardware side, we have connected a mouse to the DK board. We expect to receive mouse events in the Unity space, but currently, we are not receiving any.


Thank you for that information. This channel is for supporting the Snapdragon Spaces development kits as shown at Devices - Snapdragon Spaces (qualcomm.com). For the setup that you described, you should have access to a separate route for handling support that can address your specific needs. 

Login to post a comment