C++ OnComponentEndOverlap never called

I’ve also experienced the same issue, anyone with solution?

Hi there,

As per the title I am having an issue with a C++ defined function being called via OnComponentEndOverlap. A blueprint binding works perfectly fine however.

I have done a little bit of digging and it looks to be an issue during serialization but I couldn’t really understand the full extent of what is going on.

The binding is done in my constructor and goes as follows:

if (!HasAnyFlags(RF_ClassDefaultObject))
{
	PlanetStreamingZone->OnComponentBeginOverlap.AddDynamic(this, &ACBasePlanet::OnEnterPlanetStreamingZone);
		
    PlanetStreamingZone->OnComponentEndOverlap.AddDynamic(this, &ACBasePlanet::OnExitPlanetStreamingZone);
}

In the above set of code the BeginOverlap is called with no issue it is just an issue with end overlap.

Happy to provide the project if need be as well.

Let me know if there is anything else you need!

Other Info

Project Version: 4.16.2

OS: Windows 10

Hey everything seems fine, this code must work! :slight_smile:
I guess onexit fuction input signatures are good and match with engine defaults (but actually im sure, because if not compiler should throw error :confused: )
Are you sure onbeginoverlapp is called?

Collision settings are ok? No other collision will override your end overlap? (I mean bigger sphere in character which is not ending overlap at that moment)
Collision trigger volumes in your character is attached correctly and updating with movement?
(Sometimes if you forgot to attach collision triggers they has some weird relative location)

Atleast try full rebuild, maybe constructor was cached and not updated or something :slight_smile:
I have no idea actually, if you not miss any other thing, this code must work…

@AmphDev

Have tested BeginOverlap and it’s completely fine, have done a full rebuild and had the same issues.

No other collisions are overriding.

On Actor End Overlap works fine just not OnComponentEndOverlap. The binding for per component end overlap appears to be being removed somewhere. (Have stepped through it being called, it exists at start then no longer exists when it is called)

Weird, im using oncomponent overlapping in many actor and perfectly working.

No clue what happens in your project :confused:
I know this is not so helpfull but i really have no idea why your bind not working.

For those going down this rabbit hole, my mistake was that I did not declare the function to be a UFUNCTION() in the header.

Once I did that, it worked :slight_smile: