Are you building your script under the level blueprint or is your character a separate class? If it’s the later there are two easy checks.
One is to copy your character and movement script to the level blueprint. Most stuff works there automatically because everything in the level listens to it without any special casting, but it’s not a good way to build long term. Good for a quick check though so long as your script isn’t casting all over the place.
The second is to double check your character class and make sure under the top level of it’s blueprint details that it’s set to receive data from player 0 by default, and that “Block Input” isn’t checked.
Oh, and just to be super thorough, just double check that the character and it’s components are set to “Movable” and not “Static”. That one seems to come up as surprising amount.