diff --git a/drivers/metal/rendering_device_driver_metal.mm b/drivers/metal/rendering_device_driver_metal.mm index b6f606bfeb9..0a49dc1cb12 100644 --- a/drivers/metal/rendering_device_driver_metal.mm +++ b/drivers/metal/rendering_device_driver_metal.mm @@ -4082,9 +4082,14 @@ RenderingDeviceDriverMetal::RenderingDeviceDriverMetal(RenderingContextDriverMet context_driver(p_context_driver) { DEV_ASSERT(p_context_driver != nullptr); +#if TARGET_OS_OSX if (String res = OS::get_singleton()->get_environment("GODOT_MTL_SHADER_LOAD_STRATEGY"); res == U"lazy") { _shader_load_strategy = ShaderLoadStrategy::LAZY; } +#else + // Always use the lazy strategy on other OSs like iOS, tvOS, or visionOS. + _shader_load_strategy = ShaderLoadStrategy::LAZY; +#endif } RenderingDeviceDriverMetal::~RenderingDeviceDriverMetal() {