Komponensek és GameObject-ek lekérdezése
// Saját GameObject lekérdezése:
GameObject go = gameObject;
// (Más GameObject is lehetne)
Rigidbody component; // Valami komponens változó
// (pl. Rigidbody, de más típus is lehetne)
// Komponens megtalálása...
component = go.GetComponent<Rigidbody>(); // egyazon GameObject-en
component = go.GetComponentInChildren<Rigidbody>(); // egyazon v. gyerek GameObject-en
component = go.GetComponentInParent<Rigidbody>(); // egyazon v. szülő GameObject-en
component = FindObjectOfType<Rigidbody>(); // a a teljes Scene-ben
// Eredmény null, ha nincs találat
Collider[] comoponents; // Valamilyen komponens tömbje
// (pl. Collider, de más típus is lehetne)
// Komponensek megtalálása...
comoponents = go.GetComponents<Collider>(); // egyazon GameObject-en
comoponents = go.GetComponentsInChildren<Collider>(); // egyazon v. gyerek GameObject-en
comoponents = go.GetComponentsInParent<Collider>(); // egyazon v. szülő GameObject-en
comoponents = FindObjectsOfType<Collider>(); // a a teljes Scene-ben
// Eredmény üres tömb, ha nincs találat
GameObject go = GameObject.Find("NameOfTheObject"); // NEM JAVASOLT
// Fő kamera lekérése:
Camera cam = Camera.main;
GameObjectek és komponensek ki- és bekapcsolása
bool active1 = go.activeInHierarchy; // GameObject maga és minden szülője aktív-e?
bool active2 = go.activeSelf; // A GameObject maga aktív-e?
// A GameObject aktív állaotának beállítása:
// Ez csak az adott GameObject-et állítja, a szülő GameObject-eket nem.
go.SetActive(true); // Bekapcsolás
go.SetActive(false); // Kikapcsolás
// Komponensek:
Collider collider = GetComponent<Collider>(); // Valami komponens (Más is lehetne)
bool isEnabled = collider.enabled; // Lekérdezés: Komponens be van -e kapcsolva?
collider.enabled = true; // Komponens bekapcsolása
collider.enabled = false; // Komponens kikapcsolása
// ⚠️ NEM MINDEN KOMPONENS TÍPUS KAPCSOLHATÓ KI ÉS BE ⚠️
GameObjectek és komponensek létrehozása és törlése
// Új GameObject létrehozása:
GameObject newGO1 = new GameObject();
GameObject newGO2 = new GameObject("Name");
// Komponens hozzáadása GameObject-hez:
SpriteRenderer sr = newGO1.AddComponent<SpriteRenderer>();
BoxCollider bc= newGO2.AddComponent<BoxCollider>();
// GameObject másolása egy prototípus alapján:
// Valahonnan kell egy referencia az eredeti GameObject-re.
// pl.: [SerializeField] GameObject original;
GameObject newGO3 = Instantiate(original);
GameObject newGO4 = Instantiate(original, position, rotation);
GameObject newGO5 = Instantiate(original, parentTransform);
GameObject newGO6 = Instantiate(original, position, rotation, parentTransform);
// GameObject és komponensek törlése:
Destroy(newGO1);
Destroy(sr);