AI implementation and inheritance


I have created Animation Blueprints and Behavior Trees for an AI Controller, however Im wondering what the best practice is for inheriting and/or extending these types of components for different AI entities?

For example, if I have the following NPC hierarchy where each successive NPC includes the animation and behavior of the previous level

Basic movement

Advanced movement

Basic melee

Advandced melee

Based on my current experience working with ABPs and BTs they do not seem easily extendible… so do I have to create the basic movement in all four implementations of NPC type or one massive implementation that I block abilities within it by NPC type, or some other option?

Any pointers are much appreciated