I suppose it depends on what is meant by “a single master blueprint”. As Rev0verDrive notes, moving all the enemy’s functionality “up the hierarchy” to a parent class won’t impact performance.
BUT, if what you mean is generating a sort of “AI Brain”, then that actually could. The reason being that multiple AI actors are all performing individual checks, which may be redundant; if you have a single “brain” actor which performs the checks one time and then distributes that information to the AI, at least in situations where they don’t need per-actor checks, then it actually would increase performance. This is, in fact, a somewhat common strategy for games with many coordinated AI actors.
For things like pathfinding, for instance, you can’t really use a Brain. Each actor must determine its own path because it exists at a unique location in the world. But suppose you had actor-specific queries for the player; things like complex trace tests which determined whether the player was near cover, or whether the player was moving toward some critical location, or whatever. Those kind of checks are “enemy agnostic”; they don’t involve any sort of logic which depends on the specific state of the enemy itself. So localizing them to one blueprint (a Brain actor, or performing them on the player and broadcasting them out, etc) would remove a lot of redundant calculations and let the enemy AI operate only when it needed to make decisions about things unique to itself.
The thing you have to consider is, how many of the checks and actions you’re performing are REALLY “ignorant” of the state of the enemy in question? Querying things like the state of the level or actors in it can be passed along from a single central source to a host of AI actors, but anything the AI does which is in any way dependent on the state of the AI itself is basically going to have to be handled by the AI. Having a master Brain actor check the status of each individual AI actor, perform checks based on that data, and pass them back TO said actor won’t help you. It’s only useful in cases where the result doesn’t change, so what you’re essentially doing is removing a lot of duplicate calculations by performing them once and sharing the result.