Is there a way to override the Vector3 class or edit it?

I want to optimize the way it works , because i do not like creating a new Instance of the object (Vector3) each time I want to modify a single property.

Sure. Define an extension method.

You don’t have to worry about creating an instance of a value type (a struct), as long as you are not boxing it . Also, you can easily overwrite the single element of the vector, it’s x,y,z are public variables

You can write extension methods. http://shattereddeveloper.blogspot.ca/2012/10/making-use-of-c-extension-methods-in.html

I wouldn’t call these optimizations, you’re actually adding complexity. The difference is negligible though, so don’t worry about it. There’s actually a good reason why Vector3 behaves the way it does ( http://forum.unity3d.com/threads/is-new-vector3-x-y-z-costly.105480/ )