In c++ UE4 has inbuilt system to do such things, take a look at PhysicsCollisionHandler.cpp
void UPhysicsCollisionHandler::DefaultHandleCollision(const FRigidBodyCollisionInfo& MyInfo, const FRigidBodyCollisionInfo& OtherInfo, const FCollisionImpactData& RigidCollisionData)
Make your own collision handler with your logic and put an entry in DefaultEngine.ini similar to this one:
[/Script/Engine.Engine]
PhysicsCollisionHandlerClassName=/Game/Blueprints/BP_CollisionHandler.BP_CollisionHandler_C