HDRISKYBOX

HDRI to Unity skybox

Unity reads an equirectangular HDRI directly, so most skyboxes never need hand-split faces. Here are the three routes (panoramic material, cube texture, and the legacy six-sided shader) and when each one earns its keep.

The short answer

Unity reads an equirectangular HDRI directly, so the usual route never touches individual faces: import the .hdr or .exr, put it on a material, and assign that material as the scene's skybox. There are three ways to get there. The Skybox/Panoramic shader samples the flat panorama at render time; the cube texture shape has Unity reproject the same file into a cubemap at import; and the legacy Skybox/6 Sided shader takes six separate images, the one case for a converter like this tool. Whichever material you build, it becomes the sky in Lighting > Environment > Skybox Material.

Method 1: Skybox/Panoramic material

The fewest moving parts: the panorama stays a plain 2D texture and the shader does the spherical math per pixel.

  1. Drag the .hdr or .exr into the Project window. Leave the texture shape at 2D.
  2. Create a material (Assets > Create > Material) and switch its shader to Skybox > Panoramic.
  3. Assign the texture to Spherical (HDR). Keep Mapping on Latitude Longitude Layout and Image Type on 360 Degrees.
  4. Open Window > Rendering > Lighting, switch to the Environment tab, and set Skybox Material to your new material.

The material's Rotation slider spins the sky around the vertical axis, and Exposure trims its brightness without touching the source file.

Method 2: a cube texture

Same input file, different import: Unity converts the panorama to a real cubemap asset, and the hardware cube sampler takes over at runtime.

  1. Select the imported texture. In the Inspector, set Texture Shape to Cube.
  2. Set Mapping to Latitude-Longitude Layout (Cylindrical), or leave Auto, which detects the 2:1 panorama. Then Apply.
  3. Create a material with the Skybox > Cubemap shader and assign the cube texture to it.
  4. Assign the material in the Lighting window as before.

Prefer this over the panoramic shader when you want cubemap-grade compression (BC6H keeps the HDR range at a quarter of the memory), slightly cheaper sampling on weak GPUs, or an asset that other systems, such as a custom shader or a fallback reflection, can sample as a cubemap directly.

Method 3: the six-sided skybox

The Skybox/6 Sidedshader predates both routes above and takes six separate textures, one per face. Unity treats it as legacy, but it still ships, and some pipelines (skyboxes authored per-face, ports from older engines) arrive as six images. This is where the converter's six labeled faces drop in.

Converter faceUnity slot
Front (+Z)Front [+Z]
Back (−Z)Back [−Z]
Right (+X)Left [+X]
Left (−X)Right [−X]
Up (+Y)Up [+Y]
Down (−Y)Down [−Y]

Match by the bracketed axis, not the word: Unity's six-sided slots are labeled from the skybox's point of view, so its Left [+X] slot takes the face the converter calls Right (+X), and vice versa. If a seam looks mirrored, swapping the two side pairs is the first thing to check; six-sided conventions are the least standardized corner of skybox work.

Lighting and reflections from the skybox

Assigning the skybox material is half the job; the same image can also light the scene. In the Lighting window's Environment tab, set Environment Lighting > Source to Skyboxand the HDRI's color and intensity drive the ambient term. Environment Reflections defaults to the skybox too, so glossy materials pick up the sky without any probes placed.

Interiors and grounded objects still want local Reflection Probes, which capture the skybox plus the scene around them. After changing the skybox, regenerate lighting (or let auto-generate run) so baked GI and the ambient probe pick up the new sky.

HDR import pitfalls

  • Max Size defaults to 2048, which quietly downscales a 4K panorama. If the sky looks soft, raise it to the source resolution.
  • Keep HDR sources in HDR containers. A .hdr or .exr import stays linear float and survives into BC6H; a tone-mapped .png clamps the sun to 1.0 and the lighting goes flat.
  • sRGB (Color Texture) does not apply to float formats, but if you do feed an 8-bit skybox, leave sRGB on so it is not double-darkened.
  • Exposure belongs in one place. Pick the material's Exposure slider or your tonemapping post stack, not both, or the sky drifts away from the lighting it casts.

For which input each engine wants beyond Unity, see Cubemap or equirectangular? And if your panorama starts as a Blender render, the Blender guide covers exporting the equirectangular HDR this page starts from.

Open the converter