Creating an abstract component then selecting class in BP

Right, I understand. What I’m suggesting is to not create the components in the ADispenser constructor, but to do that in the blueprint subclasses (like in the blueprint editor), and then you can find them / downcast them / store pointers to them later (in for example ADispenser::PostInitializeComponents or ADispenser::BeginPlay).