Creating a custom UMoviePipelinePIEExecutor seems to cause compile errors for 5.8 unless you implement GetSupportsPostRenderActions_Implementation. However, this won’t exist in previous versions so we cannot compile the plugin for older versions. Why is this a requirement? Is there a way to handle this for 5.7 and previous versions?
It is not, this is a C++ custom executor, though it is essentially just subclassing the PIE executor:
Header:
class UMyCustomPIEExecutor : public UMoviePipelinePIEExecutor
...
protected:
// Override to bypass unexported base class linker error
virtual bool GetSupportsPostRenderActions_Implementation() override;
...
CPP:
bool UMyCustomPIEExecutor::GetSupportsPostRenderActions_Implementation()
{
// Return false (or true, depending on if your custom executor actually
// runs post-render scripts). Do NOT call Super here!
return false;
}
It seems this must be implemented in order to compile now in 5.8
Ok you should be able to fix the problem and have the source compatible with 5.7 with something like this. Returning true matches the PIE executor behavior if you’re inheriting from that.
#include "Misc/EngineVersionComparison.h"
#if UE_VERSION_NEWER_THAN_OR_EQUAL(5, 8, 0)
virtual bool GetSupportsPostRenderActions_Implementation() override
{
return true; // return true/false here depending on the executor's post-render capabilities
}
#endif