v1.0 · Unity 2020.3+

SkyboxLab

Generate AI-powered 360° skyboxes from text prompts, directly inside the Unity Editor. No accounts, no API keys — just your Asset Store invoice number.

Unity 2020.3+ 50 Gens / Month 8K Output BiRP / URP / HDRP

🏠 Overview

Type a prompt, click generate, get a production-ready skybox in under a minute.

SkyboxLab is a Unity Editor plugin that connects to the SkyboxLab cloud backend to generate high-quality, AI-generated 360° panoramic skyboxes from simple text descriptions. The result is downloaded, imported with correct texture settings, turned into a Skybox/Panoramic material, and optionally applied to your scene — all without ever leaving Unity.

💡
No accounts, no API keys. SkyboxLab is activated with your Unity Asset Store invoice number. No separate website registration, no API keys to manage. Just enter your invoice, verify, and start generating.

Generation Flow

✍️ Type prompt 🚀 Send to cloud ⏳ Poll progress 🔄 Seam fix + upscale 📦 Download PNG 🌎 Apply to scene

Quick Start

Get up and running in under 2 minutes.

Import the package
Import SkyboxLab into your Unity project via the Asset Store. All files live under Assets/SkyboxLab/.
Open the plugin
Go to Window → SkyboxLab → Skybox Generator. A welcome popup will guide you on first open.
Enter your invoice
Paste your Invoice Number from the Asset Store purchase email (starts with IN) and click Verify Invoice.
Write a prompt
Type a description, e.g. "Vast savanna at golden hour, acacia trees, dramatic orange sky"
Generate!
Optionally pick a Style preset, then click Generate Skybox. In 30–90 seconds, your skybox is imported and applied to the scene.
No dependencies. SkyboxLab uses only built-in Unity APIs (UnityWebRequest, EditorWindow, TextureImporter, AssetDatabase) and the built-in Skybox/Panoramic shader. No packages to install.

📄 Invoice Activation

Your Asset Store invoice number is your license key.

SkyboxLab uses your Unity Asset Store invoice number to verify your purchase and manage your generation quota. No separate account, API key, or registration is needed.

How to find your invoice number

  1. Check the purchase confirmation email from the Unity Asset Store. The invoice number starts with IN followed by 8–18 characters (e.g. IN0123456789AB).
  2. You can also find it in your Unity Asset Store order history.

Activating the plugin

Open the SkyboxLab window (Window → SkyboxLab → Skybox Generator).
Enter your invoice number in the Invoice Number field.
Click Verify Invoice.
On success, you'll see a green message: "✓ Verified — X of Y generations remaining this month".
💡
Automatic verification. When you enter a valid invoice number for the first time, the server automatically verifies your purchase against the Unity Asset Store and activates your license. No manual approval or waiting required.

Invoice section controls

ControlDescription
Invoice NumberYour Unity Asset Store invoice number, starting with IN. Find it in your purchase email or order history.
Verify InvoiceValidates your invoice with the SkyboxLab server and displays remaining generations.

Activation

Paste your Unity Asset Store invoice number into the field at the top of the SkyboxLab window and click Verify Invoice. Your invoice activates the asset across all your installations — there's no machine-specific binding.

Your purchase includes 50 generations every month. Cached prompts return instantly without using your allowance.

If you need to clear a stored invoice (for example, after a typo), use Window → SkyboxLab → Forget Invoice.

📊 Monthly Quota

50 generations every month, included with your purchase.

Your purchase includes 50 generations every month. The allowance is issued every month for as long as you own the asset.

How the allowance works

💡
Quota display. After verifying your invoice, the plugin shows: "✓ Verified — 48 of 50 generations remaining this month". This updates in real-time as you generate.

🔃 Plugin Updates

Update from the Unity Asset Store at any time for the latest features.

New versions of SkyboxLab are released through the Unity Asset Store. You can update at any time from your order history or from the Package Manager.

🖼 Editor Window

Your single control panel for everything.

Open it via Window → SkyboxLab → Skybox Generator. The window is resizable and divided into these sections from top to bottom:

