If I have a vector such as (0,0,1) and I get its ‘right’ equivalent I should get something like (1,0,0), its left would be (-1,0,0), this is just the simplest case there may be more complex scenarios such as (0.2, 0.3, 0.5), so on and so forth.
In a 2D space - Vector2, or Vector3 with one coordinate fixed at 0 - you can get the right and left vectors with simple transformations:
// original vector in the xz plane (y = 0):
var forward: Vector3 = Vector3(0.5, 0.0, 0.8);
// transformed vectors right and left:
var right = Vector3(forward.z, forward.y, -forward.x);
var left = -right;
For a full 3D vector, however, there’s no predefined left/right directions - you must set some reference, usually the up direction. Having the up direction, you can calculate the right and left vectors using a cross product:
// original vector:
var forward: Vector3 = Vector3(0.5, 0.7, 0.8);
// up direction:
var up: Vector3 = Vector3(0.0, 1.0, 0.0);
// find right vector:
var right = Vector3.Cross(forward.normalized, up.normalized);
var left = -right;
NOTE: I never remember the correct order of the Cross parameters; if the right vector is pointing to the left, just swap the parameters.