Try removing “BlueprintCallable” from the UFUNCTION() Makro.
Your “BlueprintPure” is already a function that can be called without an object of that class created.
I would also say you better create an array INSIDE of the function, fill it, and return it. Because without an object
i’m not sure if the array exists.
If you use BlueprintCallable instead of BlueprintPure, you will need an object of that class. That means you will have
to spawn the “AListMesh” and then use a reference of that spawned actor.
You can also step back from using an actor and create a UObject. Then you could create the object and call the function.
You would only need a BlueprintPure function that creates an UObject of your class and returns it (there is a tutorial
from Rama i guess and Ramas Plugin also contains such a node).
But for testing if it would work, change the UFUNCTION to:
UFUNCTION(BlueprintPure, Category = "VPDATA")
and inside of the function in your cpp, do this:
for (TObjectIterator<AStaticMeshActor> Itr; Itr; ++Itr)
Also delete the UPROPERTY MeshActors, so that you don’t have it doubled.