I’m new to Unity and C#.
I have a c# script that exposes a public GameObject variable. I then set this by dragging a prefab onto the variable in the Inspector.
When adding the script to an existing GameObject using AddComponent() during level start the script variable is initialized correctly from the Inspector entry, and the gameObject variable is Instantiatable from the component’s Start() call.
However, when adding the script to the same GameObject at runtime the Component’s public GameObject variable is NOT initialized properly and is left NULL, thus throwing a null exception during Instantiation.
Is this behavior to be expected? Is there a way round this? (the only ugly solution I could think of would be to pass the component a gameobject reference through a custom Init() function).
Thanks to you experts!