Why can't I modify the sky_sphere via blueprints?

You can open the BP_Sky_Sphere associated and create the event you need in the event graph (begin play, tick, whatever you need). It’s useless to do it in its construction script as you have already access to public variables in the Detail panel…
Then you need to make updates through the Set Scalar Parameter Value node. I’ve just made a test with cloud speed and it works. This is due to the dynamic nature of the material and parameters used in it, shaders have the last word in this case :slight_smile:

If you really want to update it in your level blueprint, you may want to change to visibility of the Sky material variable in the BP_Sky_Sphere, so you can access it in your Level BP and make your changes there.

1 Like

I’ve selected the sky_sphere, opened up my level blueprint and added a reference to the Actor itself. by dragging a wire I see that I can set different things, (horizon color, cloud color, cloud speed,) but when I change them in BP whether it be event begin play or what else nothing happens…I can’t seem to affect ANYTHING about the actor at all via b blueprints.
Can someone tell me whats I’m doing wrong or whats going on?

oh my goodness…I just realized it was a BP…lol
thank you!!

One question. You said I need to update the Set Scalar Parameter Value. What and where is that located?

Im sorry. The more I look at this the more I’m confused. I’ve never messed with the sky sphere.

I see the node. But Have n Idea what I’m looking at when i open the “Sky Material” But in the blue print if I pull the Znith Color Node and set it to a different color via event begin play I’m getting no change.

Did I miss something?

Can someone please help me??
or maybe does someone know somewhere I can look to see it done? I’m very confused about the Sky-Sphere and how to call it’s properties.

Basically sky sphere is just a giant static mesh with a sky material. So remember, it was the MATERIAL that matters, so if you wanted to change the sky sphere, just change all the ■■■■ that happened in that material, are you already try to look at sky_sphere material and sky_sphere material instance also the color curve. It’s all easy to find (all placed in one folder, in Engine folder.

Ps: as what i have known that all the ■■■■ in the sky sphere is done in blueprint. No cpp at all.

I’ve changed materials countless times in blueprints before. But when I go into the Sky_Sphere_BP I can\t change its functions in its BP. I set it up and it looks like it should work-but the sky doesn’t change when I play the game like its been told to do in blueprints.

is it look like this??? the sky sphere material. it named M_Sky_Panning_Clouds2. if you wanted to alter the parameter just go to M_Sky_Panning_Clouds2_inst (instance material of that M_Sky_Panning_Clouds2 material). if you wanted to go crazy. just alter the node :wink:

Oh wow hold the phone. I couldn’t get the graph to open it up that material. I honestly wasn’t sure there was one. Ok this will help. Thank you. I can change parameters made in there in the sky sphere bp. Perfect!!

I see what everyone is talking about…my question is how do I change these via a trigger box in blueprints?? When I try to change the material in blueprints the material doesn’t show up in the material network. And If I try to change the variables nothing happens.
Im confused.

I FULLY understand that I can altar all of this. But I want it to change when I tell it to. Via the sky_sphere BP. How can I get the noding to work???

are you know about UpdateSunDirection function in the BP_SkySphere?? maybe you can learn from that function to change sky material in BP_SkySphere. basically that was a function to change the sky material based on the position of the sun.
here’s wiki on that::

ok, quick and dirty way, go to BP_Sky_Sphere and change the visibility of the sky material, just to have quick access to this material from your Level blueprint.


From your Scene outliner, drag your BP_Sky_Sphere into your Level Blueprint to get a reference and here below an example of changing the zenith color, from Event Begin Play (or any Event or Trigger you want)

Result from Default Blue Sky:

On Event Begin Play:

Important nodes for dynamic material update:

All you have to know is the name of the dynamic parameters which are defined in the Material.

That said, this was an example just to show you how to quicky get results and a proper solution may be to extend the BP_Sky_Sphere and add your new functions in it, just like the updateSunDirection function. For the zenith color, take a look at the construction script and you’ll see that it rely on zenith curve and sun height parameter. You should probably take this in account when you update it so the right way tend to add your new public functionalities in the BP so you have

  1. access to all variables and stuff from it.
  2. no need to expose the sky material like in this example.

I can’t thank you enough.
I was SOOO close to doing it correctly but this mailed it on the head.
This is fantastic thank you greatly, and thanks everyone for trying to help
Problem solved!

dude, thank you so much, I was having so much trouble with this, I tried your method and it worked perfectly, thank you