AIPerceptionComponent: attach it to character or controller?

Hi the AI Controller gets the AIPerception component and your pawn gets the AIPerceptionStimuliSource.
Check this Tutorial Series: Playlist

Hello, I’m implementing an AI and I’d like to use the AIPerceptionComponent. To me it sounds correct to add all the logic related to this component to a Controller. I see that other people (especially using BP) are attaching it to a Character instead.

Even in the Survival Sample Game implemented by Tom (A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums), this component is attached to the Character, not to the Controller (actually he is adopting the AiPawnSensing system but the main logic should be the same).

The only reason I see to attach it to the Character would be to specify different parameters (things like sight radius) directly in the character instances added to the scene. I don’t see any other reason to put it on the Character, I would go for Controller instead. Am I wrong?

Thank you for sharing the tutorial. I suppose it is also common sense to go that way. I just wonder why Tom’s tutorial implemented this logic on the character… anyway thank you. I’m accepting this answer (it would be great to have some reasoning behind this answer… but ok).

I’ve just released a tutorial about this topic:

Following Ikav answer, I decided to keep the component logic with the Controller.