Oh yeah that is the problem. So I told you about custom lifecycle management in ue4 earlier. This is part of it. Since you don’t use new and delete in unreal, the constructors are not public. You use methods like NewObject and such to instantiate new stuff. It has to do with memory management, unreal allocates memory on its own instead of using the standard C++ way. It makes memory allocation way faster.
So no, you can’t simply call the constructor. It gets called by NewObject and similar methods. Check this out for further information and a workaround.