# Controller Input for Omniverse - Remote Rendering

**URL:** https://forum.magicleap.cloud/t/controller-input-for-omniverse-remote-rendering/2701
**Category:** Input/Interaction
**Created:** [October 10, 2023, 9:23am UTC](https://forum.magicleap.cloud/t/controller-input-for-omniverse-remote-rendering/2701 "2023-10-10T09:23:04Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![mathradecs](https://avatars.discourse-cdn.com/v4/letter/m/c0e974/32.png) [@mathradecs](https://forum.magicleap.cloud/u/mathradecs)
#### Post date: [October 10, 2023, 9:23am UTC](https://forum.magicleap.cloud/t/controller-input-for-omniverse-remote-rendering/2701/1 "2023-10-10T09:23:04Z")

</div>

Hi, since the last update of the USD Composer application in Omniverse I am able to stream content to the Magic Leap 2 through the remote rendering app.  
Now I'm struggling to get the controller input into Omniverse. Can anyone point me in the right direction to get controller button states show up in Omniverse?

Would appreciate any help!

---

<div class="post-metadata">

### Author: ![etucker](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.magicleap.cloud/etucker/32/842_2.png) [@etucker](https://forum.magicleap.cloud/u/etucker)
#### Post date: [October 10, 2023, 4:34pm UTC](https://forum.magicleap.cloud/t/controller-input-for-omniverse-remote-rendering/2701/2 "2023-10-10T16:34:00Z")

</div>

Hi @mathradecs,

I have reached out to our team regarding this question and I will report back to you as soon as I learn more.

Thank you,

El

---

<div class="post-metadata">

### Author: ![etucker](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.magicleap.cloud/etucker/32/842_2.png) [@etucker](https://forum.magicleap.cloud/u/etucker)
#### Post date: [October 24, 2023, 5:36pm UTC](https://forum.magicleap.cloud/t/controller-input-for-omniverse-remote-rendering/2701/3 "2023-10-24T17:36:07Z")

</div>

Hi @mathradecs,

We are hoping to make a demo available showing basic Omniverse interactions in the near future.

In the meantime: After launching USD Composer 2023.2.0 users need to go to Windows/Extensions and enable the "AR Experience (Alpha)" extension.

The `ar_profile` class has a function called `get_profile()` returning an instance of `XRProfile` . That instance provides access to headset and controller details via the `get_device()` and `get_device_list()` functions.  
Note that the python code for these classes is part of the Omniverse installation, the easiest way to find the install path is by again going through the extensions window, selecting `omni.kit.xr.core` and then clicking on the folder icon.

After testing this some more, I'd recommend using the snippet below. Unfortunately it looks like there might be a bug in Nvidia's current release because the controller 3D model is invisible. The button states are still returned correctly though.

```auto
from omni.kit.xr.core import XRCore, XRCoreEventType

# XRCore is the overall manager of XR related systems. It has a useful event_stream for Start/Stop and Update events.
xrcore = XRCore.get_singleton()
events = xrcore.get_event_stream()

# This is the currently running profile - it might be None before user clicks on "Start AR"
profile = xrcore.get_current_profile()
device = profile.get_device("xrcontroller1")

# This returns a dictionary of all button states, e.g. {'menu': False, 'grip': True, 'trigger': False, 'dpad_left': False,...}
device.get_button_press_state()

```

Let me know if this helps,

Best,

El
