NEBR, уже передал основную идею, но поясню почему так:
Цитата API script reference
Object.Instantiate
public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);
а когда ты складываешь G_cheker_position.position.x + G_cheker_vector.x - ты получаешь значение типа float (Vector3.x это float)!! Что естесссна не соответствует структуре API функции.
Поэтому можно сделать как NEBR, предложил, если нужно обнуление остальных частей вектора.
Если нет - тогда так:
Код
if(col.gameObject.tag == "Player"){
Vector3 newPos = G_cheker_position.position;
// изменится только х координата, остальные части вектора будут равны G_cheker_position, а выставлены в ноль.
newPos.x += G_cheker_vector.x;
Instantiate(G_cheker, newPos, G_cheker_position.rotation);