Made an object with only a mesh and a collision sphere. Created another volume on my character for the specific purpose of detecting this type of object.
Currently, the begin event fires normally and I see the results of the delegates on both objects. When I exit the sphere, however, no end event is fired on the character, only on the object. As a test, I assigned a print statement on the character blueprint instance of the volume to the overlap end event and it returns properly. This tells me that I must be doing something wrong in code, somewhere, but it all looks fine.
Here are the delegate assignments:
InteractableCapsule->OnComponentBeginOverlap.AddDynamic(this, &ADefaultCharacter::OnCapsuleOverlapBegin); InteractableCapsule->OnComponentEndOverlap.AddDynamic(this, &ADefaultCharacter::OnCapsuleOverlapEnd);
The function definitions in the header file:
UFUNCTION() void OnCapsuleOverlapBegin(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult); UFUNCTION() void OnCapsuleOverlapEnd(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);
If anyone thinks it could be the problem, I can also put the delegate functions. As always, any help would be greatly appreciated as this has been giving me ulcers.