Hueggvo 3 Report post Posted April 25, 2020 Hola de nuevo, tengo una duda que en mi cabeza parecia más fácil xD. Tengo un objeto (Que no se destruye entre escenas) en una escena, el cual activa a otro objeto de la siguiente escena en determinado momento. He probado con 'GameObject.Find("Nombre_del_objeto").setActive(true)' pero no funcionó. También probé hacer un prefab de ese objeto y luego activarlo, pero tampoco. No se si tendrá que ver que el objeto sea un canvas, igualmente espero que me digais jeje. Share this post Link to post Share on other sites
J4v1v1g2 29 Report post Posted April 25, 2020 el comando es. SetActive tienes la s en minuscula. GameObject.Find("Nombre_del_objeto").SetActive(true); Share this post Link to post Share on other sites
Hueggvo 3 Report post Posted April 25, 2020 Lo se, pero en el Visual studio lo tengo bien. Share this post Link to post Share on other sites
J4v1v1g2 29 Report post Posted April 25, 2020 ahora que me fijo creo que te falta tambíen el tag del objeto, que yo sepa o buscas en objeto por el tag o porque lo tienes metido en en un GameObject, prueba lo del tag que me imagino que sera eso ^^ GameObject.FindGameObjectWithTag("Nombre_del_objeto").SetActive(true); Share this post Link to post Share on other sites
leocub58 208 Report post Posted April 25, 2020 47 minutes ago, J4v1v1g2 said: ahora que me fijo creo que te falta tambíen el tag del objeto, que yo sepa o buscas en objeto por el tag o porque lo tienes metido en en un GameObject, prueba lo del tag que me imagino que sera eso ^^ GameObject.FindGameObjectWithTag("Nombre_del_objeto").SetActive(true); No, puedes buscar un GameObject por su nombre tal y como lo tiene puesto arriba. @Hueggvo El error seguramente está en que el objeto está desactivado, cuando el objecto está desactivado GameObject.Find no lo encuentra. Otra cosa, por rendimiento no se recomienda utilizarlo en Update, ya que estarías ejecutándolo en cada frame. En su lugar, debes crear una variable GameObject y ejecutar el Find en el Start o Awake, para guardar el gameobject en caché y poder despues desactivarlo o activarlo como quieras. un pequeño ejemplo GameObject Objeto; void Awake () { Objeto = GameObject.Find("nombre del objeto"); } void Update () { if(Pasa algo){ Objeto.SetActive(true); } else{ Objeto.SetActive(false); } } 2 Share this post Link to post Share on other sites