Interest Engine: Open-Source C++20 NPC Attention Selection for Unreal Engine 5.8

Hi everyone,

I’ve been working on Interest Engine, a standalone C++20 attention-selection kernel for game NPCs, and I’ve recently released an Unreal Engine 5.8 adapter alongside it.

The idea is straightforward: the game handles perception, while Interest Engine decides which target deserves attention and when that focus should change.

The kernel evaluates perceived candidates using context, salience, and events, then applies temporal stabilization through hysteresis, switch margins, and optional minimum dwell time. It can acquire, maintain, switch, or release an attention target without constantly reacting to small score fluctuations.

The core is engine-independent, with deterministic decisions for the same inputs within a given build and diagnostic traces that explain the selection process.

For Unreal Engine, I built a native C++ adapter. It’s designed to work alongside existing systems such as AI Perception, EQS, and StateTree, rather than replace them.

I also put together a small showcase in Unreal Engine 5.8. The environment and events are authored, but all attention decisions are made by the actual C++ kernel at runtime.

Showcase video:

Project links:

Both repositories are open source under Apache 2.0.

I’d be interested in hearing from developers who have worked on similar NPC attention systems, particularly how you’ve approached temporal stability and target switching.