Floating pawn change speed on begin/ end overlap

Hi all,

I am making a simulator, where a drill bit has to be drilled through a tube/ hollow cylinder (representing bone). What I am trying to recreate is the resistance to drilling of the outside of the tube. So as the drill passes through the cylinder, resistance goes up (demonstrated by max speed decreasing), until it passes through the near side of the tube and into the middle, where speed goes back up, until it reaches the other side, where the speed goes down again etc.

The drill bit is a floating pawn (otherwise gravity is a pain) with a collider at the tip which is also the root component. The tube is a mesh with an auto convex collision added, and both are set to overlap all and generate overlap events.

On ‘begin overlap’, the speed slows down and notifies appropriately. However on ‘end overlap’, the speed does not increase again, though it notifies correctly. I have checked this twice- firstly without trying to set any speed changes, where it prints ‘in’ or ‘out’ correctly, and then again after adding the movement component. In this case, on overlap enter, it adjusts the speed and prints the new speed. On ‘end overlap’, it prints the new speed but doesn’t actually change speed.

I am wondering if it is because I am adding floating pawn movement twice. I have tried to set a true/false variable for when overlap has occurred and use that but it didn’t work. I’m sure it’s straight forward but I can’t figure it out/ find anything online to explain it.

Any suggestions are very much appreciated!