This guide walks you through how to set lighting to mobile in Unreal Engine 4, covering essential techniques to balance visual quality and performance. You’ll learn how to use mobile-specific lighting features, optimize settings, and avoid common pitfalls.
Quick Answers to Common Questions
Should I use movable lights on mobile?
Avoid movable lights unless absolutely necessary. They’re too heavy for most mobile devices. Use stationary or static lights instead.
How do I reduce lighting build times?
Lower lightmap resolutions, reduce the number of lights, and use the Lightmass Importance Volume to focus baking on key areas.
Can I use ray tracing on mobile?
No, ray tracing is not supported on mobile devices in Unreal Engine 4. Use baked lighting and screen-space effects instead.
What’s the best lightmap resolution for mobile?
Start with 64 for most objects. Increase to 128 only for large, detailed meshes. Avoid going higher.
How do I test lighting without a device?
Use the Mobile Preview mode in Unreal Editor. It simulates mobile rendering, though real-device testing is still recommended.
Introduction: Why Mobile Lighting Matters in Unreal Engine 4
Lighting is one of the most important aspects of game development—it sets the mood, guides the player, and brings your world to life. But when it comes to mobile games, lighting presents a unique challenge. Unlike high-end PCs or consoles, mobile devices have limited processing power, memory, and battery life. That means you can’t just copy your PC lighting setup and expect it to run smoothly on a smartphone.
In this guide, you’ll learn how to set lighting to mobile in Unreal Engine 4 the right way. We’ll cover everything from basic lighting modes to advanced optimization techniques. Whether you’re building a mobile VR experience, a casual puzzle game, or an action-packed AR title, this guide will help you create stunning visuals that run smoothly on mobile hardware.
By the end of this tutorial, you’ll know how to configure lighting settings, choose the right light types, optimize lightmaps, and test your game on real devices. Let’s get started!
Understanding Lighting Modes in Unreal Engine 4
Before diving into mobile-specific settings, it’s important to understand the three main lighting modes in Unreal Engine 4: Static, Stationary, and Movable. Each has different performance costs and use cases, especially on mobile.
Visual guide about How to Set Lighting to Mobile in Unreal Engine 4
Image source: img.edc-cdn.net
Static Lighting
Static lights are baked into lightmaps during the build process. They don’t change at runtime, which makes them very efficient. Because the lighting is precomputed, there’s no real-time calculation needed—this saves CPU and GPU power. Static lighting is ideal for environments that don’t change, like buildings, terrain, or static props.
On mobile, static lighting is your best friend. It provides high-quality shadows and lighting with minimal performance impact. However, the downside is that you can’t move or change these lights during gameplay. So if you need dynamic lighting (like a flickering torch), static won’t work.
Stationary Lighting
Stationary lights are a middle ground. They have baked shadows like static lights, but their color and intensity can change at runtime. This makes them perfect for lights that need to flicker, dim, or change color—like a neon sign or a flashlight.
On mobile, stationary lights are more expensive than static ones because they require some real-time calculations. But they’re still much cheaper than movable lights. Use them when you need dynamic effects without sacrificing too much performance.
Movable Lighting
Movable lights are fully dynamic. They can move, change color, intensity, and direction in real time. This makes them ideal for moving characters, vehicles, or interactive elements like switches.
However, movable lights are the most performance-intensive. They don’t use lightmaps and require real-time shadow calculations, which can quickly drain mobile GPUs. Use them sparingly—only when absolutely necessary.
Step 1: Configure Project Settings for Mobile
The first step in setting up mobile lighting is to configure your project settings correctly. Unreal Engine 4 has built-in mobile rendering features, but they need to be enabled.
Visual guide about How to Set Lighting to Mobile in Unreal Engine 4
Image source: gfxfather.com
Enable Mobile HDR
Mobile HDR (High Dynamic Range) allows for more realistic lighting and color grading on mobile devices. It’s especially useful for games with outdoor scenes or dramatic lighting.
To enable Mobile HDR:
- Go to Edit > Project Settings.
- Navigate to Platforms > Android or iOS, depending on your target platform.
- Under Rendering, check the box for Mobile HDR.
Note: Mobile HDR increases GPU usage, so only enable it if your target devices support it (most modern smartphones do).
Set Mobile Precomputed Lighting
Mobile Precomputed Lighting is a must for static and stationary lights. It ensures that lighting is baked efficiently for mobile hardware.
To enable it:
- In Project Settings, go to Engine > Rendering.
- Under Lighting, check Mobile Precomputed Lighting.
This setting tells Unreal to optimize lightmaps and shadow data specifically for mobile platforms.
Adjust Shader Quality
Mobile devices can’t handle high-end shaders. To improve performance, lower the shader quality for mobile.
- In Project Settings > Platforms > Android/iOS, find Shader Platform.
- Set it to ES3.1 or ES2 depending on your target devices.
ES3.1 supports more features than ES2, but ES2 is more widely compatible. Choose based on your audience.
Step 2: Optimize Lightmap Settings
Lightmaps store precomputed lighting data. On mobile, large lightmaps can consume too much memory and slow down loading times. Optimizing them is crucial.
Reduce Lightmap Resolution
Lower lightmap resolutions reduce memory usage and improve performance. However, too low a resolution can cause blurry or pixelated shadows.
To adjust lightmap resolution:
- Select a static mesh in your level.
- In the Details panel, find Lightmap Resolution.
- Set it to a value between 32 and 128 for most objects.
For small props, 32–64 is usually enough. For large buildings or terrain, you can go up to 128. Avoid going higher unless absolutely necessary.
Use Lightmap Density Visualization
Unreal Engine provides a tool to visualize lightmap density. This helps you spot areas with unnecessarily high resolution.
To use it:
- Press Alt + 2 in the viewport.
- Look for red or yellow areas—these indicate high lightmap density.
- Reduce the resolution on those objects.
Green areas are optimal. Aim for a mostly green view.
Optimize Lightmap UVs
Lightmap UVs are separate from regular texture UVs. Poorly laid-out UVs can cause stretching or wasted space.
To fix this:
- Use the Generate Lightmap UVs option when importing meshes.
- Or, manually unwrap UVs in a 3D modeling tool like Blender or Maya.
Ensure there’s no overlapping and that UVs are evenly spaced.
Step 3: Choose the Right Light Types
Now that your project is configured, it’s time to place lights in your level. Choosing the right type is key to performance.
Use Directional Lights for Sunlight
For outdoor scenes, use a Directional Light to simulate the sun. Set it to Static or Stationary for best performance.
Tips:
- Enable Cascaded Shadow Maps (CSM) for large outdoor areas.
- Reduce the Dynamic Shadow Distance to 5000–10000 units to save performance.
- Use Mobile CSM for better mobile compatibility.
Use Point and Spot Lights Sparingly
Point and spot lights are more expensive than directional lights. Use them only where needed—like lamps, flashlights, or interior lighting.
Best practices:
- Set them to Static if they don’t move.
- Use Stationary if they need to change color or intensity.
- Avoid Movable unless absolutely necessary.
Avoid Using Too Many Lights
Each light adds to the rendering cost. On mobile, try to keep the total number of lights under 10–15 per scene.
Combine lights where possible. For example, use one large area light instead of multiple small ones.
Step 4: Enable Mobile-Specific Rendering Features
Unreal Engine 4 includes several mobile-specific rendering features that can improve performance and visual quality.
Enable Mobile Multi-View (MVR)
Mobile Multi-View is a VR optimization that renders both eyes in a single pass. It’s essential for mobile VR games on devices like Oculus Quest.
To enable MVR:
- Go to Project Settings > Platforms > Android.
- Under VR, check Mobile Multi-View.
This can reduce GPU load by up to 30% in VR scenes.
Use Mobile Dynamic Shadows
Dynamic shadows are expensive on mobile. Use them only when necessary.
To optimize:
- Set Dynamic Shadow Distance to a low value (e.g., 2000 units).
- Use Static Shadows for most objects.
- Enable Mobile Dynamic Shadows only for key characters or objects.
Adjust Shadow Quality
Lower shadow quality settings improve performance.
- In Project Settings > Engine > Rendering, set Shadow Quality to Low or Medium.
- Disable Contact Shadows and Ray Traced Shadows—they’re not supported on mobile.
Step 5: Optimize Post-Processing for Mobile
Post-processing effects like bloom, depth of field, and color grading can look great—but they’re heavy on mobile GPUs.
Simplify Post-Process Volume
Use a Post Process Volume with minimal effects.
- Enable only Bloom and Color Grading if needed.
- Disable Motion Blur, Depth of Field, and Screen Space Reflections.
These effects are too costly for most mobile devices.
Use Mobile-Friendly Tonemappers
Choose a tonemapper that works well on mobile.
- In the Post Process Volume, set Tonemapper to Filmic or Reinhard.
- Avoid ACES—it’s too complex for mobile.
Reduce Anti-Aliasing
Anti-aliasing smooths jagged edges but uses GPU power.
- Use FXAA instead of MSAA or TAA.
- FXAA is faster and works well on mobile.
Step 6: Build and Test on Real Devices
No amount of in-editor testing can replace real device testing. Mobile hardware varies widely, and performance issues often only appear on actual devices.
Build for Android or iOS
To test on a real device:
- Connect your phone via USB.
- In Unreal Editor, go to File > Package Project.
- Select Android or iOS and build.
- Install the APK or IPA file on your device.
Use Device Performance Tools
Unreal Engine includes tools to monitor performance:
- Enable Stat Unit and Stat GPU in the console.
- Look for high frame times or GPU bottlenecks.
- Use Mobile Preview in the editor to simulate mobile performance.
Test in Different Conditions
Test your game in various lighting conditions and device orientations. Some devices throttle performance when hot, so test after prolonged use.
Troubleshooting Common Mobile Lighting Issues
Even with careful setup, you might run into issues. Here’s how to fix the most common ones.
Dark or Missing Shadows
If shadows are missing or too dark:
- Check that lights are set to Static or Stationary.
- Ensure Cast Shadows is enabled.
- Verify that Lightmap Resolution is high enough.
Low Frame Rate
If your game is running slowly:
- Reduce the number of dynamic lights.
- Lower lightmap resolutions.
- Disable unnecessary post-processing effects.
Lighting Looks Washed Out
If lighting appears flat or washed out:
- Enable Mobile HDR.
- Adjust Exposure in the Post Process Volume.
- Use higher-contrast textures.
Lighting Doesn’t Update
If stationary lights don’t change:
- Ensure they’re not set to Static.
- Check that Light Function or Intensity is being modified via Blueprint or code.
Conclusion: Master Mobile Lighting in Unreal Engine 4
Setting up lighting for mobile in Unreal Engine 4 doesn’t have to be overwhelming. By understanding the differences between lighting modes, optimizing lightmaps, and using mobile-specific features, you can create visually stunning games that run smoothly on smartphones and tablets.
Remember: performance is king on mobile. Always prioritize efficiency without sacrificing too much visual quality. Test early, test often, and test on real devices. With the techniques in this guide, you’re well on your way to mastering mobile lighting in Unreal Engine 4.