When CommandLineTools is set as the default tool, an inaccurate warning message is displayed when opening the Editor that states that Xcode is too old to compile Metal shaders, even if the latest version of Xcode is installed. CommandLineTools does not contain the Metal compiler, so it is unable to compile Metal Shaders. However, the warning message would cause users to look for the wrong solution (eg. upgrading Xcode).
SETUP:
This requires that CommandLineTools be installed on the Mac. CommandLineTools is included with Xcode, and can be installed by running the command xcode-select --install.
REPRO:
RESULT:
When the project opens, a warning message appears that states Xcode installed on this Mac is too old to be used for Metal shader compilation. Falling back to runtime compiled shaders, which are slower. Please update to latest version of Xcode for best performance.
EXPECTED:
Since the CommandLineTools package does not include the Metal compiler, a warning message is displayed that lets the user know that Xcode needs to be set to be the default tool in order for Metal shaders to be compiled.
WORKAROUND:
If CommandLineTools is currently set to be the default tool, the selection can be reset to use Xcode again by running the following command (may require a password): sudo xcode-select -r
How does TextureRenderTarget2D get TArray<uint8> type data?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
Why does the REMOVE method of map container remove elements have memory leaks?
How to delete some elements correctly when deleting an array loop?
How do I set a material as a post-processing material?
UMG RichText not appear image when packaged
What is the difference between Camera and CineCamera?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
Head over to the existing Questions & Answers thread and let us know what's up.