Ошибка заключается в том, что в этой строке:
hit.collider.transform.parent.GetComponent<DoorScript>().count_v();
Вы пытаетесь вызвать родительский объект у объекта, который не имеет родительского объекта. В таком случае получаете null. Если вы хотите обратиться к корневому объекту, используйте свойство root. Типа:
hit.collider.transform.root.GetComponent<DoorScript>().count_v();
Что, к слову, можно сократить до
hit.transform.root.GetComponent<DoorScript>().count_v();
Если же у вас есть вероятность, что скрипта DoorScript вообще не будет на объекте с данным тегом, то от него проще отказаться:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class user : MonoBehaviour {
public float Distens = 0f;
void Update() {
if (Input.GetKeyDown(KeyCode.E)) {
Ray ray = new Ray (transform.position, transform.forward);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, Distens))
if (hit.transform.root.TryGetComponent(out DoorScript door))
door.count_v();
}
}
}