SectionDescription
InvoiceInvoice number input, verification status, and remaining-generations display
PromptMain text prompt input area
StyleCollapsible style preset picker (12 presets)
Negative PromptCollapsible field for things to avoid in the generation
OptionsQuality (with optional 4× upscale), diffusion steps, and CFG guidance controls
Import SettingsAuto-apply skybox and ambient lighting update toggles
GenerateThe generate button, progress bar, and cancel button
Recent SkyboxesThumbnail gallery of all previously generated skyboxes

All settings are persisted between Unity sessions via EditorPrefs.

💬 Prompt Guide

The prompt is the most important factor in the quality of your skybox.

What works well

Example prompts

PromptGood For
"Vast savanna at golden hour, acacia trees, dramatic orange sky"Warm outdoor scene
"Arctic tundra at night, blazing aurora borealis, frozen lake"Night / sci-fi scene
"Ancient temple ruins in jungle clearing, shafts of golden light"Adventure / RPG scene
"Volcanic island at dusk, lava flows, fiery red sky"Dramatic action scene
"Calm ocean at sunrise, pastel pink and blue sky, gentle waves"Relaxing / casual game
"Deep space nebula, swirling purple and blue gas clouds, distant stars"Sci-fi / space game

What to avoid

Negative prompt

The negative prompt tells the AI what to avoid. A sensible default is pre-filled:

blurry, distorted, watermark, text, logo, seam, people, faces, hands,
low quality, jpeg artifacts, overexposed, underexposed, ugly, deformed

You can expand the negative prompt section to customise it for each generation.

💡
Combining styles with prompts. Styles work best when your prompt complements them. For example, pairing Cyberpunk with "Rain-soaked neon cityscape at midnight" reinforces the style, while pairing it with "Peaceful countryside meadow" creates a conflicting mix.

🎨 Style Presets

12 built-in styles that guide the AI toward a specific visual look.

Select one from the collapsible style picker below the prompt field. Only one style can be active at a time; clicking the active style again deselects it. Your typed prompt is never modified — the style keywords are appended only when the generation request is sent.

StyleKeywords Appended
Photorealphotorealistic, hyperdetailed, dramatic lighting, sharp focus, 8k
Animeanime style, cel shaded, vibrant colors, Studio Ghibli inspired
Digital Artdigital painting, concept art, matte painting, artstation trending
Cyberpunkcyberpunk, neon lights, rain-soaked streets, futuristic city
Fantasyepic fantasy, volumetric god rays, dramatic storm clouds, magical
Sci-Fihard sci-fi, space station, deep space nebula, stars
Painterlyimpressionist oil painting, painterly brushstrokes, soft light
Watercolorwatercolor illustration, soft washes, delicate details, paper texture
Horrordark horror atmosphere, ominous fog, eerie lighting, desolate
Cartooncartoon style, bold outlines, flat colors, stylized
Retroretro 1970s aesthetic, warm film grain, faded colors, nostalgic
Sky Onlysky dome only, no ground objects, spectacular cloudscape, open sky

Generation Options

Fine-tune quality, speed, and AI behavior.

OptionValuesDescription
8K Texture On Default / Off Runs a 4× AI upscale pass after generation, producing 8192×4096 output. Takes longer but significantly sharper. Recommended for production and VR.
Steps 20 (fast) / 28 (default) / 40 (quality) Number of diffusion sampling steps. More steps = more detail and coherence. 28 is the best balance for most prompts.
Guidance 1.015.0 (default 7.5) CFG scale — how closely the AI follows your prompt. Higher = more literal but can oversaturate. Lower = more creative freedom.
💡
All generations are included in your purchase. There is no per-generation cost. Both standard and 8K upscaled generations use one of your monthly generations.

📦 Import Settings

Control what happens after a skybox is downloaded.

SettingDefaultDescription
Auto-apply to scene skyboxOnAutomatically assigns the generated material to RenderSettings.skybox after import.
Update ambient lighting (GI)OnCalls DynamicGI.UpdateEnvironment() so ambient lighting and reflections match the new sky.

