Not sure if this is related, but I think I figured out what was making this type of error happen for me. ClassA’s header file was including ClassB’s header file so that it could declare a struct member variable of a type declared in ClassB’s header. ClassB’s .cpp file was including ClassA’s header so that it could work with ClassA, and I think it was causing some circular include problems. Luckily ClassA really only needed to store an FVector from ClassB’s struct, so I passed that instead. I got rid of the include in Class A’s header, and it compiled.