How do I create my own redirectors?

Hi, I’m in the process of modifying the engine to support gravity on spherical planets, so gravity is moving from a float to an FVector (along with additional variables). And I’m aware these changes will break unless I tell the engine how to port old data to the new data.

Before

UPROPERTY(config, EditAnywhere, Category = Constants)
float DefaultGravityZ;

After

UPROPERTY(config, EditAnywhere, Category = Gravity)
FVector DefaultGravity;

In other parts of the code it gets more complicated, as I have blueprint exposed functions that have also changed from float to FVector and from OverrideGravityZ to OverrideGravity in the signature.

UFUNCTION(BlueprintCallable, Category = "Game", DisplayName="Predict Projectile Path By TraceChannel", meta = (WorldContext = "WorldContextObject", AutoCreateRefTerm = "ActorsToIgnore", AdvancedDisplay = "DrawDebugTime, DrawDebugType, SimFrequency, MaxSimTime, OverrideGravity", TraceChannel = ECC_WorldDynamic, bTracePath = true))

static bool Blueprint_PredictProjectilePath_ByTraceChannel(const UObject* WorldContextObject, FHitResult& OutHit, TArray<FVector>& OutPathPositions, FVector& OutLastTraceDestination, FVector StartPos, FVector LaunchVelocity, bool bTracePath, float ProjectileRadius, TEnumAsByte<ECollisionChannel> TraceChannel, bool bTraceComplex, const TArray<AActor*>& ActorsToIgnore, EDrawDebugTrace::Type DrawDebugType, float DrawDebugTime, float SimFrequency = 15.f, float MaxSimTime = 2.f, FVector OverrideGravity = FVector(0.f));

I’ve never done redirects before, so looking for guidance on how I should approach this. I’ve seen some code that went the deprecated route. I have a feeling that redirects might not be able to accomplish this. My intentions would be to prepare this for a pull request.