Auto Host/Join Advanced Session Based on Player Count

Hello!

I’m trying to make my game auto host/join a session based one whether or not there are any sessions with less than the maximum players allowed in the session upon entering the game. I basically am trying to create a game with no Main Menu. Just throws you right into the game upon opening.

Example:
If there is a session with less than 50 (max) players I want it to automatically join that session.
BUT if there are only full sessions, then I want it to auto create a session. This has to be possible, but every time I test the game, it only creates a new session; never joins one.

Thanks!

Also, here is my blueprint:

UPDATE:

I had the “Default Map” set to the level that you would play on, not the opening level that sends you to the playing level. Now it won’t create a session at all. I also realized according to my BP that if no session existed, then it would not create one so I updated that but I still can’t get it to work.

Figured it out.

Also, I had to change my DefaultEngine.ini to look like this:

[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/Levels/MainMenu/MainMenu.MainMenu
EditorStartupMap=/Game/Levels/MainMenu/MainMenu.MainMenu
GlobalDefaultGameMode=/Game/Blueprints/GameModes/MainMenuGameMode.MainMenuGameMode_C
GameInstanceClass=/Game/Blueprints/GameInstances/MainGameInstance.MainGameInstance_C

[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
MinimumiOSVersion=IOS_11

[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName=“GameNetDriver”,DriverClassName=“OnlineSubsystemSteam.SteamNetDriver”,DriverClassNameFallback=“OnlineSubsystemUtils.IpNetDriver”)

[OnlineSubsystem]
DefaultPlatformService=Null

[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12

[/Script/Engine.RendererSettings]
r.SkinCache.CompileShaders=True
r.RayTracing=True

[/Script/Engine.Engine]
+ActiveGameNameRedirects=(OldGameName=“TP_ThirdPerson”,NewGameName="/Script/BattlesOfOlaranV2")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPerson",NewGameName="/Script/BattlesOfOlaranV2")
+ActiveClassRedirects=(OldClassName=“TP_ThirdPersonGameMode”,NewClassName=“BattlesOfOlaranV2GameMode”)
+ActiveClassRedirects=(OldClassName=“TP_ThirdPersonCharacter”,NewClassName=“BattlesOfOlaranV2Character”)

Hi , i am trying to do as you do like one button " Play " if there is a space you can join with friends if not create another one but its not working always create a new session what do i do i cant copy your Engineini code since it has some related to your project will not work with me

Hi x2lovi! I actually realized my answer was wrong for my implementation.

Here’s my solution in EOS Integration Kit instead of Advanced Sessions, but it should still work the same way:

I created a “Custom Event” for host session, and made it “Host Session”
Then I made one single button where “on clicked” it attempted to find sessions. If none were found, I call the Custom Event from earlier in the same blueprint and after a Branch node that looks for any sessions.