Example:
<ComponentClass>
<UniqueID>KineticAugment1</UniqueID>
<PrimaryStat>KineticRange</PrimaryStat>
</ComponentClass>
<ComponentClass>
<UniqueID>KineticAugment2</UniqueID>
<PrimaryStat>IgnoreArmor</PrimaryStat>
</ComponentClass>
<ComponentClass>
<UniqueID>KineticAugment3</UniqueID>
<PrimaryStat>ArmorDamageWeapon</PrimaryStat>
</ComponentClass>
So, the kinetic augmentation components 1,2 and 3 think they're about range, armor and damage, respectively. If a blueprint has the line <RequiredComponentType>KineticAugment1</RequiredComponentType> it will look for something of the KineticAugment1 type which increases kinetic range.
However, the actual components which belong to these types are:
<ShipComponent>
<InternalName>RapidReload</InternalName>
<DisplayName>RapidReload_Name</DisplayName>
<Description>RapidReload_Dec</Description>
<ArtDefine>Slingshot_01</ArtDefine>
<Category>Modules</Category>
<OnePerShip>true</OnePerShip>
<Type>KineticAugment1</Type>
<PlacementType>Augment</PlacementType>
<Stats>
<EffectType>KineticCooldown</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>-0.5</Value>
</Stats>
<Stats>
<EffectType>KineticAccuracy</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>-0.15</Value>
</Stats>
</ShipComponent>
<ShipComponent>
<InternalName>KineticAccelerator</InternalName>
<DisplayName>KineticAccelerator_Name</DisplayName>
<Description>KineticAccelerator_Dec</Description>
<ArtDefine>Slingshot_01</ArtDefine>
<Category>Modules</Category>
<OnePerShip>true</OnePerShip>
<Type>KineticAugment2</Type>
<PlacementType>Augment</PlacementType>
<Stats>
<EffectType>KineticRange</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Multiplier</BonusType>
<Value>0.5</Value>
</Stats>
</ShipComponent>
<ShipComponent>
<InternalName>ArmorPiercing</InternalName>
<DisplayName>ArmorPiercing_Name</DisplayName>
<Description>ArmorPiercing_Dec</Description>
<ArtDefine>Slingshot_01</ArtDefine>
<Category>Modules</Category>
<OnePerShip>true</OnePerShip>
<Type>KineticAugment3</Type>
<PlacementType>Augment</PlacementType>
<Stats>
<EffectType>ArmorDamageWeapon</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>1</Value>
</Stats>
</ShipComponent>
In actuality it goes 1: Cooldown, 2: Range, 3: ArmorDamage.
So that blueprint will never find the component it requires, and thus will never appear.
Only KineticAugment3 will actually work in blueprints - 1 and 2 do not find the correct Stat in the ShipComponentDefs.xml file to fill their slot.
This is why EscortCarrier modules do not replace AssaultCarrier modules in blueprints, despite having the same type:
<ShipComponent>
<InternalName>AssaultCarrier Module</InternalName>
<DisplayName>AssaultCarrier Module_Name</DisplayName>
<Description>AssaultCarrier Module_Dec</Description>
<ArtDefine>Carrier_Module_01</ArtDefine>
<Category>Modules</Category>
<Type>AssaultCarrierModule</Type>
<ShipComponent>
<InternalName>EscortCarrierModule</InternalName>
<DisplayName>EscortCarrierModule_Name</DisplayName>
<Description>EscortCarrierModule_Dec</Description>
<ArtDefine>Carrier_Module_01</ArtDefine>
<Category>Modules</Category>
<Type>AssaultCarrierModule</Type>
Though they're the same type, the AssaultCarrierModule type only accepts modules which affect the AssautlFightersCap:
<ComponentClass>
<UniqueID>AssaultCarrierModule</UniqueID>
<PrimaryStat>AssaultFightersCap</PrimaryStat>
</ComponentClass>
Which EscortCarrierModule does not do (it increases EscortFightersCap, even though EscortFighters and AssaultFighters are identical).
So, if anyone was running in to issues with custom blueprints, this may be why.
I will write a patch to fix this shortly, but it looks like it's going to be a 'totalconversion' file replacement, rather than an addition, unfortunately.
Support ticket: #LGK-861-93154