Initial Setup
Last updated
Last updated
Getting started with the Smart Auto Turrets (S.A.T.) is fast and intuitive. You can either place a turret directly into your scene or spawn one during gameplay. Once it’s in the world, the turret will begin autonomously scanning for targets based on two simple rules: interface detection and team-based filtering.
Turrets can be dropped directly into your scene or spawned during runtime. As soon as they're active, they begin evaluating potential targets in their detection radius.
Turrets identify valid targets by checking whether an actor implements a specific Blueprint Interface. By default, this is BPI_CombatInterface
, but it can be easily replaced with a different interface if needed.
Any actor that implements this interface is considered a potential target, pending team filtering.
Each turret includes a TeamName
variable — a simple string used to define its faction. The turret compares this value against Actor Tags on all potential targets.
If a target has an Actor Tag that matches the turret’s TeamName
, it will be ignored. All others are considered valid targets and will be engaged.
This setup makes it easy to manage:
Friendly fire prevention
Multi-faction systems
Dynamic targeting priorities
Turrets are built to be fully adaptable. You can change a turret’s faction at runtime using the function:
Just pass in the new team name string, and the turret will immediately update its behavior and retarget accordingly — no need to reinitialize or restart anything.
This feature is perfect for:
Faction-switching gameplay mechanics
AI-controlled turret hacks
Dynamic alliances and enemy shifts
When spawning a turret into your scene—either manually in the editor or dynamically during runtime—there are three important variables you should be aware of. These define how the turret behaves, what stats it loads, and whether it can be controlled by players.
This is the most important setup variable. Turret Name
tells the turret which entry to look for in the DT_TurretList (the main DataTable that holds turret stats).
If the name matches an entry in DT_TurretList
, the turret will automatically import all relevant stats, such as damage, rate of fire, turn speed, range, projectile type, etc.
If left blank or unmatched, the turret will retain the manually configured values on its own blueprint instance. This allows you to create custom turrets without relying on the DataTable if preferred.
If your turret is mounted upside-down—for example, hanging from a ceiling—you should check the Is Reversed
boolean.
This flips the pitch rotation logic, ensuring that the turret still tracks and aims correctly even when oriented downward.
It’s a simple but essential flag for correct aiming behavior on non-standard placements.
This variable is useful for restricting player interaction.
If Unpossessable
is true, the turret cannot be controlled or possessed by the player.
Ideal for purely AI-controlled defenses or decorative/emplaced units that should not be player-accessible.
These variables give you both flexibility and control when setting up turrets in your game, making it easy to integrate them into a variety of scenarios—from automated defenses to player-controllable artillery.