# Using GetFocusInterface & Maintain Focus on Guards, Guards no longer shoot.

**URL:** <https://forums.unrealengine.com/t/using-getfocusinterface-maintain-focus-on-guards-guards-no-longer-shoot/2626611>\
**Category:** Issues and Bug Reporting\
**Tags:** closed, fortnite-creative, unreal-editor-for-fortnite, fortnite\
**Created:** [August 1, 2025, 4:31pm UTC](https://forums.unrealengine.com/t/using-getfocusinterface-maintain-focus-on-guards-guards-no-longer-shoot/2626611 "2025-08-01T16:31:24Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![RichyToons](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/richytoons/32/744535_2.png) [@RichyToons](https://forums.unrealengine.com/u/RichyToons)\
**Post date:** [August 1, 2025, 4:31pm UTC](https://forums.unrealengine.com/t/using-getfocusinterface-maintain-focus-on-guards-guards-no-longer-shoot/2626611/1 "2025-08-01T16:31:24Z")

</div>

### Summary

When using GetFocusInterface & trying to maintain focus on agent or location the guard no longer shoots at the maintain focus target. It use to work a couple months ago but I noticed recently guard just do the maintain focus part without actively shooting even full alerted or force attack is being used.

### Please select what you are reporting on:

Verse

### What Type of Bug are you experiencing?

AI

### Steps to Reproduce

Create a custom script for guard spawner that uses a Maintainfocus on attacking agent.

### Expected Result

Guard should look and shoot at attacking agent.

### Observed Result

Guard only looks at agent.

### Platform(s)

All

---

<div class="post-metadata">

**Author:** ![system](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/1/3/713c9d3f58553f0de89543d76a8a3a2779dc9fa4.png) [@system](https://forums.unrealengine.com/u/system)\
**Post date:** [January 28, 2026, 4:32pm UTC](https://forums.unrealengine.com/t/using-getfocusinterface-maintain-focus-on-guards-guards-no-longer-shoot/2626611/6 "2026-01-28T16:32:07Z")

</div>

This topic was automatically closed after 180 days. New replies are no longer allowed.

---

<div class="post-metadata">

**Author:** ![AlexNC](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/alexnc/32/1079075_2.png) [@AlexNC](https://forums.unrealengine.com/u/AlexNC)\
**Post date:** [October 14, 2026, 4:15pm UTC](https://forums.unrealengine.com/t/using-getfocusinterface-maintain-focus-on-guards-guards-no-longer-shoot/2626611/9 "2026-10-14T16:15:55Z")

</div>



---

<div class="post-metadata">

**Author:** ![FrozenInMTL\_Epic](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/frozeninmtl_epic/32/1181579_2.png) [@FrozenInMTL\_Epic](https://forums.unrealengine.com/u/FrozenInMTL_Epic)\
**Post date:** [October 14, 2026, 4:34pm UTC](https://forums.unrealengine.com/t/using-getfocusinterface-maintain-focus-on-guards-guards-no-longer-shoot/2626611/10 "2026-10-14T16:34:21Z")

</div>

Hello, sorry for the very late reply.

From what I can see, this is working as intended: you are controlling the guard’s behavior through the Focus function. If you want him to attack the player, you need either to do a race with Focus and Attack. Or you can use the Tether function to prevent him from moving.

```verse
using { /Fortnite.com/AI }
using { /Fortnite.com/Teams }
using { /Verse.org/SceneGraph }
using { /Verse.org/Simulation }

guard_static_attack_behavior := class(npc_behavior):
  OnBegin<override>()<suspends>:void =
      if:
          Entity := GetEntity[]
          GuardActions := Entity.GetComponent[guard_actions_component]
          GuardAwareness := Entity.GetComponent[guard_awareness_component]
      then:
          loop:
              Target := AwaitDetectedNPC(GuardAwareness)
              race:
                  # Keep the guard facing the target (LockFocus defaults to true).
                  GuardActions.Focus(Target)
                  # Shoots from the current position. No MoveInRangeToAttack, so no movement.
                  GuardActions.Attack(Target)
                  AwaitTargetForgotten(GuardAwareness, Target)
              # Stops a tight loop if Attack fails at once (for example, the target is no longer detected).
              Sleep(0.0)

  # Returns the first detected target that is not friendly.
  AwaitDetectedNPC(GuardAwareness:guard_awareness_component)<suspends>:entity =
      loop:
          for:
              Info : GuardAwareness.DetectedTargets
              Info.Attitude <> team_attitude.Friendly
          do:
              return Info.Target
          GuardAwareness.DetectTargetEvent.Await()

  AwaitTargetForgotten(GuardAwareness:guard_awareness_component, Target:entity)<suspends>:void =
      loop:
          Forgotten := GuardAwareness.ForgetTargetEvent.Await()
          if (Forgotten = Target):
              break

```

---

<div class="post-metadata">

**Author:** ![Bug-Reporter](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/bug-reporter/32/997076_2.png) [@Bug-Reporter](https://forums.unrealengine.com/u/Bug-Reporter)\
**Post date:** [October 14, 2026, 5:00pm UTC](https://forums.unrealengine.com/t/using-getfocusinterface-maintain-focus-on-guards-guards-no-longer-shoot/2626611/11 "2026-10-14T17:00:26Z")

</div>

FORT-946627 has been ‘Closed’. This is working as intended by design.
