AI Perception System - Is it worth using?

I’m making a game with strong stealth mechanics, ie. partially obscured player, enemy AI checking out a suspicious movement, etc. But it seems that in the sight at least, you either see the stimulus or don’t (strength always starts at 1.0). And the system doesn’t seem to be easily extensible in Blueprint, and has no documentation to speak of.

So long story short, is the perception system actually worth using, or should I roll my own system out? Considering that it was last updated over a year ago.


From my point of view, the reason for being always 1.0 is for the fact it would be too limited to do it otherwise. What parameters should the engine consider in its calculation? Distance? Characters’ color? Size? Lighting and atmospheric conditions? Time of the day? … Too many to be actual practical.

So, it’s up to you to decide what strength actually depends on and how to calculate it. Only distance? Ok, so, let’s get the distances and a simple division and presto, distance based strength:

I’ve considered what you’re proposing before, and it’s a solution but still has some problems. Because now you have to essentially store the same data twice, and as far as I can tell one can’t determine which sense detected which stimulus, so you can’t have different suspicion rates for sight, sound, etc.

What would have been ideal is some sort of intermediate processing to output the strength value on a per sense basis. That way before the output came to our actor doing the perceiving we could set the strength of the perception by whichever criteria we chose.

This system seems fine for a game with basic stimuli systems, like a more run-and-gun FPS.

Which sense detected which stimulus:

And now, calc. the strength based on whathever stimulus was activated or updated.

Unreal gives you all the tools and materials you need, but it’s up to you to either make a shack or a Burj Khalifa.