Download

Unique reference to actor components (embedded static mesh)

Say I dynamically spawn actors into a level.

I grab their dynamic names into an array to use as references.

I now want to refer to their components (for each unique instance of the spawned actor) - the components are embedded static meshes which help determine which side of the actor is facing up.

When I grab the component names (by tag) into another array I find that all the component names are the same - for each instance of spawned actor.

Eg say I dynamically spawn an actor - it spawns as name10 and name101 if I spawn 2 of them.

But their components are the same when I grab them into an array - say the component was called “max” - i expect to see a max10 and a max101 - but i only see the component from the actor blueprint “max” - not the spawned instance.

How do I get a unique reference to each spawned instance components?

Hi,

Can you show an image of the Blueprint setup you have for the Arrays?

Also, what have you setup to create that name change? In other words, do you have it so each time an actor spawns the String Name (for example) is appended with a value?
What actually controls the name change?

See picture for the blueprint. I use a actor in level that has no other purpose than to share variables between blueprints. The image shows how all actors of COIN class are captured into the Actor array held by the LDA (Level Database Actor).

The next picture shows how I extract the component names for specific meshes I am looking for. - there are only 2 of them and they are tagged “result”. I would expect those extracted component names to have the names corresponding with that instance of the coin to have an extension - but they have the same name as the name in the main blueprint. The execution below shows it is referring to a specific instance of Actor 'Coin" of which I am querying “Coin 1” to get its components. In each coin there are only 2 results to the query, so the output on that print should be the names or the 2 components associated with that instance of coin only. If I run the query on the other instance of spawned actor “coin” the result is the same - which essentially seems to mean that UE4 does not create unique identifiers for the components of a spawned instance of an actor - I would appreciate if someone would confirm if this is the case.

I didn’t set up anything to do the name change. Each spawn instance is named by engine itself. If I interrogate th array created in the above step, say if two actors of coin are spawned, the names would be Coin10 & coin101.

If Coin10 has a component - say a static mesh - and I have a reference to it in the Actor Coin as “Up” I would expect spawned instance equivalent of that static mesh on Coin10 would be called Up10 - however I cannot find a way to get this reference - O am led to believe it is not created by the engine - pls can anyone confirm this?

My apologies for such a substantially late reply. I haven’t been on here properly in weeks. And just got back on recently. Were you able to figure this out or do you still need help?