Arrays of Spline components created from c++ cannot be edited in any way in Unreal Engine. The components on their own can be translated/rotated/scaled but not the single nodes and no more nodes can be added. Reproducible 100% at least on 4.7 using the following test code:
#pragma once
#include "GameFramework/Actor.h"
#include "TestActor.generated.h"
class USplineComponent;
UCLASS()
class TESTGAME_API ATestActor : public AActor
{
GENERATED_UCLASS_BODY()
public:
UPROPERTY(EditAnywhere, Instanced, Category = "Path spline")
TArray <USplineComponent*> PathSpline;
virtual void BeginPlay() override;
virtual void Tick( float DeltaSeconds ) override;
};
#include "TestGame.h"
#include "Components/SplineComponent.h"
#include "TestActor.h"
// Sets default values
ATestActor::ATestActor(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
PrimaryActorTick.bCanEverTick = true;
RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("SceneComp"));
PathSpline.Add(CreateDefaultSubobject<USplineComponent>(TEXT("Path")));
PathSpline[0]->AttachParent = RootComponent;
}
void ATestActor::BeginPlay()
{
Super::BeginPlay();
}
void ATestActor::Tick( float DeltaTime )
{
Super::Tick( DeltaTime );
}
My original question here