Menu
CoddyTech

RequireComponent

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 47 de 85.

[RequireComponent(typeof(Rigidbody))], escrito encima de la clase de un script, le indica a Unity que el script no puede funcionar sin un Rigidbody en el mismo objeto:

[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
    Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}

Unity actúa cuando se añade el script a un objeto, desde el Inspector o con AddComponent: si el objeto no tiene un Rigidbody, Unity añade uno. Mientras Jumper esté en el objeto, el Inspector no permite eliminar ese Rigidbody. Así que GetComponent siempre encuentra uno, y Jumper no necesita ninguna comprobación.

El atributo no tiene efecto retroactivo: los objetos que ya tenían Jumper antes de que se escribiera la línea no reciben un Rigidbody hasta que se elimina y se vuelve a añadir el script. Un atributo puede indicar hasta tres tipos, como en [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], y una clase puede tener varios de ellos.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

Todas las lecciones de Fundamentos de scripting en Unity

Practica por tu cuenta: Playground de Unity