All generated files are saved to Assets/SkyboxLab/Generated/.

💾 Texture Import Settings

Automatically configured for optimal panoramic skybox quality.

SettingValueReason
textureTypeDefaultStandard 2D texture
npotScaleNoneKeep original 2:1 aspect ratio
mipmapEnabledfalsePrevents visible seam line on the skybox sphere
wrapModeRepeatSeamless horizontal wrapping for 360° panorama
filterModeBilinearSmooth filtering without excessive blur
maxTextureSize8192Allows full resolution import without downscaling
textureCompressionUncompressedMaximum quality, no compression artifacts
Do not re-import manually. If you manually re-import a generated texture, keep Generate Mip Maps unchecked and Wrap Mode set to Repeat. Changing these causes visible seam lines.

🌈 Material Configuration

Generated materials use Unity's built-in Skybox/Panoramic shader.

PropertyValueMeaning
_MainTex(generated texture)The equirectangular panorama
_Mapping1Latitude Longitude Layout (equirectangular)
_ImageType0360 degrees (full sphere)
_MirrorOnBack0No mirroring
_Exposure1.0Default brightness
_Rotation0No rotation offset
Adjusting after import. You can freely modify the material after import. Select it in the Project window and adjust Exposure or Rotation in the Inspector to fine-tune brightness and orientation.

🛠 Architecture

Six editor-only scripts, zero runtime overhead.

ScriptTypeResponsibility
SkyboxLabWindow.csEditorWindowMain UI. Draws all controls, manages state, persists settings via EditorPrefs, orchestrates the verify → generate → poll → import flow, and displays the gallery.
SkyboxLabAPI.csstatic classHTTP client. Handles /prod/verify, /prod/status, and /prod/generate, plus async polling. Sends X-Client-Version (and X-Invoice on downloads) headers. Uses EditorApplication.update for async polling.
SkyboxLabImporter.csstatic classDownloads the PNG with authentication headers, saves to disk, configures TextureImporter, creates Skybox/Panoramic material, and optionally applies to scene.
SkyboxLabError.csstatic classError code constants and user-friendly message mapping.
SkyboxLabWelcome.csEditorWindowOne-time welcome popup shown on first open after import.
Editor-only — zero runtime overhead. All scripts are inside an Editor/ folder, which means they are never included in your game build. Zero impact on shipped game size or performance.

📁 File Structure

Everything lives under Assets/SkyboxLab/.

Assets/
  SkyboxLab/
    Editor/
      SkyboxLabWindow.cs — Editor window UI & generation flow
      SkyboxLabAPI.cs — HTTP client (invoice auth, async polling)
      SkyboxLabImporter.cs — Download, texture import, material creation
      SkyboxLabError.cs — Error code mapping
      SkyboxLabWelcome.cs — First-open welcome popup
      SkyboxLabIcon-transparent.png — Plugin branding icon
    Documentation/
      Documentation.html — This file
    Generated/ — Output folder for skybox PNGs and materials
      skybox_20260326_143022_vast_savanna_at_golden_hour.png
      skybox_20260326_143022_vast_savanna_at_golden_hour_Mat.mat

Generated file naming convention

skybox_{yyyyMMdd_HHmmss}_{sanitised_prompt_slug}.png
skybox_{yyyyMMdd_HHmmss}_{sanitised_prompt_slug}_Mat.mat

The prompt slug is: lowercase, special characters stripped, spaces replaced with underscores, truncated to 40 characters.

🎬 HDRP Projects

HDRP requires one extra manual step.

HDRP requires manual setup. In HDRP, RenderSettings.skybox is not used for rendering. The auto-apply feature will still set it, but it won't be visible. Instead:
  1. Generate and import the skybox normally using SkyboxLab.
  2. In your scene's Volume, add a Visual Environment override and set Sky Type to HDRI Sky.
  3. Add an HDRI Sky override and assign the generated PNG texture to the texture slot.
💡
URP works out of the box. If you are using URP (Universal Render Pipeline), the auto-apply feature works as expected. No extra setup needed.

💡 Troubleshooting

Common issues and how to fix them.

