UGameplayStatics::LoadStreamLevel Loads only one level

Im new to c++ so i tried to make a simple Random Rooms spawner using Level Streaming but when i actually start it only streams one room. I tried puting breakpoint and saw that both levels feed into loop so there’s should be two. Am i doing something wrong?

	int32 ZoneOneInt = Stream.RandHelper(ZoneOne.Num());
	int32 ZoneTwoInt = Stream.RandHelper(ZoneTwo.Num());

	FName ZoneOneToLoad = ZoneOne[ZoneOneInt];
	FName ZoneTwoToLoad = ZoneTwo[ZoneTwoInt];

	TArray<FName> ZonesToLoad;

	ZonesToLoad.AddUnique(ZoneOneToLoad);
	ZonesToLoad.AddUnique(ZoneTwoToLoad);

	FLatentActionInfo LatentInfo;

	for (auto& i : ZonesToLoad)
	{
		UGameplayStatics::LoadStreamLevel(this, i, true, true, LatentInfo);
	}

I’ve tried to increment uuid by putting it in another loop, still didn’t work.

	for (auto& i : ZonesToLoad)
	{
		for (int32 u = 0; u < ZonesToLoad.Num(); u++)
		{
			FLatentActionInfo LatentInfo;
			LatentInfo.UUID = u;
			UGameplayStatics::LoadStreamLevel(this, i, true, true, LatentInfo);
		}
		
	}

End up working like this.

	for (int32 i=0; i< ZonesToLoad.Num(); i++)
	{
		FLatentActionInfo LatentInfo;
		LatentInfo.UUID = i;
		
		UGameplayStatics::LoadStreamLevel(this, ZonesToLoad[i], true, true,	LatentInfo);
	}

Still have a long way to go i guess