Skip to main content
AI COMPANION SYSTEM
AI SYSTEM

AI COMPANION SYSTEM

Designed and implemented an AI companion system in Unreal Engine 5 using MetaHuman characters. The companion supports four player-directed behaviours: Follow, Wait, Distract and Attack—each designed around different gameplay situations.

Design Challenge

How can an AI companion support the player without playing the game for them?

I designed the companion around player-directed commands rather than autonomous problem-solving. Follow and Wait support positioning, while Distract and Attack provide tactical options that require the player to decide when and where to intervene.

Challenge visualization

My Contributions

System Design

Designed and implemented the companion command system across four behaviours: Follow, Wait, Distract and Attack defining behaviour rules, transitions, cooldowns and player-directed interactions.

Level Design

Built stealth and combat spaces around the companion abilities, using enemy placement, navigation and environmental layouts to create opportunities for distraction, avoidance and combat.

Characters & animations

Integrated the MetaHuman companion into gameplay and coordinated movement, rotation and animation states so her actions remained readable across following, throwing and combat behaviours.

UI/UX

Designed the four-command interface and supporting gameplay feedback, including the central aiming crosshair, distraction landing marker, enemy suspicion feedback and ability availability states.

Behaviour System — AI Companion

Player selects a behaviour for the companion

Behaviour system

AI Companion

Player selects a behaviour

  1. 01

    Follow

    Stay with the player

    Maintain a close follow distance

    1. Maintain distance

      Move to optimal position behind or beside player

    2. Adapt to player

      Adjust pathing and speed based on player movement

  2. 02

    Wait

    Hold position

    Remain still until recalled

    1. Hold position

      Stay in place and remain alert

    2. Await command

      Do nothing until the player gives a new command

  3. 03

    Distract

    Draw attention

    Create an opening for the player

    1. Find item

      Find the nearest distraction item

    2. Aim at target

      Rotate toward player's target location

    3. Throw item

      Throw to attract enemies

  4. 04

    Attack

    Engage the enemy

    Support the player in combat

    1. Select target

      Identify current enemy

    2. Attack

      Companion performs a melee attack on the selected enemy

    3. Enemy stunned

      Enemy is stunned for 3 seconds, temporarily disabling perception.

  • State logic
  • Behaviour Action

System Design Decisions

ABILITY COOLDOWNS

Problem

Distract and Attack could be repeatedly used to solve encounters without meaningful timing.

Solution

Added a 15-second cooldown after using Distract or Attack. The intention was to give the player time to act on the opening created by the companion before another intervention became available. A shorter interval would make repeated commands more dominant, while a longer interval could make the companion less useful within an encounter.

Result

The cooldown preserves the companion as a useful tactical option while preventing Distract and Attack from being continuously reused.

ENEMY PERCEPTION

Problem

Instant detection made stealth encounters too binary and gave the player little opportunity to react.

Solution

Designed enemy perception around a 70° focal vision cone and a suspicion meter that builds before full detection. The cone was intended to make enemy facing matter, giving the player opportunities to approach from outside the focal area. Gradual suspicion added a reaction window, allowing the player to notice the risk and reposition before being fully detected.

Result

The suspicion meter creates readable feedback and a reaction window before the player transitions from unseen to fully detected.

DIRECTED DISTRACTION

Problem

A fixed distraction location would limit the companion's tactical usefulness and reduce player control.

Solution

Designed a player-directed throw system. After selecting Distract, the player aims with the crosshair and previews the landing position. The companion retrieves the nearest distraction item, rotates toward the target and throws it.

Result

The player could direct distractions 360 around them, using enemy positioning and the environment to create their own openings

Connecting companion actions to enemy awareness

Stage
Description
Initial behaviour

Enemy suspicion relied only on sight.

Problem noticed

Enemy awareness relied only on sight, limiting how the companion could draw enemies’ attention away from the player.

Design change

I added hearing so enemies could respond to the sound of objects thrown by the companion and investigate the source.

Gameplay purpose

Give the player a way to direct enemy attention through the companion, creating opportunities to move past them.

Final Gameplay

Watch for the four companion commands: Follow, Wait, Distract and Attack. The feedback supporting player decisions: the distraction landing preview, enemy suspicion meter and ability cooldown states.

Final GameplayGameplay demonstration
Gameplay Demo
Top reference imageEnvironment
Bottom reference imageEnvironment

Project outcome

4/4

PLAYER-DIRECTED BEHAVIOURS

The standalone gameplay system demonstrated four companion commands that could support traversal, stealth and combat while keeping tactical decisions with the player

🚀
5
Iterations

What worked

  • ●Player-directed commands kept the companion useful without removing player agency.
  • ●Suspicion feedback created a readable reaction window during stealth.
  • ●Directed distractions let players create openings based on enemy positioning.
  • ●Cooldowns prevented Distract and Attack from becoming repeatable solutions to every encounter.
LEARNING

Designing companion AI required balancing usefulness with restraint. Each behaviour needed to provide meaningful support while leaving positioning, timing and tactical decisions in the player's hands.

SYSTEM TAKEAWAY

The strongest version of the companion was not the most autonomous one, but the one that responded clearly to player intent. Combining direct commands, readable feedback and constrained abilities allowed the companion to support encounters without replacing player decision-making.