# Complex user interactions - can they be done?

**URL:** <https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890>\
**Category:** Technical Support\
**Created:** [March 27, 2024, 11:38am UTC](https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890 "2024-03-27T11:38:11Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![6\_Smith](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.8thwall.com/6_smith/32/436_2.png) [@6\_Smith](https://forum.8thwall.com/u/6_Smith)\
**Post date:** [March 27, 2024, 11:38am UTC](https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890/1 "2024-03-27T11:38:11Z")

</div>

Hello. We have created an app for our client that let’s users place an articulated monitor arm on a desk and rotate, raise and lower the elements at the pivot points through on-screen buttons. I’m trying to push the client towards a webAR solution and away from the current App store/Play store downloadable format. Is it possible to incorporate complex interactions like this on this platform? Previously built/coded in Unity/C# so just want to know if I’ll be able to recreate it here. None of the project library samples seem to have anything like that.

---

<div class="post-metadata">

**Author:** ![TonyT](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.8thwall.com/tonyt/32/88_2.png) [@TonyT](https://forum.8thwall.com/u/TonyT)\
**Post date:** [March 27, 2024, 9:08pm UTC](https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890/2 "2024-03-27T21:08:28Z")

</div>

Check out our `xrextras-gesture-detector` component (used in [A-Frame: Manipulate 3D Model | 8th Wall | 8th Wall](https://www.8thwall.com/8thwall/manipulate-aframe) , for example).

You can use it for things like hold-drag, one/two finger rotate, pinch scale, etc.

This sample project also adds the concept of object section before manipulating the object:

> **[A-Frame: Gesture Selector | 8th Wall Playground | 8th Wall](https://www.8thwall.com/playground/gesture-selector)**
>
> This example allows the user to position, scale, and rotate an objects idividually.

---

<div class="post-metadata">

**Author:** ![TonyT](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.8thwall.com/tonyt/32/88_2.png) [@TonyT](https://forum.8thwall.com/u/TonyT)\
**Post date:** [March 27, 2024, 9:09pm UTC](https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890/3 "2024-03-27T21:09:05Z")

</div>

To learn more about what it’s doing, you can find all of the source code for xrextra-gesture-detector and related components at [web/xrextras/src/aframe/components/gestures-components.ts at master · 8thwall/web · GitHub](https://github.com/8thwall/web/blob/master/xrextras/src/aframe/components/gestures-components.ts)

---

<div class="post-metadata">

**Author:** ![Saba\_Majid](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.8thwall.com/saba_majid/32/2384_2.png) [@Saba\_Majid](https://forum.8thwall.com/u/Saba_Majid)\
**Post date:** [July 7, 2025, 2:01pm UTC](https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890/4 "2025-07-07T14:01:51Z")

</div>

> [@TonyT](#):
>
> at it’s doing, you can find all of the source code for xrextra-gesture-detector and related components at [w](https://github.com/8thwall/web/blob/master/xrextras/src/aframe/components/gestures-components.ts)

Hey i’m new here. whats the concept behind is DOM and ECS

---

<div class="post-metadata">

**Author:** ![GeorgeButler](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.8thwall.com/georgebutler/32/1903_2.png) [@GeorgeButler](https://forum.8thwall.com/u/GeorgeButler)\
**Post date:** [July 8, 2025, 4:37pm UTC](https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890/5 "2025-07-08T16:37:35Z")

</div>

Hi, welcome to the forum!

In the future please make a new thread for your questions instead of asking them in old threads.

DOM = Document Object Model, it’s the webpage.  
ECS = Design Pattern / Architecture pattern for software.

---

<div class="post-metadata">

**Author:** ![mick\_varal](https://avatars.discourse-cdn.com/v4/letter/m/e68b1a/32.png) [@mick\_varal](https://forum.8thwall.com/u/mick_varal)\
**Post date:** [November 14, 2025, 12:36pm UTC](https://forum.8thwall.com/t/complex-user-interactions-can-they-be-done/890/6 "2025-11-14T12:36:29Z")

</div>

Hello, I have a question about your code for positioning an object.

I’ve modified it: I removed the scale and rotation parts. I can select the object fine, but I’m unable to move/position it. I’m using absolute scale. Any idea what might be wrong

This is the code I’m using:

const gestureSelectorComponent = {

selectedModel: null,

schema: {

```
addHoldDrag: {default: true},

riseHeight: {default: 0.7},

addHighlight: {default: false},

```

},

init() {

```
const self = this

if (this.data.addHoldDrag) {

  this.el.setAttribute('xrextras-hold-drag', 'riseHeight', this.data.riseHeight)

}

this.el.addEventListener('mousedown', (event) => {

  if (self.constructor.selectedModel) {

    self.removeGestures(self.constructor.selectedModel)

  }

  self.addGestures(event.currentTarget)

  self.constructor.selectedModel = event.currentTarget

})

```

},

removeGestures(entity) {

```
entity.setAttribute('highlight', 'enabled', false)

```

},

addGestures(entity) {

```
const {data} = this

if (data.addHighlight) {

  entity.setAttribute('highlight', 'enabled', true)

}

```

},

}

export {gestureSelectorComponent}
