My AI Script doesn't make my AI turn.

Hey guys,

Today I tried to make my own AI script. What is does, is it turns the slimecube when it hits the wall, so it won’t get stuck. Here is the script:
using UnityEngine;
using System.Collections;

public class PassiveSlimes : MonoBehaviour {

	public bool isJumping;
	public bool isColliding;
	public int jumpTimer;
	public int jumpIncrease;
	public int rotateTimer;
	public float jumpForce;
	public float yRotation;
	public int materialSpawnTimer;
	public GameObject MaterialToSpawn;
	public Rigidbody rb;

	// Use this for initialization
	void Start () {
		rb = GetComponent<Rigidbody>();
		jumpIncrease = Random.Range(1,5);
	}
	
	// Update is called once per frame
	void Update () {
		if (isColliding == false) {
			transform.position += transform.right * 1 * Time.deltaTime;
		}
		if (jumpTimer == 600) {
			rb.AddForce(transform.up * jumpForce);
			jumpIncrease = Random.Range(1,5);
			jumpTimer = 0;
		}
		jumpTimer += jumpIncrease;
		materialSpawnTimer += 1;
		if (materialSpawnTimer == 500) {
			Instantiate(MaterialToSpawn,this.transform.position,this.transform.rotation);
			materialSpawnTimer = 0;
		}
		transform.rotation = new Quaternion(transform.rotation.x,yRotation,transform.rotation.z,transform.rotation.w);
	}

	void OnTriggerEnter (Collider col) {
		if (col.gameObject.tag == "Wall") {
			yRotation = Random.Range (20,180);
			isColliding = true;
			GetComponent<Rigidbody>().transform.eulerAngles = new Vector3 (GetComponent<Rigidbody>().transform.eulerAngles.x, yRotation, GetComponent<Rigidbody>().transform.eulerAngles.z);
			//yRotation += 90;
			transform.position += transform.right * -1 * Time.deltaTime;
			//transform.rotation = Quaternion.Lerp(transform.rotation, new Quaternion(transform.rotation.x,yRotation,transform.rotation.z,transform.rotation.w),Time.deltaTime * 120);
		}
	}

	void OnTriggerStay (Collider col) {
		if (col.gameObject.tag == "Wall") {
			isColliding = true;
			//yRotation += 10;
			transform.position += transform.right * -1 * Time.deltaTime;
			//transform.rotation = Quaternion.Lerp(transform.rotation, new Quaternion(transform.rotation.x,yRotation,transform.rotation.z,transform.rotation.w),Time.deltaTime * 120);
		}
	}

	void OnTriggerExit (Collider col) {
		if (col.gameObject.tag == "Wall") {
			isColliding = false;
		}
	}
}

If my AI hits a wall, the problem is, it won’t activate the IsColliding boolean, it doesn’t turn my guy at all and the yRotation won’t change too. At the moment, I know it uses OnTriggerEnter etc, but I tried using OnCollisionEnter(Collision col) too, but that didn’t work either. Does anyone know what I should do?

–Lucky

I finally found out what was wrong. I forgot to add a kinematic rigidbody to the walls…