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);
}
}