Announcement

Collapse
No announcement yet.

Save level after add instances of static mesh in code not work

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Save level after add instances of static mesh in code not work

    I'm trying to addInstance of static mesh - which works great.
    But after I placed it, it's not being saved in the editor.
    The level itself is not save-able and after close it and load again all the instances disappear.

    How to add save in code?

    TActorIterator<AInstancedFoliageActor> foliageIterator(GEditor->GetEditorWorldContext().World());
    AInstancedFoliageActor* foliageActor = *foliageIterator;

    FStringAssetReference materialAsset(TEXT("/Game/myModel"));
    UObject* MyAsset = materialAsset.TryLoad();
    UStaticMesh* staticMesh = (UStaticMesh*)MyAsset;

    UInstancedStaticMeshComponent* meshComponent = NewObject<UInstancedStaticMeshComponent>(foliageActor, UInstancedStaticMeshComponent::StaticClass(), NAME_None, RF_Transactional);
    meshComponent->AttachTo(foliageActor->GetRootComponent());
    meshComponent->SetStaticMesh(staticMesh);
    meshComponent->RegisterComponent();

    FTransform transform = FTransform();
    transform.SetLocation(FVector(100,100,0));

    meshComponent->AddInstance(transform);
Working...
X