In UE 4.8 I just made a static blueprint function arround NewObject().
Creator.h:
#include "Creator.generated.h"
UCLASS(Blueprintable) // makes the object avaialble to UE. BlueprintType = makes it a variable type
class MYCPPPROJECT_API UCreator : public UObject
{
public:
GENERATED_BODY()
UFUNCTION(BlueprintCallable, Category = "Object")
static void Create(UClass *ObjectClass, UObject* &CreatedObject);
};
Creator.cpp
#include "MyCppProject.h"
#include "Creator.h"
void UCreator::Create(UClass *ObjectClass, UObject* &CreatedObject)
{
//NewNode = new ObjectType();
// Since 4.7/4.8 use:
CreatedObject = NewObject<UObject>((UObject*)GetTransientPackage(), ObjectClass);
}
Which can be used in the blueprint as: