If I did not understand you wrong, I think by saying “Target Lock On” you mean you want the controlled character to keep facing the enimy when doing all kinds of actions, is that correct?
If you can find a way to get the location of the nearest enimy (say, enimy.location), then everything can be very simple using blurprint:
1.You first need to get the proper roation for your character using “Find Look at Rotation” function. The input “start” can be computed using function “GetActorRightVector” on your character, and the input “target” should be a vector computed as “enimy.location - yourcharacter.location”.
2.Then you just need to set your character facing (SectActorRotation(your character, rotator)) by applying the above rotation to your character.
Note that you may need to update these values using the tick event as they are constantly changing.