# Begreppslista Unity
### Byggstenar i Unity
**GameObject** - ett objekt i ett Unity spel
**Komponent** - en funktion som tillhör ett *GameObject*. Finns färdiga komponenter samt egen-kodade komponenter i form av *Skript*
**Skript** - en fil med C# kod som utgör en komponent.
### Komponenter
**Rigidbody** - en komponent som hanterar fysik-funktioner. Gör att objektet beter sig som ett fysiskt objekt utifrån krafter.
**Transform** - en komponent som alla GameObjects har. Representerar objektets *position*, *rotation*, och *storlek (scale)*.
### C# skript
`Vector3` - en vektor i 3 dimensioner. Består av tre siffror: *x,y,z*.
`Vector2` - en vektor i 2 dimensioner. Består av två siffror: *x,y*
`AddForce(Vector3 force)` - metod som applicerar en kraft i given riktning.
`Start()` - metod som anropas när ett objekt skapas i en scen (ofta när spelet börjar).
`Update()` - metod som körs varje bilduppdatering
`FixedUpdate()` - metod som körs varje fysikuppdatering (50 gånger per sekund)
`OnCollisionEnter(Collision collision)` - metod som anropas när objektet kolliderar med något, givet att något av objekten har en rigidbody.
`Time.deltaTime` - variabel som representerar tiden sen senaste uppdatering i sekunder
`GetComponent<Component>()` - metod som returnerar en komponent på ett objekt. Typen av komponent anges inom <>. Exempel: `GetComponent<Rigidbody>()`
`Destroy(GameObject objekt)` - metod som tar bort objektet som anges inom paranteserna.
`gameObject` - variabel som representerar GameObject:et som skriptet sitter på
### Exempel
Få tag på rigidbodyn på samma objekt:
```
Rigidbody myRigidbody = GetComponent<Rigidbody>();
```
Få tag på Enemy-komponent på ett annat objekt
```
GameObject otherObject;
Enemy enemy = otherObject.GetComponent<Enemy>();
```