TSoftClassPtr/TSoftObjectPtr Construction problem

I have system for loading assets/classes and letting other systems know that asset has been loaded. Problem is that when i use TSoftClassPtr or TSoftObjectPtr constructor as follow:

FString classPath = restoredData.actorClassPath;
TSoftClassPtr<AActor> classPtr = TSoftClassPtr<AActor>(FSoftObjectPath(classPath));

week pointer that is created is nullptr.

Same things happens for TSoftClassPtr construction. Now, when my loading system get load callback, i save all pointers so they are not deallocated. Hence assets are loaded in memory, yet the week pointer constructed this way is invalid. Sure, i can do

classPtr.LoadSynchronous();

and be done with it but its extra cast() and im just curious why this is not working as it should(at least I think, it should). I’ll be grateful for tips.