/Engine/Source/Editor/UnrealEd/Public/FileHelpers.h
Optionally prompts the user for which of the provided packages should be saved, and then additionally prompts the user to check-out any of the provided packages which are under source control. If the user cancels their way out of either dialog, no packages are saved. It is possible the user will be prompted again, if the saving process fails for any reason. In that case, the user will be prompted on a package-by-package basis, allowing them to retry saving, skip trying to save the current package, or to again cancel out of the entire dialog. If the user skips saving a package that failed to save, the package will be added to the optional OutFailedPackages array, and execution will continue. After all packages are saved (or not), the user is provided with a warning about any packages that were writable on disk but not in source control, as well as a warning about which packages failed to save.
An enum value signifying success, failure, user declined, or cancellation. If any packages at all failed to save during execution, the return code will be failure, even if other packages successfully saved. If the user cancels at any point during any prompt, the return code will be cancellation, even though it is possible some packages have been successfully saved (if the cancel comes on a later package that can't be saved for some reason). If the user opts the "Don't
            Save" option on the dialog, the return code will indicate the user has declined out of the prompt. This way calling code can distinguish between a decline and a cancel and then proceed as planned, or abort its operation accordingly.
static [EPromptReturnCode](API\Editor\UnrealEd\FEditorFileUtils\EPromptReturnCode) PromptForCheckoutAndSave ( const [TArray](API\Runtime\Core\Containers\TArray)< [UPackage](API\Runtime\CoreUObject\UObject\UPackage) * > & PackagesToSave, [FPromptForCheckoutAndSaveParams](API\Editor\UnrealEd\FEditorFileUtils\FPromptForCheckoutAndSaveParams) & InOutParams )