Skip to content

Instantly share code, notes, and snippets.

@manciuszz
Last active May 2, 2024 22:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save manciuszz/4baa6b3333630df9fbc48f4f26ebe7ac to your computer and use it in GitHub Desktop.
Save manciuszz/4baa6b3333630df9fbc48f4f26ebe7ac to your computer and use it in GitHub Desktop.
Dump Unreal Engine ini files by drag-dropping the game .exe on this batch file.
@echo off
set dumper_path=DumpedConfigs\
set process_path=%~1
start "Dump-Inis" "%process_path%" ^
-AHGameSettingsSubsystemIni=%dumper_path%AHGameSettingsSubsystem.ini ^
-ApexDestructionIni=%dumper_path%ApexDestruction.ini ^
-CameraCalibrationCoreIni=%dumper_path%CameraCalibrationCore.ini ^
-CompatIni=%dumper_path%Compat.ini ^
-DefCompatIni=%dumper_path%DefCompat.ini ^
-ComposureIni=%dumper_path%Composure.ini ^
-ControlRigIni=%dumper_path%ControlRig.ini ^
-DeviceProfilesIni=%dumper_path%DeviceProfiles.ini ^
-EitorUserSettingsIni=%dumper_path%EitorUserSettings.ini ^
-EditorScriptingUtilitiesIni=%dumper_path%EditorScriptingUtilities.ini ^
-EngineIni=%dumper_path%Engine.ini ^
-DefEngineIni=%dumper_path%DefEngine.ini ^
-GameIni=%dumper_path%Game.ini ^
-DefGameIni=%dumper_path%DefGame.ini ^
-GameplayAbilitiesIni=%dumper_path%GameplayAbilities.ini ^
-GameplayTagsIni=%dumper_path%GameplayTags.ini ^
-GameUserSettingsIni=%dumper_path%GameUserSettings.ini ^
-HardwareIni=%dumper_path%Hardware.ini ^
-InputIni=%dumper_path%Input.ini ^
-DefInputIni=%dumper_path%DefInput.ini ^
-LiveLinkIni=%dumper_path%LiveLink.ini ^
-MediaIOFrameworkIni=%dumper_path%MediaIOFramework.ini ^
-NiagaraIni=%dumper_path%Niagara.ini ^
-Paper2DIni=%dumper_path%Paper2D.ini ^
-PhysXVehiclesIni=%dumper_path%PhysXVehicles.ini ^
-RuntimeOptionsIni=%dumper_path%RuntimeOptions.ini ^
-ScalabilityIni=%dumper_path%Scalability.ini ^
-UiIni=%dumper_path%Ui.ini ^
-DefUiIni=%dumper_path%DefUi.ini ^
-LightmassIni=%dumper_path%Lightmass.ini
@AScriver
Copy link

AScriver commented May 2, 2024

Any info on the Dump-Inis command?

@manciuszz
Copy link
Author

Any info on the Dump-Inis command?

The batch script uses the built-in UE command line arguments: https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/CommandLineArguments/

Specifically this function in Unreal Engine code:

FString FConfigCacheIni::GetDestIniFilename(const TCHAR* BaseIniName, const TCHAR* PlatformName, const TCHAR* GeneratedConfigDir)
{
	// figure out what to look for on the commandline for an override
	FString CommandLineSwitch = FString::Printf(TEXT("%sINI="), BaseIniName);
	
	// if it's not found on the commandline, then generate it
	FString IniFilename;
	if (FParse::Value(FCommandLine::Get(), *CommandLineSwitch, IniFilename) == false)
	{
		FString Name(PlatformName ? PlatformName : ANSI_TO_TCHAR(FPlatformProperties::PlatformName()));

		// if the BaseIniName doens't contain the config dir, put it all together
		if (FCString::Stristr(BaseIniName, GeneratedConfigDir) != nullptr)
		{
			IniFilename = BaseIniName;
		}
		else
		{
			IniFilename = FString::Printf(TEXT("%s%s/%s.ini"), GeneratedConfigDir, *Name, BaseIniName);
		}
	}

	// standardize it!
	FPaths::MakeStandardFilename(IniFilename);
	return IniFilename;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment