Blueprint actor - access to self in scene

Hi. I know that it is a noob question but how to access to blueprint object that is already placed in the scene ?
Let’s say that in the blueprint I have InstancedStaticMesh Component.
In the Blueprint class I have made 3 instances.
I put this blueprint into the scene and I made more instances ( let’s say 10 ).
So in the blueprint the constructor sees only 3 instances.
But I would like to have access to SELF as an Actor which has these 10 instances.
( using Self in Constructor I can see only these 3 instances ).
How I can program that in blueprint constructor to access to an object in scene and their components and not class default ones ?

I hope you know what I mean.

I think if you make the instance by clicking and dragging in the scene, you will not be able to ( easily ) find them.

It might be better to code the construction script to make more for you.

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.