public static AbilityBuilder Localize <AbilityType>(this AbilityBuilder builder) where AbilityType : CustomAbility
        {
            AbilityLocalization abilityLocalization = BMLocalizationManager.Instance.AbilityLocalization;
            Dictionary <LanguageCode, AbilityLocalization.LocalizedAbility> localizedAbilities = abilityLocalization.GetLocalization <AbilityType>();

            builder.WithName(new CustomNameInfo(localizedAbilities.ToDictionary(entry => entry.Key, entry => entry.Value.Name)));
            builder.WithDescription(new CustomNameInfo(localizedAbilities.ToDictionary(entry => entry.Key, entry => entry.Value.Desc)));
            return(builder);
        }