How to set up a priority list for a targeting system


I’ve been working on a targeting system (3d LoZ style) and I am trying to work on a system which prioritises some targets over others. FYI, right now, all characters, including the player, are children of a base character blueprint class and they all have the ability to target.
For the player, the priority list needs to go through a few questions (in order of priority) before they can target onto an object:

  1. what is targeting the player right now?
  2. what is an enemy (which is a specific actor)?
  3. what is the closest to the player?

With these queries, a priority list of actors is created with the first being what the player will target first, then the next one can be targeted instead by pressing a button.

I already have a targeting macro that can be executed afterwards, I’m just a little stumped on how to set this system up in blueprint. Any ideas? Would I have to use a behaviour tree?