C# SphereCast isn't Inaccurate

Hi everyone, I have been a using a SphereCast instead of a Raycast to try and make it more inaccurate. However my SphereCast doesn’t seem that inaccurate and still misses the object I want to hit. Any idea what is wrong with my script?

public float Distance = 100;

public RaycastHit hit;

if(Physics.SphereCast(gameObject.transform.position, 0.5f, transform.forward, out hit, Distance))

I figured it out. I switched transform.position to gameobject.transform.position since I’m using this with Unity’s default FPS character controller I want it to be relevant to that gameobject.