Mass place actors on the level?

Is it possible to mass place assets (static meshes, blueprints, etc) on the level (on the landscape particularly), similar to foliage tool or procedural foliage spawner?

You can do it with C++ code, by spawning actors.

Here is code example:
AStaticMeshActor* AMyNativePlayerController::MyLoadClassByPath(const FString& PathToActorBluePrint)
{
AStaticMeshActor* DroppedItem = nullptr;

	auto cls = StaticLoadObject(UObject::StaticClass(), nullptr, *(PathToActorBluePrint));

	//auto cls = StaticLoadObject(UObject::StaticClass(), nullptr, TEXT("Blueprint'/Game/GameObjects/Furniture/Tables/Wood_Table/forBuildMode/Wood_Table_Blueprint.Wood_Table_Blueprint'"));
	if (!cls)
		GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, TEXT("Failed to load UClass " + PathToActorBluePrint));

	UBlueprint * bp = Cast<UBlueprint>(cls);

	if (!bp)
		GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, TEXT("Failed to load UClass 2  " + PathToActorBluePrint));

	TSubclassOf<class UObject> MyItemBlueprint;

	MyItemBlueprint = (UClass*)bp->GeneratedClass;
	UWorld* const World = GWorld->GetWorld();

	if (World){

		FActorSpawnParameters SpawnParams;
		//SpawnParams.Instigator = this;
		DroppedItem = World->SpawnActor<AStaticMeshActor>(MyItemBlueprint, { 0, 0, 0 }, { 0, 0, 0 }, SpawnParams);

	}
	else {
		GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, TEXT("NO WORLD!!!!"));
	}

	DroppedItem->StaticMeshComponent->SetMobility(EComponentMobility::Movable);
	return DroppedItem;


}

If you want repeated objects such as a footpath or road you can create a spline though this may lag your computer if it isn’t powerful enough

A tree/foliage you can add those in foliage editor (Shift+F4) and add a foliage.

If you just want to copy normal objects like make an army of statues or something just alt and drag and when you have about 10 or 50 alt and drag all of those.

you can use any static mesh in the foliage editor but if you put something like a statue or park bench you might have to tweak some of the properties (brush size, density)

This is a posting on how to make a plugin for the editor. It is called ActorPainter and lets you ‘spray paint’ in arbitrary actors in a scene.

You could make this using Blutilities if you have no C++ abilities and don’t want to use plugins. Blutilities are Editor blueprints that allow you to do all sorts of things at design time like spawn actors, rename assets in the content browser, etc. If this interests you let me know and i can help you figure it out further.

As a note, this is different than using a normal blueprint. If you use an actor blueprint then you will run the random placement every time the level loads or the actor is moved in the editor.

Blutilities allow you to place actors and then move then by hand afterwards all at design time.