Problem with Vector3 and physics objects

So at the moment it seems as though as soon as I use Vector3 to move my PlayerController mesh object is just stops still when it hits other physics objects.

This is sort of annoying when the game I’m building relies on being able to ‘punt’ around a ball shaped physics object.

Oddly though transform.position.y += moveSpeed; seems to be able to hit the physics object perfectly, although moving this way means I cant get my playercontroller to move more than 1x the moveSpeed variable without hammering the assigned keyboard key.

Any help on this subject would be welcomed.

CharacterControllers are different from other physical objects; they will not interact with physical objects well, unless you add in all the additional scripting for it. Generally, moving a character with transform.position isn’t good practice, because the character’s movement doesn’t account for any objects in the way; if you would normally run into a wall, you would instead go through it.
The reason the ball moves is because the player’s collider is inside the ball’s collider, and the physics try to fix this by moving the ball away.

I personally find it better to use a custom Rigidbody character controller, which fully interacts with the game’s physics. If you want to try this, you can move it up to a top speed with AddForce( direction * (topSpeed - rigidbody.velocity.magnitude) );

However, if you want to achieve the same with a CharacterController, use the CharacterController.Move function, and when you collide with the ball, use AddForce on the ball.