I’m really confused as to why from the Level BP events and vars in other blueprints can be accessed but not the other way round. I was trying to make a switch for a post process vol. to turn things on or off via an interface but can’t refer to the level bp. Or get / set vars in the level bp.
The Level Blueprint is inaccessible, because it is Map specific.
You need to use the GameMode or the GameState class for things like this.
Thanks, but not entirely sure what you mean. Access the Post process volume from the GameState / mode ?
If you make a GameState class, make a variable reference on it to something in your map. On Begin Play of your level blueprint, use the Node GetGameState, cast it to your type, then set the pp reference on it from the level blueprint.
You can set a reference to your map, but unless you have made a base class in C++ for it it’s better not to.
You can create Event Dispatchers in “YourGameMode” BP and bind them on Begin Play of your Levels BP.
Event 1 (Custom Event) —> Call “Event Dispatcher 1”
Begin Play —> Cast to “YourGameMode” —>Bind Event to “Event Dispatcher 1”
Now you need to create a Custom Event (call it “Event - Post Process 1”) and connect the Output Delegate to the “Bind Event to Event Dispatcher 1” node and the Output Exec to “Set Members in PostProcessSettings” node like this example with 3 switchable Tint Colors (you need 3 Event Dispatchers for this):
Copy and paste these nodes on every Level BP.
Ok, now when you want to switch from a Post Processing setting to another (from an UMG BP or anywhere else), you need to create a Cast to “YourGameMode” and from this node call the Custom Event (Event 1 in my example) connected to the “Call Event Dispatcher” (“Call Event Dispatcher 1” in my example) node in “YourGameMode” BP.
Ok, thanks chaps.