Skip to content

Complete guide

Game skyboxes: the complete guide to 360° environments for games

Everything about game skyboxes: cubemap vs panoramic, resolution and texture memory, lighting from the sky, and setup in Unity, Unreal, Godot, Blender.

Share

A game skybox is the 360° image an engine draws behind everything else in a level: the sky, the far mountains, the glow of a distant city. It usually does three jobs at once. It is the backdrop, it lights the scene with ambient light, and it appears in every reflection. Most engines take the skybox as either a single 2:1 panoramic image or a cubemap of six faces, and convert between the two. For PC and console, 8192 × 4096 keeps the sky sharp across a wide view, at about 32 MB of video memory once compressed; mobile games usually ship a 4096 × 2048 copy. This guide covers what a skybox does, the terms each engine uses, resolution and memory, matching the art direction, lighting from the sky, and the setup in Unity, Unreal Engine, Godot and Blender.

360 · DRAG TO LOOK

Neon Rain District

Photorealistic · night · mid elements

Drag to look
Click, then scroll to zoom

What a skybox does in a game

  • Backdrop: everything too far away to model, drawn behind the level at almost no geometry cost. Engines draw the sky after the solid geometry, so only the pixels that actually show sky pay for it.
  • Ambient light: engines sample the sky to light objects from every direction, so a warm sunset sky gives warm fill light and an overcast sky gives soft, even light.
  • Reflections: water, metal, glass and wet streets reflect the sky, which is why a mismatched sky makes a scene look wrong even when you cannot see it directly.
  • Menus and loading screens: a slowly turning world behind the interface is one of the cheapest ways to set the tone before play starts.

There are two broad ways to make a game sky. A procedural sky is calculated by the engine from the sun’s position and a model of the atmosphere, as Unreal Engine’s Sky Atmosphere or Unity HDRP’s Physically Based Sky do. It is ideal for a full day-night cycle, because the sky changes as the sun moves. An image sky, the subject of this guide, is a 360° picture. It can show anything: a painted sky, an alien horizon, a specific city skyline, weather that no atmosphere model produces. It costs one texture and looks exactly the same on every machine.

Many games combine the two, a procedural atmosphere for the sun and sky colour with image or mesh layers for the distant scenery. If your game has a fixed time of day per level, or an art style no physical model would produce, an image sky is usually the simpler and better-looking choice.

Skybox, cubemap, panoramic: the terms engines use

A skybox is the engine feature that draws an environment behind everything else, and by extension the image it uses. That image comes in one of two shapes. A panoramic image, also called equirectangular or latitude-longitude, is a single 2:1 picture of the whole sphere. A cubemap is the same sphere stored as six square faces, which is how graphics cards prefer to sample environments. Most engines accept a panoramic image and convert it to a cubemap on import, so keep your master copy as one equirectangular image. The complete guide to 360-degree images explains the projection in detail.

EngineImage skyProcedural skyLighting from the sky
Unity (Built-in, URP)Skybox/Panoramic, Skybox/Cubemap and Skybox/6 Sided materialsSkybox/ProceduralLighting window, Environment tab
Unity HDRPHDRI Sky, set on a VolumePhysically Based Sky, Gradient SkyThe same Volume, plus reflection probes
Unreal Engine 5HDRI Backdrop, or a sky sphere with an unlit materialSky Atmosphere with Volumetric CloudSky Light, captured or from a cubemap
Godot 4PanoramaSkyMaterialProceduralSkyMaterial, PhysicalSkyMaterialEnvironment ambient and reflected light set to Sky
BlenderEnvironment Texture on the WorldSky TextureThe World lights the scene in Cycles and Eevee

Unity’s 6 Sided material takes six separate images, one per face, which is how many older skies were supplied. It works, but six files are harder to keep in step than one, and the faces must be exported in the orientation Unity expects. Given a choice, use the panoramic image.

Skybox resolution and texture memory

A sky is on screen almost all the time and is magnified across the whole view, so it deserves more resolution than most textures. It also stays in memory for the whole level. Getting the balance right starts with knowing what each size actually costs. The table below is calculated from the pixel count and the bytes each format uses per pixel, before mipmaps.

Sky sizeUncompressed 8-bit RGBABC7 or ASTC 4×4ASTC 6×6Half-float RGBA (HDR)BC6H (HDR)
2048 × 10248 MB2 MB0.9 MB16 MB2 MB
4096 × 204832 MB8 MB3.6 MB64 MB8 MB
8192 × 4096128 MB32 MB14 MB256 MB32 MB

