- Home /
Destroy character controller and instantiate new one
Hello In the game I'm making, when the third person controller hits a box collider, I want this controller to be destroyed and another third person controller to be instantiated. I tested the script on the third person controller that came with unity - destroying this one and instantiating a new one and it worked. But when I use the script on any other controller the controller isn't destroyed although a new one is instantiated. (I have dragged it into the hierarchy correctly)
This is the script I used to destroy the character:
var thirdPerson : GameObject;
function OnTriggerEnter(other: Collider){
if (other.tag == "Player")
{
Destroy(thirdPerson);
}
}
Any ideas on what to do - I've been stuck for 5 days and I'm really don't know what's wrong!
Thanks, Laurien
Are you sure you dragged the right object onto thirdPerson in the Inspector? Are you sure the thirdPerson game object has the "Player" tag? As a side note, rather than Destory() and Instantiate(), why not just instantly translate the character to the new start position.
Answer by aldonaletto · May 17, 2013 at 03:41 PM
Maybe your character isn't tagged as "Player", or the thirdPerson reference isn't correctly set. Try this (trigger script):
function OnTriggerEnter(other: Collider){
if (other.tag == "Player")
{
Destroy(other.gameObject);
}
}
This code should destroy the object that entered the trigger if it's tagged "Player" - just be sure that the character has the right tag.
Your answer
Follow this Question
Related Questions
How can I debug gameObject destruction? 2 Answers
How do I Destroy a Child after Instantiating it? 1 Answer
Should I destroy and create objects from prefabs to create a "copying" gameplay mechanic? 0 Answers
The object of type 'Transform' has been destroyed but you are still trying to access it. 1 Answer
Destroy Without A Collision Or Trigger 2 Answers