Multiple different actors in an array, select, or what?

Ok, ive been racking my brain around this for a few hours trying to solve it. I need for multiple different playable pawns to be accessible from one point in a actor BP.
This is what i mean:


So from the left, each of these actors are a different transformation. I need to know what I would need to do to get them each into one big accessible location. For example, can I add them into a array, can I add them into a select, or can I add them somewhere that im missing?

I need to retain the ability to use each of them such as grab locations, adjust the camera to that one, or teleporting. Ive already got a system in place that creates a promoting value from the one that spawns into the world. The rest do not spawn IE only one of them spawns from the list here while the others do not.

Let me know if there’s more information you would need to give an answer.
Thanks!

I am not sure if I understand the question correctly, so do correct me if I misunderstood.

From the screenshot, it looks like this array/list is actors which represent different transformations, or maybe transformation spawn/reference points.

“Accessible location” can mean a few different things.

1 - First and foremost, if these transformation actors all share the same parent class, and they are placed/spawned in the level, you can simply get them by parent class and/or actor tag. For example, Get All Actors of Class with Tag, assuming they are loaded in the level at that time. You can give each child a unique tag.

2 - If the question is about accessing them from one common place, then yes, you can use an Array, a Select node, or more likely a Map. A Map would probably be cleaner because you can map a transformation type to an object reference.

For example:

Monkey → MonkeyTransform
Mouse → MouseTransform
Jaguar → JaguarTransform

Then you make a function like GetTransformationByType, pass “Monkey” or preferably an Enum/GameplayTag, and it returns the related object.

You could put this map in a manager actor, GameState, or another commonly accessible class, depending on whether this needs to be global/replicated or just local. For game state basically get game state->castToMyGameState->Access array.

3- C++ you can make a subsystem or an object with an interface to access transform/spawn points. Subsystem would be the best in that case.

4- Besides you don’t have to actually manually do an array/list/map. You can reverse the process by When a transform point spawns the first thing they do → They look for a class / actor whatever and go register themselves if they find.

GameStarts->MonkeyTransform->TransformManagerActor->RegisterTransform(ObjectReference, StringName)

RegisterTransform->AddMap((ObjectReference, StringName))

You can always access TransformManagerActor.

Perfection, The map is exactly what I needed Ive been doing UE5 for about 2 years now and I don’t know every single node just yet. Learning each component is a fundamental thing for me. So thanks!