void UpdateVisuals() { // this is only an initial method - update to use original raycasting // get side vector Vector3 sideVector = sideDirections[currentSide]; // initial position from this point out we should cast the rays Vector3 worldPos = (Vector3)Cuboid.GetPosition(currentPos, cuboid.Dimensions) * cuboid.cellSize - cuboid.CenterPoint; // gameObject.transform.localPosition = worldPos + sideVector * cuboid.cellSize; // basically we occupy the other cell gameObject.transform.localRotation = Quaternion.Inverse(Quaternion.LookRotation(sideVector)); }