The new
operator is also used to invoke the constructor for value types. Value-type objects such as structs are created on the stack.
This is not like Java. In C#, you can new a struct fearlessly. It's not terribly wasteful because it's created on the stack, not the heap.
Feel free to use new
in C# !
Unity3d: Vector3 Transform.position is a property and Vector3 is a struct type. So the get property returns a copy of Vector3.