📄 "Verify Invoice" shows an error
  • "Invoice numbers start with IN..." — Make sure you're entering your invoice number (starts with IN), not the order number. Check your purchase confirmation email.
  • "This invoice number isn't recognized" — Unity invoices can take 2–4 hours to become available after purchase. Try again later.
  • "This invoice has been refunded" — The purchase has been refunded. The license is no longer valid.
📊 "No generations remaining this month"

You've used all 50 generations from this month's allowance. Your next allowance arrives at the start of next month.

⏳ Generation times out after 10 minutes
  • The backend may be under heavy load. Try again in a few minutes.
  • Check your network connection — the plugin polls the server every 3 seconds.
🔄 Skybox has a visible seam line
  • SkyboxLab's pipeline automatically applies a circular-shift seam fix with AI inpainting. If you still see a faint line:
  • Verify the texture's Generate Mip Maps is unchecked in the Inspector.
  • Ensure Wrap Mode is set to Repeat.
👁 Skybox looks low-resolution
  • Enable the 8K Texture toggle for 8192×4096 output.
  • Check the texture's Max Size in the Inspector — should be 8192.
  • Ensure Compression is set to None (Uncompressed).
🎬 Skybox not visible in HDRP

See the HDRP section. You need to manually assign the texture to an HDRI Sky volume override.

⚠ Compilation errors after import
  • Ensure all .cs files are inside the Editor/ folder.
  • If you see namespace errors, confirm you are on Unity 2020.3 LTS or newer.

FAQ

Frequently asked questions.

Does this plugin affect my game's build size or runtime performance?

No. All plugin scripts are in an Editor/ folder and are excluded from builds automatically. The generated PNG textures and materials are included (like any other asset), but the plugin code has zero runtime footprint.

Can I use the generated skyboxes commercially?

Yes. Skyboxes generated through SkyboxLab are yours to use in any project, commercial or otherwise.

Can I use this plugin offline?

The plugin requires an internet connection to generate new skyboxes (AI runs on cloud GPUs). However, previously generated skyboxes in Assets/SkyboxLab/Generated/ are standard Unity assets and work fully offline.

How large are the generated textures?

With 8K Texture enabled (default), output is 8192×4096 pixels. File sizes are typically 2–20 MB per PNG. With 8K disabled, the output is at the model's native resolution.

Can I use one invoice on multiple machines?

Yes. Your invoice activates the asset across all your installations — there's no machine-specific binding.

Do unused generations carry over?

No. Unused generations do not accumulate. Your allowance is issued every month for as long as you own the asset.

Does the same prompt always produce the same result?

If all settings (prompt, style, steps, guidance, upscale) are identical, the server may return a cached result instantly without using one of your monthly generations. Otherwise, the AI produces a new unique image each time.

Can I use this with Addressables or Asset Bundles?

Yes. The generated PNG textures and materials are standard Unity assets. You can include them in Addressable groups or Asset Bundles like any other texture or material.

What happens if I delete a generated skybox file?

It will be removed from the gallery on the next window refresh. There is no way to recover it — you would need to generate a new one with a similar prompt.

📬 Support

Need help? We're here for you.

📧

Get in Touch

If you run into any issues, have feature requests, or need help integrating SkyboxLab into your project, don't hesitate to reach out.

✉ ragendom@gmail.com

We typically respond within 24–48 hours.

💬 Before Contacting
  • Check the Troubleshooting section
  • Check the FAQ section
  • Verify your invoice is correct (starts with IN)
  • Include your Unity version and render pipeline
📋 Helpful Info to Include
  • Unity version & render pipeline (BiRP/URP/HDRP)
  • SkyboxLab version (currently v1.0)
  • Console error messages (lines starting with [SkyboxLab])
  • Steps to reproduce the issue
Enjoying SkyboxLab? A review on the Unity Asset Store helps other developers discover the plugin and helps us keep improving it. Thank you!

SkyboxLab v1.0 · AI-Powered Skybox Generation for Unity

Support: ragendom@gmail.com

© 2026 SkyboxLab — All rights reserved.