Hi
I have a blueprint which is basically a block that goes up and down. I have a delay variable in this blueprint so I can offset when these blocks start so they are no sycned together. This is public so I can change it in the editor for each BP.
Now what I want to do, is have a widget attached to this BP that has a slider element. I want to then change/manipulate/slide that slider in the editor to set the delay time rather than using the value in the details panel. Make it more user friendly.
Is that possible?
Hi Lutherbrian,
Yes, you can access each CubeBP individually. To do this,
- In the event graph for the widget BP get all actors of the the class (your CubeBP) and set the desired ones to a variable
- In my example I’m getting only one element but you would probably loop through the array and check the display name (the name of the asset in the scene) to make sure it matches the actor you want to change values for.
- Once you set the actor to a variable you can get that variable and access the variables within that blueprint
- In the example I’m adding an offset based off the slider value but you would get that delay variable and set it in the widget BP.
You don’t need to attach a widget to the cube actor just make sure you create the widget and add it to your viewport at runtime.
Here is the screenshot example of the widget BP:
,
This works when you enter in play mode but I’d like to do this in the editor before pressing play. So I use the slider to change a variable then press play and I would then make the widget for each block invisible.
Ahhh, so if you want to be able to do this stuff while editing the main thing I can recommend is to use a vector variable. Expose it and check “show 3d widget”. This will create a visual representation of that variable and you can use that as a 3d slider.
Currently there is no way to run widget blueprints outside of runtime.
Ah , yeah I’ve used that in the past for dragging out geometry. again though.