I would advice against changing the movement component. You already have several ways to circumvent this which although “hacky” are not as bad as commenting lines in engine provided code:
- Use your initial approach with 2 colliders. If the size difference bothers you, make the original collider not interact with the boxes at all or disable it while launching.
- Make your own movement component and override the method in question. Quite involved and some methods are not virtual.
- Change the movement method - use Set Actor position each tick to avoid going through character movement component at all.
- Use root motion. (not sure if will work)