Add about a third for a full chain of mipmaps. BC7 and BC6H are the desktop and console formats for colour and HDR respectively; ASTC is the mobile and standalone VR format, where a larger block size such as 6×6 trades some quality for a smaller texture. Two practical points follow. First, never ship an HDR sky uncompressed: at 8K it is a quarter of a gigabyte. Second, a file’s size on disk tells you nothing about its size in memory. An 8K PNG of a few tens of megabytes still becomes 128 MB of texture unless it is compressed on import. Your engine will show the real figure: Unity lists it under the texture preview in the Inspector, and Unreal’s texture editor shows the resource size. Skybox texture size and memory, explained works through the maths and suggests settings for each platform.

PlatformSuggested sizeWhy
PC and console8192 × 4096The sky stays sharp across a wide, high-resolution view, at about 32 MB compressed.
Mobile4096 × 2048Memory is tight and screens are small; 4K holds up well.
Standalone VR8K where memory allows, otherwise 4KHeadsets magnify the sky, so test on the device.

Skies are almost entirely smooth gradients, the hardest thing for block compression to get right. The lowest-quality formats, such as BC1, show visible banding in a clear sky; BC7 on desktop and ASTC 4×4 or 6×6 on mobile hold up far better. Always generate at the highest resolution you can and make smaller copies for each platform. It is easy to downscale later and impossible to add detail that was never there.

Generate the sky your level is set under

Game environments

Generate the sky your level is set under

Describe the setting and pick the art style your game uses. Studio builds the whole sphere, seamless and pole-corrected, ready for your engine.

  • Photoreal, painted or low poly
  • Near, middle and sky prompt layers
  • PNG or EXR, up to 8K
Join the waitlist

Matching the sky to the art direction

A photographic sky behind stylised characters is one of the quickest ways to make a game look unfinished. Players may not be able to say what is wrong, but they notice the clash between a sky with photographic noise and grain and a world of clean, painted surfaces. Choose the style of the sky to match the rest of the art: painted skies for painterly games, low poly for low poly worlds, photoreal only when the rest of the game is. Stylised skyboxes shows how to match a sky to the art style, palette and values included.

Style is only the first check. A few more make the sky sit in the level rather than on top of it:

  • Value. Keep the sky a little darker or calmer than the play space, so characters and objectives read against it. A blazing sky pulls the eye upwards, away from the game.
  • Saturation and haze. Distant things look paler and bluer through air. A sky that is more saturated than the foreground looks pasted on; one that is slightly hazier sits behind it.
  • Light direction. The sun, or the brightest part of the sky, must agree with the direction of the level’s shadows. This is the most common mismatch, and the easiest to fix by rotating the sky.
  • Palette and time of day. A warm dusk sky over a level lit with cold, white noon light never looks right. Describe the level’s palette and hour in the prompt so the sky and the lighting tell the same story.
  • Consistency across levels. Use the same style preset for every sky in a game and change a few words at a time, so a set of levels feels like one world.

Skyboxes for different kinds of game

How much of the sky players see, and how closely they look at it, depends on the camera. That changes where the resolution and the detail should go.

  • First and third person: the player can look anywhere, so the whole sphere is on screen at some point, and the horizon most of the time. Use 8192 × 4096 and put the detail on the horizon.
  • Top-down, isometric and strategy: the camera rarely sees the sky itself. Its main jobs are ambient light and reflections, so 4096 × 2048 is often plenty and an EXR matters more than extra pixels. The sky still sets the colour of the whole scene, so choose it as carefully.
  • Racing and flight: players move fast and watch the horizon constantly, so a clean, continuous horizon matters more than detail overhead. At altitude, the lower half of the world can show beyond the terrain’s draw distance, so the ground in the image must suit the height people fly at.
  • Space games: there is no horizon and no up, so every part of the sphere is equally visible, including the poles. Pole correction and a seamless wrap matter more here than in any other genre, and stars need enough resolution to stay points rather than smudges.
  • Menus and cut scenes: the camera is under your control, so you know exactly which part of the sky is seen. Turn the world so the best part of it sits behind the action.

Day, night and weather with image skies

An image sky shows one moment, but it does not have to stay frozen. There are several ways to make it change, from the simplest upwards:

  • Generate a set. Describe the same place at dawn, midday, dusk and night, changing only the light in the prompt and keeping the style preset, and give each level or chapter the sky that suits it.
  • Tint and dim it. Unity’s panoramic skybox material has Tint Color and Exposure settings, and most engines offer the equivalent. Darkening and cooling the sky a little is often enough to suggest a storm coming in.
  • Turn it slowly. Rotating the sky very slowly makes clouds appear to drift. Keep it slow enough that nobody notices the sky itself moving, and never do it in VR.
  • Blend between two skies. A material that cross-fades between two sky textures over a few seconds can move from clear to stormy at a scripted moment. Unity’s standard skybox materials show a single image, so this needs a simple custom sky shader; in Unreal it is a blend between two cubemaps in a sky sphere material.

