# Clarification on Keeping VPS Models Visible in Studio

**URL:** <https://forum.8thwall.com/t/clarification-on-keeping-vps-models-visible-in-studio/8039>\
**Category:** Technical Support\
**Tags:** vps, studio\
**Created:** [August 12, 2025, 5:16pm UTC](https://forum.8thwall.com/t/clarification-on-keeping-vps-models-visible-in-studio/8039 "2025-08-12T17:16:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Babak\_Heidari](https://avatars.discourse-cdn.com/v4/letter/b/73ab20/32.png) [@Babak\_Heidari](https://forum.8thwall.com/u/Babak_Heidari)\
**Post date:** [August 12, 2025, 5:16pm UTC](https://forum.8thwall.com/t/clarification-on-keeping-vps-models-visible-in-studio/8039/1 "2025-08-12T17:16:54Z")

</div>

I’m building a VPS project in 8th Wall Studio.  
The 3D model appears when the VPS location is found, but it disappears when I move the camera and walk toward it.

From what I understand, this might be caused by the “Target Lost” event hiding the model. My idea is to:

- Keep the model visible at all times

- Do nothing when “Target Lost” is triggered

- Optionally re-align on “Target Found” again

Questions:

1. Is this the correct approach to make sure the model always stays visible?

2. Are there built-in settings or best practices for handling “Target Lost” without hiding content?

Thanks!

---

<div class="post-metadata">

**Author:** ![Evan](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.8thwall.com/evan/32/431_2.png) [@Evan](https://forum.8thwall.com/u/Evan)\
**Post date:** [August 13, 2025, 10:21pm UTC](https://forum.8thwall.com/t/clarification-on-keeping-vps-models-visible-in-studio/8039/2 "2025-08-13T22:21:40Z")

</div>

You’re correct — by default, VPS locations will show their children when tracked and hide them when tracking is lost. To override this, you’ll need a custom component. Here’s a starting point:

```typescript
world.events.addListener(world.events.globalId, 'reality.locationfound', (e: any) => {
  const {name, position, rotation} = e.data
  if (name === component.schema.locationName) {
    // if location is found, remove the entity and its children
    ecs.Hidden.remove(world, component.eid)
    // update the position and rotation each found event
    ecs.Position.set(world, component.eid, position)
    ecs.Quaternion.set(world, component.eid, rotation)
  }
})

```

The key is to move your AR content **outside** of the VPS location in the hierarchy (so it’s not a child of the location entity) and attach this custom component to a new empty parent entity.
