SourceControl workflow for Game Feature Plugins

Hey team

We’re using the SourceControlProvider, and we’re trying to solve for working with Game feature plugins with SourceControlProvider.

We unfortunately don’t get the uplugin file, or png (For the plugin icon) in the source control submit window. This means if somebody adds a GameFeaturePlugin, they have to submit those files from an external version control client, rather than within Unreal Engine.

We did find that there’s a “CustomProjects” system in the SourceControlModule - it seems promising, because it handles non-package files, but it doesn’t do it quite correctly.

Inside FEditorFileUtils::FindAllSubmittableProjectFiles, it finds all files in the custom project directories, and excludes packages, which helpfully does find those files, but then after that call inside ChoosePackagesToCheckInCallback, we FindAllSubmittableConfigFiles - because config files aren’t package files, they’re found by both FindAllSubmittableProjectFiles & FindAllSubmittableConfigFiles and show up twice in the submit window

Is there a way that exists that we should be able to get GFPs plugin and icon files to show up in the list of files to submit?

Also, what is the purpose of the CustomProjectDirs - seems it was added for UEFN? Is it actually applicable for cases like what we’re trying to achieve here, or is there another solution?

I’m really hoping we can support submission of Game Feature Plugins without requiring an engine change

Thanks!

Steps to Reproduce

  1. Enable source control provider of your choice (We’re using Git)
  2. Add a Game Feature Plugin to your project
  3. Open submit window
    1. Notice that the plugin and icon files for the plugin don’t appears in the submit window, but the rest of the plugin content does

Hi,

CustomProjectDirs is indeed intended for UEFN workflows. Barring any engine changes, your best option here would probably be to call FSourceControlWindows::PromptForCheckin directly and pass the additional files in as “config files”, as that list will be added to the check-in without any sort of filtering. Alternatively, if you just want to add them to the existing changelist without prompting for an immediate check-in, you should be able to manually call USourceControlHelpers::MarkFilesForAdd on those additional files.

Best,

Cody