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.
Images/CrimsonTeams/qs-enable-plugin.pngC++ 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.
Images/CrimsonTeams/qs-add-agent.pngJoinTeam, 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.
Images/CrimsonTeams/qs-check-attitude.pngTeam.Red vs Team.Blue returns Hostile; two Team.Red actors return Friendly; an actor with no team returns Neutral.