The way I see it for your system, you’ll be forced to give both the character and the projectile a reference to their team.
How to do that?
When your Controller receives its Team variable, it gets its ControlledPawn, it casts it to your type of Character and give him its Team.
When spawning a Projectile (I guess you’re spawning it on the Character?) you can now give it its team since the character has a reference to its team.
When a projectile hits an actor, cast it to your character type, if it succeeds, check his team. If the team is not equal to the team of the projectile, deal damage to the actor hit, if not just destroy the projectile.