Unable to get component using GetComponents

We have a character class. Character hold the gun. Character class set as the owner of the gun class.In gun class Blueprint we add a
arrow component. From Gun class C++ we couldnt get hold of arrow component which is gun’s muzzle location. We used following code and
doesn’t work. List return as empty

TArray<UArrowComponent*> ListOut;
GetComponents<UArrowComponent>(ListOut);

IDK, I just tried the same and it does get the components, both in the parent actor and the child actor, and components added both in C++ and in the blueprint.