Change the condition for when a Character is swimming

I need to change the condition for when a Character is swimming, that is using movement mode MOVE_Swimming. At the moment I’ve worked around this by using MOVE_Custom and copy/pasting PhysSwimming into PhysCustom in a custom character movement component. There seems to be quite a lot of situations where movement is changed, but i was wondering if there is an easier way to do this rather than overriding most functions in CharacterMovementComponent. If there is a sort of movement mode decision function some where.