[RESOLVED] I am making a mini soccer game using a power up, soccer ball and blockers

ABall* Ball = Cast(OtherActor);
ASoccerGameCharacter* Player = Cast(OtherActor);

So, the OtherActor is what? The ball or the player? Without checking the cast or tag or anything else, how can you know?

ASoccerGameCharacter* Player = Cast<ASoccerGameCharacter>(GetWorld());

This is not how you get the player character. The cast fails. Player is null. Trying to access CharacterSphere or PowerUpIsCollected will cause a crash.