Building my plugin UE5.6 first time and I m getting this error: error C3533: a parameter cannot have a type that contains 'auto'

In your visual studio solution, you can search for references of “Cpp17” - CppCompileEnvironment.cs has the enum. It can be configured at a target level, or a build module level. Cpp20 is the default in 5.6. The following is in Target Rules:

[CommandLine("-CppStd")] [XmlConfigFile(Category = "BuildConfiguration")] public CppStandardVersion CppStandard { #pragma warning disable CS0618 // Type or member is obsolete get => CppStandardPrivate ?? (DefaultBuildSettings < BuildSettingsVersion.V4 ? CppStandardVersion.Cpp17 : CppStandardVersion.Default); #pragma warning restore CS0618 // Type or member is obsolete set => CppStandardPrivate = value; } private CppStandardVersion? CppStandardPrivate;Verify your DefaultBuildSettings version as well in order to see what it’s being set to, or check your BuildConfiguration.xml to see if it’s annotated here. I’d also add in a breakpoint if you must, and build via visual studio with UnrealBuildTool as your startup project. Simply set the command line arguments to be passed in as your target, platform and config.

E.g. UnrealEditor Win64 Development

You should be able to breakpoint within the CppCompileEnvironment & TargetRules to see what it’s being resolved to.

If nothing jumps out, I’ll need to see the module that is failing to build, along with some RSP file associated with it. Whatever is including that UObjectGlobals.h has it’s module resulting in a C++17 CPPCompileEnvironment.

Julian