Unresolved external symbol

The “already defined” error is because you defined the function in both the CharacterInterface.h and the CharacterInterface.cpp file, if I am understanding you correctly. You must define it, but you are only allowed to define it in one place – either in the header file or the cpp file.

The previous error with the unresolved external means that a function was declared but the linker is unable to find the implementation (definition) of that function. UE’s macros do some stuff behind the scenes that makes it hard to track some of those down – at least, I have encountered that type of thing with BlueprintImplementable events before. Have you looked at this discussion of interfaces? If you can’t get it resolved, I recommend posting the entire class declarations and method definitions. Linker problems can be in your declaration, the definitions, or something the UE4 macros are doing that expect you to provide a method definition. If you did not have definitions for those methods before your first post, and added them to both the .h and the .cpp file in response to my post, try removing the definitions from the .h file.