My AI moves forward from the backside of the model. Can anyone help?

I’ve tryed looking through script, navmesh agent settings and the model its self. Please help.

what i’m trying to say is that the head of my model is not the front, so the the backside is actually moving forward instead of the head. It moves to all the waypoints the way its supposed to but the backside moves towards the waypoints not the front.

using UnityEngine;
using System.Collections;

public class RolypolyAI : MonoBehaviour
{
public GameObject waypoints;
public Transform player;

private HashIDs hash;
NavMeshAgent NavMeshA;
Animator anim;

public float Distance;
public float Turnamount = 2;
public float Forwardamount = 2;
public float Speed 0.5;
public float Damping;
public int CurrentWaypoint;

void Awake()
{
	NavMeshA = GetComponent<NavMeshAgent>();
	NavMeshA.updatePosition = true;
	NavMeshA.updateRotation = true;
	
	waypoints = GameObject.FindGameObjectsWithTag("Waypoint");
	CurrentWaypoint = Random.Range (0, waypoints.Length);
	
	Distance = Vector3.Distance (player.position, transform.position);
	
	anim = GetComponent<Animator>();
	hash = GameObject.FindGameObjectWithTag (Tags.GameController).GetComponent<HashIDs>();
}

void Update()
{
	if (Distance < 5f)
	{
		Attack();
	}

	else
	{
		RandomizePatrol();
	}
}

void RandomizePatrol()
{
	NavMeshA.speed = Speed;
	
	if(Vector3.Distance(this.transform.position, waypoints[CurrentWaypoint].transform.position) >= 2)
	{
		NavMeshA.SetDestination(waypoints[CurrentWaypoint].transform.position);
		MovementManager(Vector3.zero);
	}
	else if(Vector3.Distance(this.transform.position, waypoints[CurrentWaypoint].transform.position) <= 2)
	{
		CurrentWaypoint = Random.Range (0, waypoints.Length);
	}
	else
	{
		MovementManager(Vector3.zero);
	}
}

void Attack()
{
	NavMeshA.speed = Speed;
	NavMeshA.SetDestination (player.position);
}

void MovementManager(Vector3 move)
{
	if(move.magnitude < 1f)move.Normalize();
	move = transform.InverseTransformDirection(move);
	Turnamount = Mathf.Atan2 (move.x, move.z);
	Forwardamount = move.z;
	AnimationManager(move);
}

void AnimationManager(Vector3 move)
{
	anim.SetFloat(hash.SpeedPRolypoly, 0.1f, Speed, Time.deltaTime);
}

}

[Nav Mesh Agent]

(Agent Size)
Radius: 3.02,
Height: 2,
Base Offset: 1.11,

(Steering)
Speed: 0.2,
Angular Speed: 120,
Acceleration: 8,
Stopping Distance: 0,
Auto Braking: True,

(Obstacle Avoidance)
Quality: High Quality,
Priority: 50,

(Path Finding)
Auto Traverse Off Mesh Link: True,
Auto Repath: True,
Area Mask: Everything

it could be the way you exported the model… draw a ray from the character to its transform.forward… if the ray goes out from the back you should check the model rotation on your modeling tool… in softwares like blender it is as simple as change some transforms options on the export panel…