Я не знаю или не вижу класс OVRScript
, но не OVR
, а скорее член Script_1
?
И тогда вы захотите использовать GetComponent
на Front
, чтобы прикрепить к нему компонент.
// If possible rather drag your Script_1 in here directly via the Inspector
[SeializeField] private Script_1 src_1;
void Start()
{
// Now I would use find only as fallback
if(!scr_1) src_1 = GameObject.FindObjectOfType<Script_1>();
// then you want to assign the OVR field of the 'src_1' of type 'Script_1'
// and not use 'src_1.GetComponent<OVRScript>()' which would return
// the reference of an 'OVRScript' component attached to the same GameObject as the Script_1
//
// And you want to fill it with the reference of an 'OVRScript' attached to 'Front'
src_1.OVR = Front.GetComponent<OVRScript>();
}
(см. [SerializeField]
)
Было бы еще лучше, если вы прямо определите
public OVRScript Front;
, теперь, если вы перетаскиваете GameObject
, он a) проверяется, действительно ли к этому GameObject
прикреплен OVRScript
, в противном случае вы не можете его сбросить и b) вместо ссылки GameObject
ссылка OVRScript
уже сериализована и сохранена, так что больше нет необходимости в GetComponent
:
[SeializeField] private Script_1 src_1;
public OVRScript Front;
void Start()
{
// Now I would use find only as fallback
if(!scr_1) src_1 = GameObject.FindObjectOfType<Script_1>();
src_1.OVR = Front;
}