I have two objects: the character and a intractable object. The character has a capsule specifically for checking overlap with intractable objects. The intractable object is made of a mesh and a sphere collision volume. Both objects are created from blueprints that inherit from their respective C++ class.
This is a picture of the settings on the character’s capsule checker:
Here is the collision settings on the intractable object:
Here is a code snippet of the creation of the volume and setting up the begin and end events for the checker volume:
InteractableCapsule = ObjectInitializer.CreateDefaultSubobject<UCapsuleComponent>(this, TEXT("Interactable Collision"));
InteractableCapsule->AttachTo(RootComponent);
InteractableCapsule->SetRelativeScale3D(FVector(2.1f, 2.1f, 2.1f));
InteractableCapsule->OnComponentBeginOverlap.AddDynamic(this, &ADefaultCharacter::OnCapsuleOverlapBegin);
InteractableCapsule->OnComponentEndOverlap.AddDynamic(this, &ADefaultCharacter::OnCapsuleOverlapEnd);
I can confirm the event is firing on the intractable object as it prints the test string I’ve added. On the character side, I have not been able to get any response, whatsoever. I am at a total loss for why this is the case.
Possibly related and also equally maddening: when placing the intractable in the level, the collision sphere snaps to a completely separate static mesh in the level, regardless of the collision being attached to the root of the object (the mesh). Just in case, here’s a picture of that, as well- the one I’ve correct is on the left, the newly placed on is on the right, with the sphere collision poking out of the ground:
Any thoughts on why this would happen? There are so few steps, I have no idea where I could have possible messed this one up.