/// <summary>
        /// Gets an array of all platform folder names
        /// </summary>
        /// <returns>Array of platform folders</returns>
        public static string[] GetPlatformFolderNames()
        {
            if (CachedPlatformFolderNames == null)
            {
                List <string> PlatformFolderNames = new List <string>();

                // Find all the platform folders to exclude from the list of precompiled modules
                PlatformFolderNames.AddRange(UnrealTargetPlatform.GetValidPlatformNames());

                // Also exclude all the platform groups that this platform is not a part of
                PlatformFolderNames.AddRange(UnrealPlatformGroup.GetValidGroupNames());

                // Save off the list as an array
                CachedPlatformFolderNames = PlatformFolderNames.ToArray();
            }
            return(CachedPlatformFolderNames);
        }