Reference Multiple Actor Arrays into a Level BP

I have something like an oversized nixie tube clock in which, sits two arrays: left side (0-9), and right side (0-9). I want to spawn numerical 3D actors from a class to tell me the weather temperature which is supplied through a csv file.
I have built a counter that looks for the specified number (i.e. 34), and then spawns the L-3 actor and a R-4 actor from those left and right arrays from the digit class.

How would I search each array separately, Left Array and then Right Array, to find Number_3L and then Number_4R? I’m trying to run it so that upon pressing F it toggles through weekdays with their specific weather information, so I’m unsure as to partition that part to its own blueprint or keep it within the level, as it needs to be handled with a single button press, which seemingly can’t be a valid event if the F key is already being used.

Hi ClockworkOcean, thanks for the reply, I recall seeing an option like that. Was that accessible through clicking on the execution node directly or through the event variables on the side menus? Would I be mistaken in thinking that as something that would allow the key press to be used across multiple BPs?

I do hope to use the majority of the functions with in the lvl BP as the code is working all simultaneously within a rather sizeable graph. But if there is a way to properly bridge the two, could you make a small demonstration? I’m only a week into BPs so it’s been a rough but relatively quick learning curve.

As for my two images one shows that everything branches off from a single execution node. My blue box highlights where the next image comes from. The inside of the collapsed nodes, there sits a large system that picks the two numbers within a two digit number and creates a BP actor that dynamically changes each half to display those respective numbers.

I hope what I have said makes sense,


I can’t really see what you have going on there, but it’s probably a good idea to have all the stuff relating to that object in it’s own BP. Unless it’s the only thing in the level, then level BP is fine.

As far as the F key goes, have you made sure the event has ‘consume input’ unchecked?

Hawk, yes ‘consume input’ is in the details panel of the event node. If it’s unchecked, the event can be called from anywhere, as many times as you like…

You certainly can talk between BPs no problem, although between the level BP and BP actors is a special case. You need to use BP interfaces or even dispatchers.

What are the basic components you are using to make the digits? I think there may be a very simple way of doing this ( I think you might be falling into a trap I did at first with BP ).

In fact only really stuff that’s applicable to the whole level needs to go into the level BP. If it’s just stuff to do with the ‘reader’ it can also go in a BP actor that the user just does not see…

Because if you hold the class types of you digit actors in an array so that their index in the array IS the same as the digit, you make a digit without any fiddling. Like this:

( that’s a generalisation, but you get the idea, no lists of switches )

Ah, so you get a 2 digit value from the CSV? Gimme 5…

Same concept, but splitting two digits from the CSV. Again, no need for any calculations:

Haha thank you, I don’t have a clue what a BP interface or dispatchers are. Is it something created through making a function? I have a large list that is grouped into sets of: …20, 21, 23, 24… …30, 31, 32… and it goes through an AND Boolean which takes anything that starts with a 2 as something that would construct a 2 on the left side of the digit actor class and then finds its pair through an offshoot from the same listed array.
If the F key can work in both the level and an actor BP then it is definitely worth a try. As I wouldn’t need to create two arrays to package it and then unpackage it somewhere else with very specific referencing. The main root of my issue. The whole concept is to create a weather board that has rain particles and all sorts spawn and despawn on a cycle. So it’s heavy, but it’s been far so far :smiley:

Ooh I haven’t tried using a class array, I feel that trying to get through a index is right but I haven’t quite been able to find a way around condensing the variables of the index to a more computationally friendly level. Math certainly isn’t my strong point, so I’ll have to trust you on that one haha.

Would the array be set up much the same way I have? Like a Nixie tube of overlapping numbers in two adjacent sets? But built into one array instead of two? How would I go about plugging those variables into the array? A singular reference to a 0-9 count of digits?

Thank so much for being so prompt, I’ll definitely look into these :smiley:

A static mesh of numbers. I have 0-9 on the left and 0-9 on the right, and have put them into arrays based of that positioning. I’ll try get a few photos of this, please hold

I haven’t quite got my head around how the transform would position the 2nd number with offset. Though I get the feeling that this is off the back of a for loop node in the custom event or transform variable? I’ll do some extra research first though, before I ask any more :slight_smile:

As far as using interfaces and dispatchers goes:

Sorry, don’t quite get it. Presumably you have ‘things’ you are using are the digits. Are they

  1. An actor - static mesh

  2. A BP

  3. Something else?

I had started on making a similar filter in the actor BP if I could find a work around. I’ll have to test it later as it’s 10pm. Let me know if anything looks off, and thanks again for the help

I’ll have a look at this for a while and may come back with something. I am fairly sure you’re suffering from a bit of BP-newbie-overcomplication ( just like I did :slight_smile: ).

In the meantime a couple of other things you might find useful:

Reading CSVs directly into UE:

And a great asset pack that does exactly this with value tubes:

( altough its says unavailable at the moment … )

Thanks I’ll check these out. Yes overcomplication certainly is the word for it haha. It was only a week ago that I started scripting, with my only understanding being of what If nodes do. I have managed to read csv data, writing out with cinematic aesthetic is another issue in itself.

Wish me luck!


Great stuff. Here’s my last bit now. Another example of doing it with static meshes in an array. The main thing I’m trying to say is all your complication is coming from converting formats. IE converting from reading a 12 in the file to a mesh called MeshOneL and MeshTwoR, or something like that.

You can avoid ALL this bunkum by arranging your meshes or data or whatever so that the zero IS in the zero slot of the array etc.