How do I sort out this tracking actuator?
1. Select a plane and create a Navmesh.




2. Add game property to object (the object can be located in another layer and the property can be any type you need).



3. Configure the logic bricks for the tracker object with steering actuator.



4. Finally the script.

tracker.py.

from bge import logic
class Tracker():
    def __init__(self, controller):
        print('init')
        self.objective_list = [obj for obj in logic.getCurrentScene().objects if 'objective' in obj.getPropertyNames()]
        self.actuator = controller.actuators['seek']
        self.actuator.navmesh = logic.getCurrentScene().objects['Navmesh']
        self.actuator.behavior = 3
        self.actuator.selfterminated = True
        self.tracking_obj = False
        self.colSensor = controller.sensors['Collision']

    def change_objective(self):
        if self.objective_list:
            return self.objective_list.pop()
        return None

    def main(self, controller):      
        if self.colSensor.positive:
            print('HIT..')
            self.colSensor.hitObject.endObject()
            self.tracking_obj = False
        if self.tracking_obj:
            print('seeking')
            return
        print("Getting objective")      
        self.actuator.target = self.change_objective()
        controller.activate(self.actuator)
        self.tracking_obj = True

def main(controller):
    if not 'init' in controller.owner:
        controller.owner['tracker'] = Tracker(controller)
        controller.owner['init'] = True
    controller.owner['tracker'].main(controller)


Blend File