This is just a confusion caused by Team Rotation (which is not the same as Player Rotation or Team Shuffle) related to how it works and how verse gives it to us (as arrays). I see many people confusing with this that I already helped on the past…
I agree that for beginners it may cause confusion, but after checking in depth, nothing is wrong with it (not really a bug, besides the complex details)…
The teams in verse are class references, stored on playspace as an Array type.
On a array, the Index 1 will always be Index 1, same with Index 0, 5, etc. When the teams rotate, if you are checking them in verse by the array index, you for sure will think they are off-sync. Due to this, You can query `Teams[4]on round 1 with it being the Team 5 of playspace, but on round 3 querying the sameTeams[4]` it being the Team 7 of playspace. This is completely normal, and other features (such as Team Visuals, Colors, Names) may follow arround this (when they are shared properties).
If you want to ensure the teams are the same across every rounds, you should compare the teams by their classes, and not by their positions on the Array.
Also, depending on other island settings, the Teams list may get shuffled (ex. 1, 2, 3, 4 turns into 4, 2, 1, 3) before the players get assigned to them at the beginning of the game, and on other cases it gets shifted/rotated (ex. 1, 2, 3, 4 turns into 2, 3, 4, 1) like described above (Both behaviors exist depending on other configurations set on island settings).
If you want to rely on verse array for the team configuration, I would suggest you to disable the team shuffle/rotation on island settings, and configure a proper ballancer device to split and configure the player teams through verse, so you have total control over it without needing to deal with these consufing/complex details, this is what most devs choose to do.
The island options are still useful but more used for other purposes where teams shuffle/rotation are required on the game but not important on the verse logic (ex. splitting groups, defining visuals or so on), on these cases the dev can abstract most of these confusing details that you commented about
This is not really a bug, but I agree with you that it is annoying, specially for people that don’t understand these aspects (mostly due to the lack of explanation and documentations on the epic docs… We only discover how these works exactly usually due to extensive testing on many different cases and scenarios haha)