Writing ULevelSequence in packaged builds

i have a function that writes values to a float track in a LevelSequence at a certain frame number.
this works in PIE but in the packaged build it seems that the values are actually not added. this results in the sequence staying empty. is there any way to change this? or has this to be done differently? code below

   bool ULiveFloatProperty::WriteValueToSequence(const FFrameNumber& Frame, float Value)
    {   
    	UMovieSceneSection* Section = nullptr;
    	TArray<UMovieSceneSection*> Sections = FloatTrack->GetAllSections();
    	if (Sections.Num())
    	{
    		Section = Sections[0];
    	}
    	else
    	{
    		bool bAdded = false;
    		Section = FloatTrack->FindOrAddSection(FFrameNumber(0), bAdded);
    	}
    
    	UMovieSceneFloatSection* FloatSection = Cast< UMovieSceneFloatSection>(Section);
    
    	FFrameNumber TrueFrame = Frame;
    	TrueFrame.Value *= FRAME_TIME_MULTIPLIER;
    	FloatSection->ExpandToFrame(TrueFrame);
    	FloatSection->SetCompletionMode(EMovieSceneCompletionMode::KeepState);
    
    	TArrayView <FMovieSceneFloatChannel*> Channels = FloatSection->GetChannelProxy().GetChannels<FMovieSceneFloatChannel>();

        //this here seems to have no effect in packaged builds
    	Channels[0]->GetData().UpdateOrAddKey(TrueFrame, FMovieSceneFloatValue(Value));
    	return true;
    }