Baffled: adding UFUNCTION() causes undeclared external symbol

yeah, C++ is a beast on its own right :P, and yep, you need the header files (where you share things) and the implementation files (atually you can code in the header… but with inline… and is a bad practice… and… well like I have said C++ is its own beast)