Built-In Mobile Lighting Box

About Built-In Mobile Lighting Box – Unity Editor Tool & Plugin

Built-In Mobile Lighting Box Unity Asset Overview

The Built-In Mobile Lighting Box functions as an editor-driven orchestration suite designed to simplify and automate lighting configurations for Unity's legacy Built-In Render Pipeline (BiRP). At its architectural core, the system avoids heavy runtime runtime overhead by relying on an editor-time automation pipeline. Configuration states are serialized using Unity's ScriptableObject architecture, ensuring that settings are decoupled from scene files and can be dynamically swapped across different environments. From a compilation and scripting standpoint, the tool divides its codebase using assembly definitions (Assembly Definition Files) to isolate editor-only scripts from runtime dependencies. This separation prevents any compilation issues when targeting highly constrained platforms via IL2CPP. Since the runtime components strictly modify global RenderSettings, light structures, and material properties, they generate virtually zero runtime GC (Garbage Collector) allocations. This is highly beneficial for mobile hardware where garbage collection spikes directly translate to frame-rate stutters. Below is an architectural representation of how a LightingBoxProfile handles serialized lighting parameters and applies them to the current scene environment at editor-time or during scene load.
using UnityEngine;

[CreateAssetMenu(fileName = "MobileLightingProfile", menuName = "LightingBox/Mobile Profile")]
public class MobileLightingProfile : ScriptableObject
{
    [Header("Global Ambient Settings")]
    public AmbientMode ambientMode = AmbientMode.Flat;
    public Color ambientColor = new Color(0.2f, 0.2f, 0.25f);
    
    [Header("Directional Light Settings")]
    public Color lightColor = Color.white;
    [Range(0f, 8f)] public float lightIntensity = 1f;
    public LightShadows shadowType = LightShadows.Hard;

    [Header("Fog Configuration")]
    public bool enableFog = true;
    public FogMode fogMode = FogMode.ExponentialSquared;
    public Color fogColor = new Color(0.5f, 0.6f, 0.7f);
    public float fogDensity = 0.01f;

    public void ApplySettings(Light targetLight)
    {
        RenderSettings.ambientMode = ambientMode;
        RenderSettings.ambientLight = ambientColor;
        RenderSettings.fog = enableFog;
        if (enableFog)
        {
            RenderSettings.fogMode = fogMode;
            RenderSettings.fogColor = fogColor;
            RenderSettings.fogDensity = fogDensity;
        }

        if (targetLight != null)
        {
            targetLight.color = lightColor;
            targetLight.intensity = lightIntensity;
            targetLight.shadows = shadowType;
        }
    }
}

Inspector Configuration & Workflow

The tool provides an integrated editor window powered by SerializedProperties and CustomPropertyDrawers. This editor-centric configuration console acts as a unified control panel, aggregating settings that are typically scattered throughout the Lighting Window, Quality Settings, and individual camera component inspectors.

Global Lighting State Validation

The custom inspector implements validation loops inside OnGUI(), monitoring active lights and checking current project settings against hardware capabilities. For example, if a developer configures real-time soft shadows with high resolution, the tool flags this setting as a bottleneck for lower-end mobile devices and suggests immediate optimization fallbacks.

Mobile-Optimized Post-Processing Stack Mapping

Instead of relying on the performance-heavy post-processing stack, this asset utilizes highly optimized mobile-friendly lookup tables (LUTs), fast bloom, and low-overhead vignetting shaders. The inspector interface provides sliders to dynamically adjust color grading, mapping these values to mobile-optimized shader variables on the fly.

Quick-Start Unity Integration Guide

Setting up the asset within a new or existing mobile scene involves a straightforward, non-destructive integration workflow:
  1. Import the Asset: Bring the package into your project. Ensure your active render pipeline is set to Built-In Render Pipeline under your graphics settings.
  2. Instantiate the Manager Prefab: Locate the main lighting manager prefab and place it into your target scene. This prefab contains the controller script which references your active scene camera.
  3. Create a Lighting Profile: Right-click in your Project window, select Create -> LightingBox -> Mobile Profile, and name your new configuration file.
  4. Assign the Profile: Select the manager in your hierarchy and drag your newly created profile into the assigned field.
  5. Execute Setup: Click the "Apply & Optimize" button in the inspector window. This action configures the active Directional Light, RenderSettings ambient lighting, and default lightmapping settings instantly.

Performance Optimization & Profiling Analysis

For mobile optimization, balancing the CPU-to-GPU workload is critical. By analyzing mobile configurations using the Unity Profiler, the asset targets critical rendering bottlenecks:

Pros & Cons Analysis

Pros: Cons:

Asset Details & Specifications

CategoryTools / Utilities
Latest Versionv1.1
File Size50.73 MB
Added to PlatformFebruary 5, 2026
Views3 views
Downloads0 downloads
Favourites0 favourites
Issue with Package?Report Broken Link →

Related Unity Tools Assets