Is Overlapping Actor Working?

Hi, Does “Is Overlapping Actor” or “Get Overlapping Actors” work?

I am using a collision capsule that is part of a blueprint actor that only contains a collisions capsule. I then move this capsule to various places to check if it overlaps with other actor objects.

In the code below, the “ComponentOverlapActors” node returns the landscape and a nearby static mesh building, but all other check nodes (“GetOverlappingActors” “IsOverlappingActors” return an empty object array or false).

Or is this a setting I’m missing in my capsule collision settings?

Many thanks,
Mac

59863-caps_ovly_dbg4.png

Nothing sticks out at me but only actors with collission settings set to overlap as well would register. If theyre set to ignore/no collision then they wont.

Hope this helps
Don’t forget to accept an answer that best clears your question up or answers it so when the community finds your question in the future via search/google they know exactly what you did to fix it/get it going.

Hello Mach45,

It looks like you don’t have Generate Overlap Events checked in your collision capsule settings. In order for Get Overlapping Actors to work, both your collision capsule, and the actor it is overlapping must have this option checked.
As far as IsOverlappingActors goes, there seems to be a bug with it always returning false, even if it is overlapping another actor. I’ve gone ahead and entered a bug report for this, UE-21412.

Have a great day,

Sean Flint

Hi, thanks for replies.

If IsOverlappingActors isn’t available at the moment, can I ask another question as I’m going to be running a lot of manual overlap checks.

Does “GetOverlappingActors” check every “GenerateOverlapEvents” enabled object in the level, or does it have some kind of short-listing mechanism for the actual collision capsule checks it makes to objects it knows are in the nearby area (otherwise that could be a lot of capsule overlap calculations).

Also, does enabling “Generate Overlap Events” on an actor increase general processing load (i.e. does it register it for some kind of overlap check on each tick).

Background: I want to place up to 30 objects in a localised area, check if any actors are blocking the requested locations and generate new locations in the local area if blocked. To do this, I thought I’d “GetOverlappingActors” once to create a short-list of objects in the area then could run “IsOverlappingActors” to quickly check the short-list for each location to see if any local actors were in the way (rather than using GetOverlappingActors each time). This is central to most action commands, so I need it be optimized.

Hello Mach45,

GetOverlappingActors does not check every object in the level. Also, enabling Generate Overlap Events does not cause a noticeable impact on the processing load.
The best way to accomplish what you are trying to do is to do individual GetOverlappingActors tests for each object that you are trying to spawn. Take the list of overlapping actors and check if it greater than 0, and if it is, then there is an object overlapping. Running GetOverlappingActors will not cause a noticeable change in performance.

Have a great day,

Sean Flint

Thanks… :slight_smile:

Dude, you just saved my evening. I was wondering for hours why GetOverlappingActors did not return anything until I found ytour post and set the overlap even flag. thanks a bunch!