Are variables automatically initialised?

When I declare something like:

var myVariable : Vector3;

In Update() will it be null, or have default 0 values for x, y, z?

Do I need to explicitly initialise all variables in Start()?

I believe those do, but it’s generally best practice to init just in case, I think. I know Objects, like arrays and such, are not, you’ll get null references.

It depends on whether it’s a value type or not. Value types such as primitives (float, int, etc.) and structs (Vector3, Color, etc.) have default values and cannot be null. Otherwise, reference type variables (things like classes and arrays) are null unless initialized.