[Full Project] 's UMG Rebindable Key System, Rebind keys at Runtime!

I may have fix my problem, i’m sharing here two new function i made to add in your VictoryBPLibrary, they allow you to add axis and action input:

For the Axis :
to add in Header :


UFUNCTION(BlueprintCallable, Category = "Victory Library | Key Rebinding")
		static void AddInputAxis(FName AxisNameToAdd, FKey NewAxisKey, float AxisScale);

and in the cpp :

void UVictoryBPFunctionLibrary::AddInputAxis(FName AxisToAdd, FKey NewAxisKey)
{
	UInputSettings* Settings = GetMutableDefault<UInputSettings>();
	if (!Settings)return;
	FInputAxisKeyMapping AxisAdd = AxisAdd.AxisName = AxisNameToAdd;
	AxisAdd.Key = NewAxisKey;
	AxisAdd.Scale = AxisScale;

	TArray<FInputAxisKeyMapping>&Axi = Settings->AxisMappings;
	Axi.Add(AxisAdd);
	for (TObjectIterator<UPlayerInput> It; It; ++It)
	{
		It->ForceRebuildingKeyMaps(true);
	}
}

For the Action :

Header :


UFUNCTION(BlueprintCallable, Category = "Key Rebinding")
		static void AddInputAction(FName ActionNameToAdd, FKey NewActionKey);


cpp :


void UVictoryBPFunctionLibrary::AddInputAction(FName ActionNameToAdd, FKey NewActionKey)
{
	UInputSettings* Settings = GetMutableDefault<UInputSettings>();
	if (!Settings)return;


	FInputActionKeyMapping ActionAdd = ActionAdd.ActionName = ActionNameToAdd;
	ActionAdd.Key = NewActionKey;

	TArray<FInputActionKeyMapping>&Actio = Settings->ActionMappings;
	Actio.Add(ActionAdd);
	for (TObjectIterator<UPlayerInput> It; It; ++It)
	{
		It->ForceRebuildingKeyMaps(true);
	}


}