- Home /
[C#] An error occurs when trying to set a child to my GameObject in script. Why?
GameObject enemy = Instantiate(spawnObject,spawnPosition,spawnObject.transform.rotation) as GameObject;
enemy.transform.parent = transform;
The above code generates the expected result when I test my game in game mode, however I'm gettting this error message:
"Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption."
Yes, the spawnObject variable contains a prefab, however creating a new GameObject should have fixed the problem, I assume?
I typically give my Instantiated objects a parent to avoid clutter in the Hierarchy when I'm debugging, and I've never had a problem. Despite the warning, is the parent being set?
I did set the parent of my instantiated object to the transform, if that's what you mean. Also, during Game View, the hierarchy behaves as expected... so does everything else. $$anonymous$$aybe this is a Unity bug?
It does sound like a Unity Bug because I've also never had a problem with doing exactly what you are doing above.
This isn't a Unity bug. I think it's not clear at all why you're using spawnObject.transform.rotation
in Instantiate
if it's the actual prefab you're instantiating.
Your answer
Follow this Question
Related Questions
Make a simple tree 1 Answer
Spawning a prefab at another object's location 3 Answers
Staged Prefab can't "Apply" after adding using Gameobject as a variable 1 Answer
Accessing variable from parent 1 Answer
How to order newly created Objects? 1 Answer