# ReportNoiseEvent working on actors without AiPerceptionStimuliSource

**URL:** <https://forums.unrealengine.com/t/reportnoiseevent-working-on-actors-without-aiperceptionstimulisource/478648>\
**Category:** AI\
**Tags:** perception-component, unreal-engine, question\
**Created:** [February 11, 2021, 11:15pm UTC](https://forums.unrealengine.com/t/reportnoiseevent-working-on-actors-without-aiperceptionstimulisource/478648 "2021-02-11T23:15:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![KhalimWu](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@KhalimWu](https://forums.unrealengine.com/u/KhalimWu)\
**Post date:** [February 11, 2021, 11:15pm UTC](https://forums.unrealengine.com/t/reportnoiseevent-working-on-actors-without-aiperceptionstimulisource/478648/1 "2021-02-11T23:15:27Z")

</div>

Ai has hearing as sense. I make a generic actor (stock AActor) do ReportNoiseEvent and the Ai hear it. What does AiPerceptionStimuliSource do then? i thought that you needed to have that component to be detected by any sense by the Ai

---

<div class="post-metadata">

**Author:** ![chrudimer](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/chrudimer/32/918651_2.png) [@chrudimer](https://forums.unrealengine.com/u/chrudimer)\
**Post date:** [February 12, 2021, 1:55pm UTC](https://forums.unrealengine.com/t/reportnoiseevent-working-on-actors-without-aiperceptionstimulisource/478648/2 "2021-02-12T13:55:51Z")

</div>

Hi, from looking through the source code:

(-) AISense has a virtual function called `RegisterSource` which has no implementation, it is just `virtual void RegisterSource(AActor& SourceActors){}` which will be called every time a new actor gets registered

(-) All AI senses (e. g. sight, hearing, damage,…) inherit from AISense

(-) AISense\_Hearing does not override `RegisterSource`, meaning for hearing it won’t matter anything whether pawns get registered or not. AISense\_Sight does override `RegisterSource` though, so there it matters.

(-) ReportNoiseEvent is a static function inside AISense\_Hearing which means it can be called from everywhere and I don’t see any checks about the Instigator being registered.

* * *

So seems to me that AIPerceptionStimuliSource is for the sight sense and/or if you want to build your own sense inheriting from AISense

---

<div class="post-metadata">

**Author:** ![KhalimWu](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@KhalimWu](https://forums.unrealengine.com/u/KhalimWu)\
**Post date:** [February 12, 2021, 6:54pm UTC](https://forums.unrealengine.com/t/reportnoiseevent-working-on-actors-without-aiperceptionstimulisource/478648/3 "2021-02-12T18:54:20Z")

</div>

That seems that is the case, however i don’t understand why most tutorials say that AISense\_Hearing must be added as sense to the Stimuli component. Placebo?

---

<div class="post-metadata">

**Author:** ![chrudimer](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/chrudimer/32/918651_2.png) [@chrudimer](https://forums.unrealengine.com/u/chrudimer)\
**Post date:** [February 12, 2021, 9:38pm UTC](https://forums.unrealengine.com/t/reportnoiseevent-working-on-actors-without-aiperceptionstimulisource/478648/4 "2021-02-12T21:38:49Z")

</div>

No idea. I guess either it makes some difference somewhere between adding it or not, or who made the tutorial doesn’t know that it makes no difference and just thinks it needs to be added. So if the tutorial is from someone from epic who also works on AI then I would guess that it has some sense to add it, otherwise I would guess placebo =)
