Hooking into UFbxFactory::FactoryCreateBinary()

o_O

You attempt to load the object using path. If no object is found, you create package. You then pass the created package into factory function. You then call FAssetDatabase::AssetCreated and yourPackage->setDirtyFlag(). You can do that from within editor (or editor plugin), not sure about game runtime.

You should use ObjectTools::SanitizeObjectName and PackageTools::SanitizePackageName.

Dot is (apparently) used by unreal to separate package path from object name.