I’m also trying to create a stars skydome and I’ve found some problems to make it work way I want. I will try to describe process I followed best I can so others won’t waste precious time trying to figure out what’s wrong with their space skydome. Instead of modifying default Skybox I wanted to create my own from scratch. It may sound a bit lame, but that way I force myself to learn how things work in UE4.
First we need to create our cubemap texture, so go [here][1] where you can find a step by step process for how to create cubemaps for Unreal Engine 4 and [here][2] for an awesome application to create space skyboxes.
Before continuing we need to know what exactly is skydome we are going to create, which is basically a really HUGE spehere enveloping our scene. We start creating a new Blueprint and in Blueprint’s components we add a Scene component as Root and a Static Mesh component as child of Scene Component just like this.
We need a sphere for Static Mesh component. I used one called SM_SkySphere located in
/Engine/EngineSky. By default the Engine folder is hidden but can be revealed by an option in context menu of Content Browser. There are other spheres in the /Engine folder bur this one is a blank one without clouds nor scripts. As said before we need skydome to be a huge sphere so set scale of sphere to (400, 400, 400) and make it static (usually sky don’t move, right?). category is optional and I created BP_Skydome just for organization purposes.
Before moving forward we need to change one small setting so we can actually see something inside our skydome, and that’s switch Cast Shadows off in Static Mesh component properties. Why? Because if we add a Directional Light to our scene (and we’ll likely do to represent sun’s light) light from Directional Light won’t lit objects inside our skydome because our spehere is projecting a shadow on them. Also we want to change collision type to “NoCollisions” since we don’t need to check when something collides with our skydome.
Now we need to assign material that will be displayed in Skydome. Go to Graph section of Blueprint and in Construction function create a node to set material of Static Mesh. Create a public variable of Material type (you can make variables public with eye icon next to them). Through this variable we will set material used in sphere, so next step is to assign whatever material we have in this variable to spehere. Create a Set Material node and set sphere as target (in my case I named Static Mesh component as Skydome and material variable as Sky Material) and material as material.
Now whatever material we assign to material variable will be applied to sphere’s material. It’s time to create material. Import your DDS Cubemap Texture created following the [steps in Unreal documentation][6]. In Content Browser right click on it and select Create Material. Edit material so it looks like this:
node is a TextureSampleParameterCube with texture we created assigned. Why do we send data to emissive channel? Because our skydome won’t be lit by lightning of scene so it will have to lit him himself. In fact, we need to tweak some properties in material properties. Select material (big node with all channels on right) and change following properties like in image.

If we let material to be lit by lighting system, when we add directional light we will only see part of skydome which is lit by lightning and other one will be hidden in shadows. other option es very important because we are inside mesh, so we need material to be displayed in both sides, outside and inside so we can actually see it.
And that’s all. Maybe this is not best way to do this and there is more accurate or efficient ways to achieve effect, but this works in a way that makes sense for me. I’m just starting with Unreal Engine 4 and sure I’m missing a lot of options and systems, but I hope this helps any of you in some way ![]()



