setValueNotifyingHost Cubase 12 Issue

Firstly I’m fairly new to JUCE so be kind.

im calling this to notify of paramater changes. In Reaper, Ableton and Studio One this works and automation is recorded. but in Cubase 11 the automation line moves but no points are recorded. Ive tested with other plugins in Cubase and they record the the points so it must be something with my plugin.

		if (auto* param = dynamic_cast<AudioParameterFloat*>(parameters.getParameter(String(elementIndex))))
		{
			param->beginChangeGesture();
			param->setValueNotifyingHost(param->convertTo0to1(parameterValue));
			param->endChangeGesture();
		}

this code is in my processor class and I’m calling it systematically because its a plugin connected to a controller. so when I change the control values a load of code happens and then it calls this setValue code. Am I missing something ? I was aware that the begin and end gestures might get called a lot so I did write some other code that had the start and end gestures on a timer so they only got called at the end of the parameter adjustment but the same outcome. so I’m stuck. I feel like I’ve done all i needed to get the parameters working but its just not playing ball in Cubase. I have Cubase elements btw.