how would i make this work?

Basically i wrote a small bot script and it works but i need the enemy to always point towards the soldier, how would i do this, heres my code:

using UnityEngine;
using System.Collections;

public class BOT : MonoBehaviour {

public GameObject Soldier;
public GameObject Enemy;
public float Distance=100f;
public Rigidbody bulletPrefab;
public GameObject EnemyBarrelEnd;
public GameObject gun;
private Vector3 SoldierPos=new Vector3(0,0,0);
// Update is called once per frame
void Update () 
{
	SoldierPos=Soldier.transform.position;
	Enemy.transform.position=Vector3.Lerp(Enemy.transform.position, Soldier.transform.position,Time.deltaTime);
	animation.Play("soldierRun");
	Distance=Vector3.Distance(Enemy.transform.position,Soldier.transform.position);
	if (Distance<=5)
	{
		animation.Play("soldierFiring");
		Rigidbody rocketInstance;
		rocketInstance = Instantiate(bulletPrefab, EnemyBarrelEnd.transform.position, bulletPrefab.transform.rotation) as Rigidbody;
		rocketInstance.AddForce(Vector3.forward*10000);
	}





}

}

don’t you look for Unity - Scripting API: Transform.LookAt or Unity - Scripting API: Quaternion.RotateTowards?

Enemy.transform.LookAt(Soldier.transform);

LookAt Documentation

Have you look at the documentation on Transform.LookAt()? As per documentation: “It rotates the transform so the forward vector points at target’s current position.” It seems that this is what you’re after.

Here’s an example from the Unity’s doc – given in the link above;

    // This complete script can be attached to a camera to make it 
	// continuously point at another object.
	
	// The target variable shows up as a property in the inspector. 
	// Drag another object onto it to make the camera look at it.
	var target : Transform; 
	
	// Rotate the camera every frame so it keeps looking at the target 
	function Update() {
		transform.LookAt(target);
	}