Blueprint actor - access to self in scene

I don’t think you’re understanding the how the hierarchy works.

So you have a BP with 3 static meshes in; any instance of that BP knows it’s own “self,” but doesn’t know the “self” of any other instances.

Now, you can get those instances fairly easily and in multiple ways. You could use something like “Get Actors Of Class,” for example - but you really do NOT want to do this, especially in a constructor, because each and every instance will get a reference to each and every instance - they are all independent objects, and each instance will have their construction script executed.

I’m not going to assume I know what you’re trying to accomplish, but probably a better way is to have a DIFFERENT “controller” BP that references all the BPs that have your static meshes in them, and then can iterate through them and do whatever.

If I narrow your question down to the first part (“how to access a blueprint object that is already placed in the scene?”) What you’re referring to is out to get a specific instance of your BP object (for use in another instance of that, or another, BP).

You just need a “visible” variable of the type of your BP class, so if you have BP_MyBlueprint, you have a variable whose type is “BP_MyBlueprint object reference.”

When you place it in the level, in the level outliner you will be able to select an instance for that variable. You can make it an array, and select many instances.

EDIT - I want to reiterate that objects referencing each other like this can be a bad idea if you’re not careful - you could end up with infinite loops of references, for example. A single “control” BP that references all the other ones is almost certainly a better idea.