This project allows you to easily and quickly add a AAA-standard player targeting system. Pulse Player Targeting is an EQS-driven targeting system for Unreal Engine 5. It handles the full loop of finding, scoring, locking, switching, and committing combat and interaction targets for a player character, and gives you clean hooks to drive your gameplay systems.
💪Strengths
Built on EQS. Targeting logic lives in standard Environment Query assets, so it is debuggable with the EQS testing tools, tunable by designers, and never a black box. Modular scoring. Mix camera-alignment, movement-alignment, priority, on-screen visibility, and stickiness tests, and more to author the behavior visually in the EQS editor. Soft-lock and hard-lock in one. A single cache feeds both the soft reticle and the hard-lock candidate pool, so switching targets and body parts reuses the same data. Performance-minded. Queries run on a timer with per-component staggering, the supplied tests are cheap, and the hot paths have been profiled. Multiplayer-ready. Client-side UX by default, with an optional server-authoritative commit channel and an overridable validation policy. Clean events. A best-target-changed event plus per-target event hooks drive highlights, audio, and AI awareness with no polling. Blueprint and C++. Async find nodes for Blueprint, BlueprintNativeEvent override points, and a fully exposed C++ API. Tested. Ships with an extensive automation test suite covering the selection, caching, switching, commit, and event logic. ✨Features
EQS generator that sources targetable actors from a tag-bucketed registry. Targeting EQS tests: directional alignment (camera / movement / actor forward via swappable contexts), per-target priority, camera-frustum visibility filter, and sticky-target hysteresis. Per-target priority (0 = highest) and Body-part targeting with one or more aim positions per target (default plus socket-anchored extras). Screen-space directional switching: flick to the next target or body part, with a configurable cone, cardinal snap, same-actor bias, and priority bias. Owner gameplay-tag gating: pause a query, or pin the locked target to the top of the cache while the query keeps refreshing. Blueprint async find nodes and equivalent C++ callback APIs. Demo Controls
Documentation