Quick Start
By the end of this page you'll have two actors on opposing teams that correctly read as enemies - the foundation everything else builds on. This needs only the agent component and some tags; declared teams, player auto-assignment, and cosmetics are separate How-To pages.
CrimsonCommon and CrimsonTeams enabled, and a couple of team tags to use (e.g. Team.Red, Team.Blue).Team.Red and Team.Blue (or edit Config/DefaultGameplayTags.ini directly). Any tag strings work; if you also use CrimsonCore, matching its tag names keeps content portable.1. Enable the plugin
Open Edit -> Plugins, type Crimson, tick CrimsonTeams (and CrimsonCommon, its dependency), and restart the editor. For a Blueprint project that's the whole install.
C++ projects: add the module to your build file.
// YourGame.Build.csPublicDependencyModuleNames.Add("CrimsonTeams");
2. Make two actors team agents
Add a Crimson Team Agent Component to each actor (prefer the Player State for players - it survives respawns). Give one Team.Red and the other Team.Blue, and mark each as hostile to the other.
JoinTeam, AddHostileTags, ...) are BlueprintAuthorityOnly and run only where HasAuthority() is true. There is no client->server RPC: clients receive the result by replication. A client-side call is a silent no-op.Get Team Tags).3. Check attitude
Ask the statics whether two actors are friend or foe - it resolves the component on an actor, its pawn, or its player state automatically.
Team.Red vs Team.Blue returns Hostile; two Team.Red actors return Friendly; an actor with no team returns Neutral.