private bool ProjectFilter(Project Project) { // Initialize the cached options if they haven't been read from UnrealVSOptions yet if (!CachedHideNonGameStartupProjects.HasValue) { UpdateCachedOptions(); } // Optionally, ignore non-game projects if (CachedHideNonGameStartupProjects.Value) { if (!Project.Name.EndsWith("Game", StringComparison.InvariantCultureIgnoreCase)) { Logging.WriteLine("StartupProjectSelector: Not listing project " + Project.Name + " because it is not a game"); return(false); } } // Always filter out non-executable projects if (!Utils.IsProjectExecutable(Project)) { Logging.WriteLine("StartupProjectSelector: Not listing project " + Project.Name + " because it is not executable"); return(false); } Logging.WriteLine("StartupProjectSelector: Listing project " + Project.Name); return(true); }