Keep rotation at (0,0,0) while transforming?

I have a code that allows AI to wander which works perfectly in a 3D space but in a 2D space it does not. I’ve been trying to rewrite the code in order to work with 2D but I’m mostly having issues with the objects rotation. I know the issue is based around transform.LookAt(waypoint); but the code does not work without it. I’ve tried changing it but it causes the player to drift out on the z axis rather than wander on the y and x axis. Here is my code:

using UnityEngine;
using System.Collections;

public class Wander : MonoBehaviour
{

    // Use this for initialization
    public float speed = 10.0f;
    Vector3 wayPoint;
    float range = 3.0f;
    //var wayPoint : Vector3;
   // var Range = 10;

    void Start()
    {
        //initialise the target way point
        Wandering();
    }

    void Update()
    {
        // this is called every frame
        // do move code here
        transform.position += transform.forward * speed * Time.deltaTime;
        if ((transform.position - wayPoint).magnitude < 3)
        {
            // when the distance between us and the target is less than 3
            // create a new way point target
            Wandering();


        }
    }

    void Wandering()
    {
        // does nothing except pick a new destination to go to

        wayPoint = new Vector3(Random.Range(transform.position.x - range, transform.position.x + range), Random.Range(transform.position.y - range, transform.position.y + range), Random.Range(transform.position.z - range, transform.position.z + range));
        wayPoint.z = 1;
        // don't need to change direction every frame seeing as you walk in a straight line only
        transform.LookAt(wayPoint);
        transform.Rotate(0, 0, 0);
        Debug.Log(wayPoint + " and " + (transform.position - wayPoint).magnitude);
    }
}

If you want the rotation of the object use this instead:

transform.rotation = Quaternion.identity;

and why say

transform.LookAt(wayPoint);
transform.Rotate(0,0,0);

Why not just say:

void Wandering()
     {
         // does nothing except pick a new destination to go to
 
         wayPoint = new Vector3(Random.Range(transform.position.x - range, transform.position.x + range), Random.Range(transform.position.y - range, transform.position.y + range), Random.Range(transform.position.z - range, transform.position.z + range));
         wayPoint.z = 1;
         // don't need to change direction every frame seeing as you walk in a straight line only
         transform.rotation = Quaternion.identity;
         Debug.Log(wayPoint + " and " + (transform.position - wayPoint).magnitude);
     }

If you want the rotation to be something else use it like this:

transform.rotation = Quaternion.Euler(x,y,z);
//OR
transform.rotation = Quaternion.Euler(new Vector3(x,y,z));