I’m currently trying to dynamically generate a SoundCue. Pretty much all USoundNodes work when I enable the AudioEditor and Engine module in my Build.cs, but whenever I try to use USoundNodeOscillator or USoundNodeModulatorContinuous the linking process fails.
I eventually narrowed the actual cause down the use of the generated “StaticClass”. If I do the following anywhere in my code:
const auto Test1 = USoundNodeModulatorContinuous::StaticClass();
const auto Test2 = USoundNodeOscillator::StaticClass();
The code will compile, but not link.
If I replace these two call with for example an USoundNodeConcatenator and USoundNodeDistanceCrossFade then the compilation and linking proceeds as expected.
Initially I suspected that these two particular nodes might use external dependencies, requiring me to include more modules. But upon trying a whole bunch of them on a gamble, I simply cannot ge them to work.
To me this looks like a bug in the Engine source.
Could anyone confirm?
error LNK2019: unresolved external symbol "private: static class UClass * __cdecl USoundNodeModulatorContinuous::GetPrivateStaticClass(void)" (?GetPrivateStaticClass@USoundNodeModulatorContinuous@@CAPEAVUClass@@XZ) referenced in function "void __cdecl CreateSoundCueNodes(class MySoundCue *,class USoundCue *)" (?CreateSoundCueNodes@@YAXPEAVMySoundCue@@PEAVUSoundCue@@@Z)
error LNK2019: unresolved external symbol "private: static class UClass * __cdecl USoundNodeOscillator::GetPrivateStaticClass(void)" (?GetPrivateStaticClass@USoundNodeOscillator@@CAPEAVUClass@@XZ) referenced in function "void __cdecl CreateSoundCueNodes(class MySoundCue *,class USoundCue *)" (?CreateSoundCueNodes@@YAXPEAVMySoundCue@@PEAVUSoundCue@@@Z)