I’m new to programming in general, and I wanted to ask about the new keyword. I saw it’s being used in this lecture, but I never got an explenation for it. I tried to search for it online, but the answers seem super complicated for me, so is there is dumbed down explenation that someone could give to me about it? It’s just a missing puzzle piece for me to wrap my head around it.
new
creates a new instance of the type. new Vector3();
- for example - creates a new instance of Vector3
. Some types require more information in order to be created. The above will create a new Vector3
with x, y and z all set to 0. new Vector3(10, 20, 30);
will create a new instance of Vector3
with x = 10, y = 20 and z = 30 because this specific constructor of Vector3
takes those values.
Not quite sure what more you’d like to know. Feel free to ask
Yeah, that’s all I wanted to know, I just didn’t know when and where it should be used. This is pretty self-explanatory, thank you very much. It’s just weird it didn’t need to be used until now.
We shouldn’t use it for things like MonoBehaviour
and ScriptableObject
. Unity doesn’t like it. For those we use Unity’s Instantiate
. In Unity, most of the instances you would want is already available. A lot of the time we use something like Vector3.zero
which is a reference to an existing instance that we can use.
In normal C#, we would use the new
keyword more often.
However, as bixarrio mentioned, Unity comes with its own rules. When working with Unity classes, we rarely use it. For structs such as Vector3, we do use it. (I currently don’t know if there is any exception.)
See also:
- DotNetPerls: C# new keyword
This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.