Could Anyone Help me with Weird Platform Conditional Issue ?



could anyone please help me ? I used this if statment to add the vulkanRHI for non Mac platform
yet marketplace showing me this error.
I have yet to call anything from “VulkanRHI” at public .h and private .cpp files, I just want to include VulkanRHI for future purpose only. My point is why this error is being displayed by marketplace admins when I clearly stated to add the vulkaRHI for non Mac platforms only.

maybe you have to use
#ifdef _WIN64
#ifdef ANDROID (There are two underscores both left and right sides. website just make bold Android word when I use them)

like macros in your actual code ?

because your code can touch platform specific things in runtime or at build ??
you just add a module for Mac platform in .cs but not completely disabled to run that code.

think this as compatibility layer.

where you want me to type this ? at .build.cs of the module??
All I want my plugin to not ship VulkanRHI for macOS

I don’t know your code. So, I can’t specifically say “put it here” but definitely not in build.cs. your build.cs looks correct.

In your Private/ folder you have bunch of .cpp files, right ? They are your definitions. Probably there are some functions which want to use VulkanRHI. Both Mac and your plugin don’t have VulkanRHI and this cause report’s error.

You should put that defines to there.

For example,
void AYourClass::YourFunction(UTexture2D* Texture)
{

#if defined (_WIN64) || defined(linux)
FRhiResource Rhi = Texture->GetVulkanResource();
#else
// put something else
#endif
}

There is no GetVulkanResource like function. I just put it as a sample but problem is like that. One of your functions try to use Vulkan related function and it can’t be found.

apparently, none of those worked and i had to remove that module. However thanks for your suggestions.