Vector 3 and Translate problem

Hello i Have that kind of code:
void Start ()
{
Vector3 KierunkeStrzaluTmp = new Vector3(1,0,0);
tWektorStrzalu[0] = KierunkeStrzaluTmp;
KierunkeStrzaluTmp = new Vector3(1,-1,0);
tWektorStrzalu[1] = KierunkeStrzaluTmp;
KierunkeStrzaluTmp = new Vector3(1,1,0);
tWektorStrzalu[2] = KierunkeStrzaluTmp;
}

// Update is called once per frame
void Update ()
{

//Sposob w jaki porusza sie naboj
float ruch = szybkoscNaboju * Time.deltaTime;
transform.Translate(tWektorStrzalu[0] * ruch);

(of course there is more but here is problem:))
and that error:
Assets/_Skrypty/Naboje.cs(11,56): error CS0029: Cannot implicitly convert type UnityEngine.Vector3[ ]' to UnityEngine.Vector3’

I don’t know why Unity can’t handle with array of Vector 3 when Vector 3 as variable it don’t have. I need to use array or vector or something like that. I start with array but i counter this and don’t know why engine is calling this error. Please help ( i’m writing in C#)

UP. Really need help with this:( i dont want to use dozen of variables :frowning:

Try this one to force the type:

//Sposob w jaki porusza sie naboj
 float ruch = szybkoscNaboju * Time.deltaTime;
Vector3 tmpVector = tWektorStrzalu[0];
 transform.Translate( tmpVector * ruch);

PS: omg what language is this? lol

it’s Polish (there are some mistakes because i need to write without our special letters that Unity can understand everything:smile:):slight_smile: and thx for help it maybe help :smile: but i have another problem every single instance of this object with this script modify that tmpVector even after Instantiate. So now my bullets are waving. Is there a way to not modify a script in Instance after Instantiate??

ok can be closed it’s done on weird way but done:)