Whenever the sky changes, the lighting has to change with it, either by capturing it again at run time or by switching between lighting baked for each state. If the time of day must move continuously through a full cycle, a procedural sky is usually the better tool, with image layers still adding distant scenery.

Lighting a scene from its skybox

Image-based lighting uses the environment for two kinds of light. Diffuse light is the soft fill from the whole sky, averaged into a very low-detail version that engines store compactly, for example as spherical harmonics in Unity’s ambient probe. Specular light is the reflection of the sky in shiny surfaces, stored in reflection cubemaps whose blurrier mip levels stand in for rougher materials. Both are generated from your skybox, so changing the sky changes the lighting everywhere.

Export the sky as EXR when it will light the scene. In an 8-bit PNG the sun and the bright sky around it are clipped to plain white, so the lighting they produce is flat and directionless. A floating-point EXR keeps the bright areas brighter than white, so they still stand out in the lighting and reflections.

Even so, keep a real directional light for the sun. Sky lighting is soft by nature, and crisp, cast shadows need a light with a direction. Rotate the sky until its brightest area sits where you want the sun, point the directional light the same way, and match its colour to the sky around the sun. Then balance the two: raise the directional light for a hard, sunny look, or the sky contribution for an overcast one.

Finally, remember to refresh the lighting after you change the sky. In Unity, generate lighting again from the Lighting window if the ambient colour has not updated. In Unreal, recapture the Sky Light, or turn on its Real Time Capture. Many “the lighting does not match my sky” problems are simply old lighting data.

Horizon, scale and parallax

A skybox is drawn as if it were infinitely far away. As the player walks, it does not move, and nothing in it moves relative to anything else. For the sky and distant scenery that is correct: the sun and the far mountains should not shift as you cross a courtyard. For anything close, it breaks the illusion at once, because real nearby objects slide past the background as you move. That effect is parallax, and a single image cannot produce it.

  • Keep the detail far away. Stage the sky’s detail on the horizon or beyond. Near elements belong in the level as real geometry.
  • Bridge the middle distance. Between the level and the sky, low-detail models or flat cards of hills and buildings give some parallax without much cost.
  • Line up the horizon. In a level world the horizon runs across the middle of the image. Make sure your terrain meets it without a gap or an overlap, and turn the sky so its landmarks sit where your level needs them.
  • Hide the join with fog. Match the fog colour to the sky just above the horizon, so the far edge of the terrain fades into the sky instead of ending at a line.
  • Mind the ground in the image. The lower half of a world usually shows ground seen from a particular height. If your terrain covers it, it only matters for reflections and lighting; if players can see it, it must suit their height and the scale of the level.

Setting up a skybox in each engine

Unity

Import the image and raise Max Size to 8192 in its import settings, because Unity caps textures at 2048 by default. Create a material with the Skybox/Panoramic shader, set Mapping to Latitude Longitude Layout and assign the texture, then set it as the Skybox Material on the Environment tab of Window › Rendering › Lighting. That works in the Built-in and Universal render pipelines. In HDRP, import the image as a cubemap and use an HDRI Sky override on a Volume. The Unity skybox guide has every step, the cubemap method and fixes for common problems, and how to make a skybox in Unity adds HDRP, import settings and lighting from the sky in detail.

Unreal Engine

Enable the HDRI Backdrop plugin, import the world as a latitude-longitude .hdr file so it arrives as a cubemap, and drag an HDRI Backdrop actor into the level with the cubemap assigned. The backdrop projects the world around the level and lights it through its own Sky Light; add a Directional Light for the sun. To light the level without showing the image, use a Sky Light with its Source Type set to SLS Specified Cubemap. The Unreal Engine skybox guide covers the backdrop’s settings in detail, and HDRI Backdrop in Unreal Engine 5 walks through every property, from Projection Center to matching the sun.

Godot 4

Add a WorldEnvironment node and give it a new Environment. Set Background › Mode to Sky, create a Sky, and give the sky a PanoramaSkyMaterial with your image as its Panorama. To light the scene from the world, set the environment’s Ambient Light and Reflected Light sources to Sky. For sharper reflections, raise the sky’s Radiance Size, at some cost in memory and update time. How to make a skybox in Godot 4 covers each setting, the tonemapper and performance.

Blender

In the World properties, add an Environment Texture node, connect it to the Background shader’s Color input and open your image, leaving the projection on Equirectangular. The Background’s Strength sets how bright the world is. To turn the world, put a Mapping node, driven by Texture Coordinate › Generated, in front of the texture and change its Z rotation. It lights the scene in both Cycles and Eevee. To keep the lighting but hide the image in renders, tick Film › Transparent in the render properties. How to add an HDRI in Blender goes step by step, including showing the camera a different background from the one that lights the scene.

