Rotate a vector relative to itself

I have a plane defined by transform.forward and transform.right, with 0 degrees corresponding to the forward vector and positive 90 degrees to the right vector.

How can I create a third vector rotated in this plane. A rotation of 0 degrees would mean the vector is identical to transform.forward, a rotation of 30 degrees would mean it forms a 30 degree angle with the forward vector.

In other words, I want to rotate the forward vector relative to itself, in the plane it defines with the right vector.

You need to rotate it around the cross product vector - in this case it will be transform.up - which means this documentation has an almost exact example :slight_smile:

   var newVector = Quaternion.AngleAxis(30, transform.up) * transform.forward;