Serializing Delays into a SaveGame and restarting them with the same TimeRemaining when loading

The class I want to serialize is

class FDelayAction : public FPendingLatentAction
{
public:
	float TimeRemaining;
	FName ExecutionFunction;
	int32 OutputLink;
	FWeakObjectPtr CallbackTarget;
//etc

FPendingLatentAction is

class ENGINE_API FPendingLatentAction
{
public:
//etc

As you can see, FPendingLatentAction does not derive from UObject, meaning that I can’t use UE4’s Cast to check if it is an FDelayAction. But in order to serialize all the FDelayActions, i would need to iterate through FPendingLatentActions and cast them to FDelayAction. dynamic_cast also wont work, because UE4 is compiled without RTTI.

I thought about somehow accessing the Node from the blueprint that made the FPendingLatentAction and seeing if that’s a Delay, but that data only exists within the FDelayAction.

I also considered using the GetDescription()-method and seeing if the returned string starts with “Delay”, but GetDescription() only exists in the editor. :wink:

If I can’t make this work, that would mean there’s no way to make Delays work with a SaveGame-system. I could change the engine code or turn on RTTI, but I’d much rather avoid making such changes to the engine.

Anyone see a way?