- Home /
 
 
               Question by 
               rxx1 · Feb 12, 2021 at 02:32 PM · 
                instantiateplayerinvisible-object  
              
 
              Instantiated object is not visible in game
NOTE: ignore black box, its for testing
Initial player: 
Instantiated player: 
 using UnityEngine;
 public class DeathCheck : MonoBehaviour
 {
     public GameObject paintBall;
     public GameObject expEffect;    
     public AudioSource splatSound;
     public Transform shotPoint;
     public Transform spawnPoint;
     public float ExpDeviation;
     public float cooldown;
     float cooldownTime;
 
     private void Start()
     {        
         gameObject.name = "Player";
         cooldownTime = Time.time + cooldown;
     }
     // Update is called once per frame
     void Update()
     {
         Debug.Log("Time: " + Time.time);
         Debug.Log("CooldownTime: " + cooldownTime);
 
         if (Time.time > cooldownTime)
         {
             if (Input.GetButton("Fire1"))            
                 Death();            
         }        
         
     }
 
     void OnCollisionEnter2D(Collision2D collision)
     {
         if (Time.time > cooldownTime)
         {
             if (collision.gameObject.tag == "Deadly")
                 Death();
         }
     }
 
     void Death()
     {        
         Respawn();
         Destroy(gameObject);
         Debug.Log("Boom!");
         splatSound.Play();
 
         //Creates 20 balls with random rotations
         for (int i = 0; i < 20; i++)
         {
             float dev = Random.Range(-ExpDeviation/2, ExpDeviation/2);
             float rotZ = i * 18 + dev;
             transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
             Instantiate(paintBall, shotPoint.position, transform.rotation);
         }
 
         //Explotion Effect
         Instantiate(expEffect, shotPoint.position, transform.rotation);
         
                
     }
     
     void Respawn()
     {
         GameObject newPlayer = Instantiate(gameObject, spawnPoint.position, Quaternion.identity);        
     }
 }
 
               
                 
                screenshot-2021-02-12-162802.png 
                (79.2 kB) 
               
 
                
                 
                screenshot-2021-02-12-163006.png 
                (93.4 kB) 
               
 
              
               Comment
              
 
               
              Where do you call Respawn()? or which instantiated player do you mean? 
 
               Best Answer 
              
 
              Answer by rxx1 · Feb 14, 2021 at 04:47 PM
I found the problem, my spawn point was on a different z position then my player, causing it to become invisible
Answer by logicandchaos · Feb 12, 2021 at 04:08 PM
I think the issue is with line 52: transform.rotation = Quaternion.Euler(0f, 0f, rotZ); here you are the transform of your player as a temporary variable. You should make a new transform for that Transform temp; outside the loop to create less garbage.
sorry I'm not sure I understand. could you send me an example?
Your answer