On hear noise event not working in 4.5

After I migrated to the initial release of 4.5, my bots were no longer able to hear noises; on see pawn event still works just fine.

I am using 4.5.1-2336687+++depot+UE4-Releases+4.5

Another user experiencing the same problem had this to say “So, i tried to debug the sourcecode, and i was a bit lost in there, cause i could not find out how the ManagerTick - method in the PerceptionSystem is called (cause it doesnt get called and that seems to be the root cause to the problem).

Hi nabiul,

How are you attempting to use the on hear noise event? Can you post a screenshot so I can attempt to reproduce this on my end?

I have an aggro service on my bot that binds to onhearnoise.

Hi nabiul,

Do you have any “Finish execute” nodes to mark the action as successful?

No. Just so we’re clear, this exact AI worked in 4.4. The behavior is that when the bot hears me, it walks to the noise location, and when it sees me it stops moving and shoots me, if it then looses sight of me it walks to my last known location. The onseepawn event still works, and the bots will start shooting and chasing me when they see me.

Try adding a finish execute to the end with “success” checked to true, see if that works.

In the service? I don’t understand, it’s not possible to add finish execute in a service.

The bots actions are independent from the service which has the sensing events, and the actions all have finish executes.

You see the print string node after the onhearnoise event, it does not trigger.

Ok I’m following now, so your onhearevents are being called in your player character and not in a specific task? I am trying to understand the flow of logic you have in this specific blueprint so it will make it easier when I know where the blueprint is actually located. Additionally, I’m not sure how viable running a tick into a Do Once is. It triggers the one time then you have a tick running an empty command repeatedly. Having said this, How large is your pawn sensing component hearing radius? How is your sensing component set up (components tab>details pane)?

No, the events are being called in the upper most service in the behavior tree of the bot, see the image.

The idea behind the do once is that the binding to the sensing events is only done once; I thought that once bound the events trigger independently of the tick.

The hearing radius is quite large, 10000 units, 15000 with line of sight.

Is there somewhere I can just upload my project, this would be a lot easier with the actual files.

Hi nabiul,

If you upload them to a trusted FTP server such as dropbox and provide the link I would be happy to have a look at it.

Hi nabiul,

I was able to reproduce this on my end and have entered a bug report, UE-4814 to be assessed by the development staff.

Thanks, can you please have a look at my other question.

Hi nabiul,

I have seen that Tim Hobson is assigned your other question. Tim will be able to assist you further.

This has now been resolved by @Mieszko in epic/master branch (https://github.com/EpicGames/UnrealEngine/commit/b5047580cb9185677782b21d0cd473958bbe525d).

I went ahead and tried his fix on 4.5.1-src by changing the Engine\Source\Runtime\AIModule\Private\Perception\AIPerceptionSystem.cpp by removing lines 35-39, which seems to bring the desired functionality back.