I’m upgrading a project from Unreal Engine 5.5 to 5.6, and I’m running into a compiler error when including ScenePrivate.h:
MeshDrawCommands.h(10,1): error C1083: Cannot open include file: ‘TranslucentPassResource.h’: No such file or directory
This was working fine in 5.5:
#include "Runtime/Renderer/Private/ScenePrivate.h"
FSceneInterface* Scene = GWorld->GetWorld()->Scene;
Scene->GetRenderScene()->CustomRenderPassRendererInputs.Add(PassInput);
It seems like TranslucentPassResource.h might have been removed or relocated in 5.6, but I can’t find much on it.
Has anyone encountered this or knows the correct way to access CustomRenderPassRendererInputs or hook into custom render passes with the newer version?
I’m having the same problem, although I can add Path.combine to Build and access it through that, it doesn’t do much good, and custom render passes still have a lot of problems!
You can try adding this
PrivateIncludePaths.AddRange(
new string {
Path.Combine(GetModuleDirectory(“Renderer”), “Private”),
Path.Combine(GetModuleDirectory(“Renderer”), “Internal”),
}
);
I haven’t tried that myself, where you able to get it to work by adding the private and internal paths?
If so then I guess that’s how you’re supposed to do it for the time being.
It seems that the Unreal Engine official does not want developers to reference these private or internal header files in version 5.6. However, the issue is that they have only disabled the private files, but some variable(we need in plugin or proeject) pre declarations still have relevant definitions. For example:
class FPostOpaqueRenderParameters
{
public:
…
…
const FViewInfo* View = nullptr; // it still include “ScenePrivate.h”
};
it make our code can not be compiled.
so, wait next update~