NewObject using a Blueprint class?

This does not work:

UObject* bgo = NewObject<UObject>(this, TEXT("SOPScript"), RF_Transient, SopScriptType.Get());

Neither does this:

UObject* bgo = NewObject<UObject>(SopScriptType);

However, this does work:

#include "Kismet/GameplayStatics.h"

UObject* bgo = UGameplayStatics::SpawnObject(SopScriptType, this);

Which simply calls this:

NewObject<UObject>(Outer, ObjectClass, NAME_None, RF_StrongRefOnFrame);

I hope this helps.