### Godot version

4.2 Beta 4

### System information

Windows 11

### Issue description

Hello! I ran into something that I thought was a bit confusing the other day. I wrote a shader for my tilemap and it stopped interacting with my PointLight2D Nodes. I spent quite a while trying to figure it out and then just by chance I noticed that my shader still had the empty light() function that the template creates. When I removed it it started working again.

It would be a nice QOL update to add a comment or something to that template function indicating to people that it is overriding ALL lighting behavior (as opposed to being additive or doing nothing if left empty). I'm sure this is obvious to more experienced developers, but since this is my first shader I only really found it by pure chance as I couldn't find this documented anywhere or in any videos.

### Steps to reproduce

Make any shader, leave the light function empty. Observe that Nodes that use that shader no longer interact with light sources.

### Minimal reproduction project

N/A
}
		emit_signal(SNAME("shader_include_created"), shader_inc);
	} else {
		if (!is_built_in) {
			String lpath = ProjectSettings::get_singleton()->localize_path(file_path->get_text());
			shader->set_path(lpath);
			Error error = ResourceSaver::save(shader, lpath, ResourceSaver::FLAG_CHANGE_PATH);
			if (error != OK) {
				alert->set_text(TTR("Error - Could not create shader in filesystem."));
				alert->popup_centered();
				return;
			}
		}
		emit_signal(SNAME("shader_created"), shader);
	}
	file_path->set_text(file_path->get_text().get_base_dir());
	hide();
}
void ShaderCreateDialog::_load_exist() {
	String path = file_path->get_text();
	Ref<Resource> p_shader = ResourceLoader::load(path, "Shader");
	if (p_shader.is_null()) {
		alert->set_text(vformat(TTR("Error loading shader from %s"), path));
		alert->popup_centered();
		return;
	}
	emit_signal(SNAME("shader_created"), p_shader);
	hide();
}
void ShaderCreateDialog::_type_changed(int p_language) {