Looking into this some more, it ends up being trouble anyway, because the controller should enforce rules (“no missile firing when out of missiles”) which means it has to grab a bunch of state from the pawn anyway, so there’s still some code duplication.
Some simple way of implementing delegation in blueprinting would go a long way towards solving this problem. (Note: interfaces express the possibility to delegate, but does not allow for elegant implementation of such delegation)