loadPlug.zip (11.1 MB)
Recreated your plugin structure + asset path
use ConstructorHelpers::FClassFinder to get the class and spawn the actor on begin play
header .h
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Loader.generated.h"
UCLASS()
class LOADPLUG_API ALoader : public AActor
{
GENERATED_BODY()
public:
ALoader();
protected:
virtual void BeginPlay() override;
public:
virtual void Tick(float DeltaTime) override;
bool bSpawn = false;
UClass* ActorClass = nullptr;
};
.cpp
#include "Loader.h"
// Sets default values
ALoader::ALoader()
{
PrimaryActorTick.bCanEverTick = true;
bSpawn = false;
static ConstructorHelpers::FClassFinder<AActor>actorC(TEXT("/MyPlugin/BP/BP_Helicopter.BP_Helicopter_C"));
ActorClass = actorC.Class;
if (actorC.Succeeded()) {
bSpawn = true;
}
}
void ALoader::BeginPlay()
{
Super::BeginPlay();
if (bSpawn == true && ActorClass != nullptr) {
FActorSpawnParameters sp;
sp.bNoFail = true;
FTransform t;
AActor* act = GetWorld()->SpawnActor<AActor>(ActorClass, t, sp);
}
}
void ALoader::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
Object loads from plugin content path and spawns the blueprint at 0,0,0