@muchcharles, I looked into this recently and found out there’s a separate setting for toolchain selection. Without it, it chooses in a really convoluted way based on what it can find installed, preferring 2015 toolchain even if the project files were generated for 2017. At least, that was the behaviour until recently.
You can add the following inside the <Configuration> section of BuildConfiguration.xml to force it:
I posted a question about this, but does anyone know off the bat why player input (keyboard, mouse, xbox controller, etc.) doesn’t work in 4.19 for me until I SHIFT + F1 to get the mouse cursor, then click back in the game? In 4.18 it works just fine.
I am having some mac-only issues compiling third party plugin on 4.19:
error CS0103: The name ‘PublicDefinitions’ does not exist in the current context
from 4.19 release notes : New: The Module Rules “Definitions” property has been renamed to “Public Definitions”, to make its semantics clearer. A complementary “Private Definitions” property has also been added.
Are there issues using PublicDefintions on mac?
(Same code compiles on windows)
[UPDATE]
[DOH]
Self-inflicted. Forgot to resolve .uproject. Works on mac. Please disregard
[/DOH]
[/UPDATE]
The signature did not changed from 4.18 but the behavior did. Now it won’t work for us with key set to anything other than -1 (INDEX_NONE). Any FString passed with key other than INDEX_NONE won’t apper on the screen. Unfortunately, tt breaks our logging system and I cannot figure out why.
Add the ShouldCompilePermutation method for each shader:
example:
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& PermutationParams)
{
// Useful when adding a permutation of a particular shader
return true;
}
It works, but there's probably a more reasonable approach than simply returning true here. I'd be grateful if someone could provide some info about that.
All of this only applies to your project when you’re using global shaders (necessary for compute shaders), especially when using the popular UE4ShaderPluginDemo or one of its forks. For more information about how to set up Global Shaders see this blogpost: Yet another blog...: Adding Global shaders to UE4 v2.0
Adding this so others don’t have to search the web as long as I had to:
Unreal Engine Global Compute Pixel Shader FGlobalShader Compile Error Permutation Transition Uprade 4.19 ModifyCompilationEnvironment Modify Compilation Environment ShouldCompilePermutation Should Compile Permutation EShaderPlatform FGlobalShaderPermutationParameters InPermutationId PermutationId IMPLEMENT_SHADER_TYPE3 IMPLEMENT_SHADER_TYPE implement shader type
GPU, stat gpu, profiling, DECLARE_FLOAT_COUNTER_STAT, DECLARE_FLOAT_COUNTER_STAT, SCOPED_GPU_STAT, GPU visualizer, stat startfile, stat stopfile, session frontend