So i have 100 rounds set up on my island, however after each round there is pretty long loading screen + starting game phase, and if played joins during that period of time he bugs out and gets put in team 1 instead of some free one, settings of island are all fine i can assure you i have tested this bug milion times and it only happens when someone joins during those phases, so my question is can i remove the loading screen/make game starting faster or is there any ANY other fix because this bug is completely out of my control right now
Steps to Reproduce
Players are fighting in the game, someone wins the round, player joins during ,starting game’’ or during loading screen for next round, gets automatically assigned on team 1 which is default team, instead of filing other teams according to settings he bugs out and gets put in the same team as current player in team 1 now theres 2 people on same team in team 1
Expected Result
Two people get put into same team
Observed Result
Two people always get put in same team if steps are followed
Platform(s)
windows
Island Code
0156-7457-5778
Additional Notes
This is not an island settings issue or anything like that since i talked for weeks to people on official uefn discord and conditions for this bug are very specific, this bug can happen quite often as there are 100 rounds and players tend to join a lot so its all matter of luck If you need more info please let me know id like to help out to solve this issue ive been chasing it for week now
How do you think i should do that? because betwen rounds players are unable to move during round start count down, they are just automatically assigned team 1 and then get moved to empty team on next round when they spawn
Take off fill and then use subscribes on the player spawners to get players when they join.
You can get the amount of players in team a lot of ways. One is to assign them yourself after you get their reference here and keep that in a map. Another is to just use the code below to get all the players in teams:
Init(Agent:agent):void=
Device:=<put any creative device here>
GetTeams:=Device.GetPlayspace().GetTeamCollection()
Teams:[]team=GetTeams.GetTeams()
for (Idx := 0..Teams.Length - 1):
if (Team := Teams[Idx]):
if(TeamAgents:[]agent=GetAgents[Team]): #This is your array of agents for the team
You’re gonna have to try things and figure it out from there. There’s documentation on a game that does autobalancing, check that out.
It depends on why its happening. If its every round probably an issue with your code and you would just need to extensively test to find out what that is.
If it occurs randomly and at the start of the round sometimes the init seems to take like 5-8 seconds then once it loads its fine, I’ve found that has to do with the Join in Progress Bug as it’s called. It has to do with people joining/leaving during the game and I’m not even 100% sure I’ve fixed this yet, but once this next client map launches I’ll let you know.
I essentially manually do everything now. I spawn players then teleport them into the playspace after I init them, and then I assign them a team. This way I know I only have up to 16 individual players, each on their own team, in the playspace. I don’t know if I’ll also need to enable and elimination zone where players spawn or not. This issue specifically is Epic’s problem and I’m honestly tired of having to engineer solutions to it.
I know they’re trying but the quicker they decouple thing and just get creative out of UEFN and stop routing us through devices and their game modes the better off we’ll be. It’s a blessing and a curse, helps us get up and running and learn, but the forced dependencies and their bugs get inherited now to all games.