Shader parameters animation through AnimationPlayer doesn't ease continuously

Godot Version

v4.2.1.stable.official [b09f793f5]

Question

I’m having an issue animating a shader parameter with an AnimationPlayer. I’m tweening programmatically just fine between some of the parameters of the same shader, but this one I’d like to control it through an AnimationPlayer to make a cutscene.

I declare the parameter as uniform float grey in the shader (no hint, but that doesn’t seem to make a difference). I then create an animation track, and that comes out quite convoluted. I then create the keyframes I need (1: zero, 2: zero, 3: actual value) and this is the result. The TV screen should fade in but instead it jumps in at the third keyframe.

The track is set to UpdateMode.UPDATE_CONTINUOUS and I get the following error:

W 0:00:03:0240   _update_caches: AnimationMixer: 'Startup', Value Track: 'Screens/F_Screen/group/pasted__pCube1/pasted__polySurface2/pasted__polySurface2_screenReflect_0:surface_material_override/0:shader_parameter/grey' uses a non-numeric type as key value with UpdateMode.UPDATE_CONTINUOUS. This will not be blended correctly, so it is forced to UpdateMode.UPDATE_DISCRETE.
  <C++ Source>   scene/animation/animation_mixer.cpp:879 @ _update_caches()

Any ideas?

EDIT This might be related. Turns out some of the keyframes were of type Nil so Godot was freaking out.