Streamed Level without collision

I have a problem with streaming. Basically when I run level using OpenLevel everything works fine, but when I stream the level in - everything doesn’t have collisions. AI/Player falling, projectiles not blocking even ToggleDebugCamera doesn’t have any trace info.

I’m creating level like this: (using knowledge from here Loading Sub-Level multiple times, possible? - C++ - Unreal Engine Forums )

ULevelStreamingKismet* NewStreamingLevel = NewObject<ULevelStreamingKismet>(GetWorld(), NAME_None, RF_NoFlags, NULL);

NewStreamingLevel->SetWorldAssetByPackageName(FName(*LongPackageName));

if (GetWorld()->IsPlayInEditor())
{
	FWorldContext WorldContext = GEngine->GetWorldContextFromWorldChecked(GetWorld());
	NewStreamingLevel->RenameForPIE(WorldContext.PIEInstance);
}

NewStreamingLevel->bShouldBeLoaded = true;
NewStreamingLevel->bShouldBeVisible = false;
NewStreamingLevel->bShouldBlockOnLoad = false;
NewStreamingLevel->bInitiallyLoaded = true;
NewStreamingLevel->bInitiallyVisible = false;
NewStreamingLevel->PackageNameToLoad = FName(*LongPackageName);

//different place:

NewStreamingLevel->bShouldBeVisible = true;
GetWorld()->UpdateLevelStreaming();

Basically level is streamed in I can see it, but collision doesn’t work. Streaming is managed by UWorldManager which is created in Game Iinstance using:
WorldManager = NewObject(this);
And then I’m passing WorldContext to it.

Anyone had issues with collisions when streaming levels from C++?

I’m still investigating this and I found that when I load MainMenu (map that’s opening when editor starts)
World CollisionHandler isn’t null:

When I’m opening my persistent using OpenLevel CollisionHandler is NULL:

Anyone know why? Anyone know how to properly setup this handler?

Solved. After persistent is loaded I need to create physics scene:

GetWorld()->CreatePhysicsScene();