Moving something on its forward direction

Hi there,

I am busy trying to accomplish a simple simple task that i cannot fathom ha ha. I have blocks in my game that can be a magnitude of sizes, from 1x1, to 1x5, 2x2 and more.

I am busy creating a shuffling effect for them, what i need to do is take their local forward and add to it with the blocks size + and offset. I kept looking to use transform.TransformDirection as this gives me the forward i require,

I am actually a very experienced programmer and generally good a maths but programming movement and the likes really stumps my brain. If you are helping me on this maybe you could point me in the direction of some good material on programming things like character controllers and camera rigs etc that would surely help me grow.

Thank you

public void ShuffleBlocks()
    {
        for(int i = 0; i < blocksToShuffle.Count; i++)
        {
            int rand = Random.Range(0, 2);
            if (rand == 1)
            {
                switch (blocksToShuffle*.name)*

{
case “1x1(Clone)”:
{
blocksToShuffle.transform.position = new Vector3(blocksToShuffle.transform.position.x, blocksToShuffle_.transform.position.y, blocksToShuffle*.transform.position.z)_
_blocksToShuffle.transform.eulerAngles += new Vector3(0, 180, 0);
}
break;
}
}
}
}*_

transform.forward is the forward of the object.
Try this on a empty script to see what you want:

 transform.Translate(transform.forward * 5 * Time.deltaTime) ;