Whichever engine you use, the image is the same: one 2:1 equirectangular world at 8192 × 4096, PNG for a visible sky or EXR to light the scene.

Common skybox problems and how to fix them

ProblemLikely causeFix
The sky looks soft or blurryImported below its full resolutionRaise the maximum texture size to 8192
A thin line runs down one sideMipmaps sampling across the wrapTurn off mipmaps for the sky, or use a cubemap
Banding in a clear skyLow-quality compressionUse BC7 or ASTC 4×4, or add slight noise before import
The lighting does not match the skyOld lighting data, or ambient light not taken from the skyRegenerate or recapture the lighting, and set the ambient source to the sky
The sun is on the wrong sideThe sky faces the wrong wayRotate the sky, then point the directional light to match
A hard line where the terrain meets the skyThe terrain ends before the image’s horizonFog matched to the horizon colour, or distant cards of hills
The sky looks too closeNear detail in the image, which does not move as the player doesGenerate it again with the detail staged far away
Reflections are too bright or too dullSky and sun intensities not balancedAdjust the sky’s intensity separately from the directional light

Engine-specific versions of these fixes are on the Unity and Unreal Engine pages.

Performance checklist

  • Raise the engine’s maximum texture size for the sky, or it will be quietly downscaled on import.
  • Compress the sky for shipping builds with a high-quality format (BC7 or BC6H on desktop, ASTC on mobile), and keep the PNG or EXR as the source.
  • Check the texture’s real memory size in the engine, not its file size on disk.
  • If a thin line appears where a panoramic sky wraps, turn off mipmaps for that texture, or convert it to a cubemap, which has no wrap line.
  • Give the reflection probes only as much resolution as your materials need; rough surfaces never show the difference.
  • Make a smaller copy per platform rather than one compromise size for all of them.
  • Test on the lowest-spec target device before settling on a resolution.

Where do game skyboxes come from?

There are four usual sources, and each has its place. Stock HDRI libraries are quick and physically accurate, but they are photographs of somewhere else, and a photographic sky rarely suits a stylised game. Painting or commissioning a sky gives you exactly what you want, at the cost of days of work and a new invoice for every revision. General AI image tools are fast, but they make flat, framed pictures rather than seamless spheres. A 360° world generator builds the sky from your own description, in your game’s style, as a complete sphere that wraps cleanly, so a sky can be tried, changed and replaced as quickly as the level around it.

How it compares

Other ways to get an environment

Where a generated skybox fits against the other ways of getting one.

Feature WorldGen360 Studio Stock HDRI libraries Hand-painted or commissioned General AI image tools
Built from your own description Yes No Pick the closest match Yes Yes
Built from your own photo Yes Photo reference No Yes As the artist's reference Partly Flat frames only
Full 360° sphere with a seamless wrap Yes Repaired and checked Yes Yes No Usually a flat frame
No pinching when you look straight up or down Yes Poles rebuilt Yes Partly Depends on the artist No
Style control: photoreal, painted, low poly Yes Six styles No Photographic only Yes Yes
Change a finished world Yes Remix, Magic Eraser No Partly Another revision round Partly Usually start again
Captured true HDR for physically accurate lighting Partly EXR export for extra range Yes Partly No
Time to a first result About 2-3 minutes Instant, if a match exists Days to weeks Seconds, but not 360°

Frequently asked questions

What is a skybox in a game?

A skybox is the 360° image a game engine draws behind everything else in a level, such as the sky, clouds and distant scenery. It is drawn as if infinitely far away, so it never gets closer as the player moves, and engines also use it to light the scene and fill reflections.

What resolution should a game skybox be?

8192 × 4096 for PC and console games, which takes about 32 MB of video memory with BC7 compression. For mobile, 4096 × 2048 is usually enough and takes about 8 MB with ASTC 4×4. Generate at 8K and downscale for each platform.

Should I use a cubemap or a panoramic skybox?

Keep the master as a panoramic (equirectangular) image, because every tool reads it. In the engine, either works: a panoramic material is quickest to set up, and a cubemap avoids the thin line some engines show where a panoramic image wraps. Many engines convert a panorama to a cubemap on import anyway.

Does the skybox light the scene?

Yes, in most engines. Unity, Unreal Engine, Godot and Blender can all use the sky for ambient light and reflections. Export an EXR for the best lighting, keep a directional light for the sun and its shadows, and regenerate or recapture the lighting whenever you change the sky.

Can I make a game skybox with AI?

Yes. WorldGen360 Studio generates a complete 360° sky from a text description, in the style your game uses, as one seamless 2:1 image at up to 8192 × 4096. Before using any AI skybox, look straight up, straight down and all the way round to check the poles and the wrap.

Share this article

Articles in this guide

Studio · Q4 2026

Describe a place. Stand inside it.