How do I Instantiate at a transform?
Here is my script:
#pragma strict
import UnityEngine.UI;
var charController : CharacterController;
var onoff : boolean;
var testObject : GameObject;
var respawnTransform : Transform;
var Player : GameObject;
var fpscontroller: GameObject;
static var playerIsDead = false;
static var playerIsRespawned = false;
function Start ()
{
charController = gameObject.GetComponent(CharacterController);
Player = GameObject.FindGameObjectWithTag("Player");
}
function Update ()
{
if (playerIsDead == true)
{
onoff = false;
charController.enabled = false;
if (onoff == true)
testObject.active = true;
if (onoff == false)
testObject.active = false;
Destroy(Player);
RespawnPlayer();
}
}
function RespawnPlayer ()
{
Instantiate(fpscontroller, respawnTransform, Quaternion.identity);
}
@script RequireComponent(CharacterController)
I get this error when I try instantiate my fpscontroller: Assets/RespawnMenuV2.js(41,16): BCE0023: No appropriate version of 'UnityEngine.Object.Instantiate' for the argument list '(UnityEngine.GameObject, UnityEngine.Transform, UnityEngine.Quaternion)' was found.
Answer by scottsniper77 · Apr 11, 2016 at 08:00 PM
I found a more efficient way around this but it still has errors The new problem is at: http://answers.unity3d.com/questions/1169212/why-is-my-respawn-script-not-working.html
Answer by jni97 · Apr 10, 2016 at 10:14 AM
You can use
Instantiate(fpscontroller, respawnTransform.position, Quaternion.identity);
because the Instantiate method takes the position, not the hole transform. And a Transform is holding the position, rotation and scale.
I am no longer getting any error but my script will still not work and while it is running it comes up with two errors.NullReferenceException: Object reference not set to an instance of an object PlayerStatsV2.Start () (at Assets/PlayerStatsV2.js:22) and UnassignedReferenceException: The variable fpscontroller of Respawn$$anonymous$$enuV2 has not been assigned. You probably need to assign the fpscontroller variable of the Respawn$$anonymous$$enuV2 script in the inspector.
even though i have assigned the fpscontroller var.
This error looks like it isn't assigned and I can't see an assignment in the script above. Do you assign the fpscontroller variable in the inspector?
Do you assign the fpscontroller from another script? If yes, you should check if it is assigned there and after it was assigned call the RespawnPlayer.
it is assigned and it inst being assigned by a script. I dragged it in to the inspector
Your answer
Follow this Question
Related Questions
How to get the position of a new Instantiated prefab 0 Answers
Having trouble with instantiating bullets at multiple points via a list of transforms. 1 Answer
Im trying to set a spawned enemy a transform on another script 0 Answers
Gameobjects instantiating in the wrong position 0 Answers
Child Instantiated GameObject to GameObject hit by raycast 1 Answer