So, erstmal danke für Eure Hilfe Ich hab jetzt eine gute Lösung gefunden, die zwar vermutlich komplizierter ist als sie hätte sein müssen, aber wunderbar funktioniert
Für die, die´s vielleicht auch mal brauchen werden:
Ich habe kein "Cast to" sondern ein Interface benutzt und mit ihr zwei Funktionen entwickelt. Eine davon nannte ich "Sicht-betreten" und gab ihr zwei Inputs - einem Integer für die Fraktion und ein Actor-Input namens "Actor", durch den bestimmt wird, welchem Character (nennen wir ihn mal Character A) das Sichtfeld zuzuordnen ist.
Die andere Funktion nannte ich "Angriff". Sie soll dann dem Typen mit dem Sichtfeld (Character A) sagen, dass Character B feindlich ist. Sie hat ebenfalls zwei Inputs - einer davon als Actor und der andere ein Vector für die Location des Feindes (hier Character B)
Betritt also Character B das Sichtfeld von A, so wird durch ein Overlap-event die "Sicht-betreten" Funktion getriggert und per Message als Event im Blueprint von Character B ausgelöst. Hierbei wird durch eine Integer-Variabel die Fraktionszugehörigkeit von Character A bestimmt und in die Funktion übernommen. Als nächstes wird im Blueprint von Character B über ein "Equal" (==) überprüft, ob die Fraktionszugehörigkeit identisch ist. Durch ein (get Actor Location) kann der Funktion die Position von Character B mitgeteilt werden. Bei dem Actor-Input fügt man ein "Reference to self" hinzu (Dadurch kann Character A später besser auf den Pawn (Character B) zugreifen). Wenn die Fraktion nicht identisch ist, so wird die Funktion "Angriff" per Message an Character A zurückgesendet und löst somit ein Event aus. Dank den Inputs weiß man nun auch, welcher Pawn gemeint ist und wo dessen Position ist - somit hat man alle erforderlichen Informationen, wenn Character A dann seinen "Feind" verfolgen will
Vielleicht hilft ja meine Erklärung dem ein oder anderem, ansonsten gibt es sicherlich auch noch andere Methoden. Ich denke, Fraktionen und Gruppierungen werden nicht nur in meinem Spiel vorkommen. Sicherlich gibt es auch schnellere und einfachere Methoden, aber diese hier ist definitiv sicher und lässt keine Wünsche offen und lässt sich beliebig anpassen oder auch für andere Zwecke übertragen Die Verbündeten werden normalerweise durch die Überprüfung der Fraktionen nicht auch verfolgt (was aber schnell machbar wäre). Dieses Prinzip lässt sich auf jedes Blueprint übertragen, auch, wenn etwas kein NPC ist und funktioniert bei Spielern, NPCs und einfachen Actorn gleichermaßen gut.
Und nochmal danke für die Antworten, auch, wenn ich mit meiner Methode jetzt doch andere Wege eingeschlagen habe
LG UnrealUser