Problem Compiling Unreal Plugins

I’m going through the beginner tutorial for Unreal Engine here

Everything’s going fine until I get to the part where it’s supposed to compile the newly added Holoplay plugins. The compile fails with these errors in the Log:

Building LookingGlass3Editor...
Using Visual Studio 2019 14.26.28806 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Building 7 actions with 16 processes...
  @progress 'Compiling C++ source code...' 0%
  @progress 'Compiling C++ source code...' 14%
  [1/7] Module.HoloPlayRuntime.cpp
  C:\Users\username\Documents\Unreal Projects\LookingGlass3\Plugins\HoloPlay\Source\HoloPlayRuntime\Private\Render/HoloPlayLenticularShader.h(264): error C3668: 'FHoloPlayLenticularShaderPS::Serialize': method with override specifier 'override' did not override any base class methods
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayLenticularShader.cpp(36): error C3861: 'GetPixelShader': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayLenticularShader.cpp(47): error C3861: 'GetPixelShader': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayLenticularShader.cpp(52): error C2039: 'Serialize': is not a member of 'FGlobalShader'
  C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\RenderCore\Public\GlobalShader.h(217): note: see declaration of 'FGlobalShader'
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayLenticularShader.cpp(63): error C3861: 'GetPixelShader': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayLenticularShader.cpp(72): error C2338: Invalid interface for FHoloPlayLenticularShaderPS
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(42): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(42): error C3861: 'GETSAFERHISHADER_VERTEX': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(43): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(43): error C3861: 'GETSAFERHISHADER_PIXEL': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(66): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(111): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(111): error C3861: 'GETSAFERHISHADER_VERTEX': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(112): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(112): error C3861: 'GETSAFERHISHADER_PIXEL': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(138): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(172): error C2440: 'initializing': cannot convert from 'FGlobalShaderMap *' to 'TShaderMap<FGlobalShaderType,FShaderMapPointerTable> *'
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(172): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(173): error C2664: 'TShaderMapRef<FHoloPlayLenticularShaderVS>::TShaderMapRef(TShaderMapRef<FHoloPlayLenticularShaderVS> &&)': cannot convert argument 1 from 'TShaderMap<FGlobalShaderType,FShaderMapPointerTable> *' to 'const FHoloPlayLenticularShaderVS::ShaderMapType *'
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(173): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
  C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\RenderCore\Public\Shader.h(1992): note: see declaration of 'TShaderMapRef<FHoloPlayLenticularShaderVS>::TShaderMapRef'
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(174): error C2664: 'TShaderMapRef<FHoloPlayLenticularShaderPS>::TShaderMapRef(TShaderMapRef<FHoloPlayLenticularShaderPS> &&)': cannot convert argument 1 from 'TShaderMap<FGlobalShaderType,FShaderMapPointerTable> *' to 'const FHoloPlayLenticularShaderPS::ShaderMapType *'
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(174): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
  C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\RenderCore\Public\Shader.h(1992): note: see declaration of 'TShaderMapRef<FHoloPlayLenticularShaderPS>::TShaderMapRef'
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(184): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(184): error C3861: 'GETSAFERHISHADER_VERTEX': identifier not found
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(185): error C2100: illegal indirection
  C:/Users/username/Documents/Unreal Projects/LookingGlass3/Plugins/HoloPlay/Source/HoloPlayRuntime/Private/Render/HoloPlayRendering.cpp(185): error C3861: 'GETSAFERHISHADER_PIXEL': identifier not found
LogInit: Warning: Still incompatible or missing module: HoloPlayRuntime
LogInit: Warning: Still incompatible or missing module: HoloPlayEditor
LogInit: Warning: Still incompatible or missing module: HoloPlayProRuntime
LogInit: Warning: Still incompatible or missing module: HoloPlayProEditor
LogInit: Warning: Still incompatible or missing module: HoloPlayProInput
LogInit: Warning: Still incompatible or missing module: JoystickPlugin
LogInit: Warning: Still incompatible or missing module: LeapMotion
LogInit: Warning: Still incompatible or missing module: LeapMotionEditor
LogInit: Warning: Still incompatible or missing module: BodyState
LogInit: Warning: Still incompatible or missing module: SDL

Any help would be greatly appreciated!

Hi there, sorry you’re having issues! Can you confirm a few things?

  1. Are you on Unreal 4.24?
  2. Do you have Visual Studio 2019 set up for Unreal C++ development?
  3. Do you have all the dependencies for C++ development for Windows SDK?
  1. Unreal 4.25.1
    2 & 3. I’m pretty sure I have everything:

These components also installed for VS2019:
Image 2020-07-20-005

Ah I see! Our plugin currently only supports 4.24 - we haven’t updated to 4.25 yet. That’s likely the source of the issue! Are you able to load your project on the earlier version?