How do I send input from the level blueprint to a variable of another blueprint?

I’m trying to change the height of a group of platforms change after the player enters the room.
I’ve made the height variable for the platforms a public variable.
I’ve been able to make the platforms change height successfully through direct input.
I’ve managed to change other variables such as visibility for each platform using an array (similar to the blueprint below).
However, applying the change to the height variable instead of another variable doesn’t work. I’ve tried getting a cast-to node but it doesn’t seem to fit in anywhere. Tutorials I’ve seen on the UE4 website and Youtube channel haven’t helped.

The screenshot is fairly zoomed out. On your blockbp, what is that very first red node?

Event Begin Play, to set the initial location.
Here is a re-cropped screen cap of the blueprint

Hey Menelin-

Something I noticed with your screenshot is that each of your InRange nodes have inclusive checked for both Min and Max. This could cause an issue if, for instance, Input Height is equal to any of the min/max values. For example, if Input Height is 3.5, it technically falls into both Input=3 (3.5 inclusive Max) and Input=4 (3.5 inclusive Min). Additionally, please try adding a PrintString node after your Set Input Height node in the level blueprint. This will allow you to confirm that the for loop is triggering properly. Another safeguard you can use would be to create a “SetHeight” functionin your BlockBP. Rather than setting the value directly, you can call the SetHeight function (which would take in a float value for what you want the height set to) and allow the function to set the value. Again, a Print String node inside the function call will ensure that the function is being called properly before setting the height variable.

Cheers

I appreciate the advise, however the question I need answered currently is how I would be able to have a box trigger volume set the Input Height variables for individual instances of BlockBP.

I’ve been looking at how to create a function as you suggested. However, the connections are not working.

At your “SetActorLocationNode” you can check “teleport” or “sweep”, since you have a timeline, set “teleport” on true.

Teleport didn’t seem to change anything.

The setup in your screenshot should provide the result you’re looking for. Specifically, when the trigger volume is overlapped the height of all BlockBP instances would be updated to the new height. If you only want to affect certain BlockBP instances rather than all of them, it would be best to make the trigger be part of the blueprint, then when the overlap occurs you only have to change the height of that specific block.

As for the nodes not connecting, that seems a little strange to me as your setup looks correct, and when I do the same setup in a test project I am able to wire the Array Element pin into the Target pin of the Set Height function. If you created the Set Height node by pulling off of the Array Element pin, it should have connected these automatically. If you’re adding the Set Height node in another method, please try using the Array Element pin to create it directly.

After your confirmation, I tried starting a new blueprint from scratch in case it was an internal problem. It seems to have solved the problem of updating the variable. Thank you for looking into it.