# Advanced Sessions Plugin

**URL:** <https://forums.unrealengine.com/t/advanced-sessions-plugin/30020>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [May 13, 2015, 7:26pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020 "2015-05-13T19:26:21Z")\
**Posts on this page:** 20\
**Page:** 72

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 12, 2017, 10:16pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1473 "2017-08-12T22:16:57Z")

</div>

[QUOTE=JJGG117;749187]  
Sorry, AdvancedSessions\*

To access the nodes, I tried reparenting my GameInst with AdvancedFriendsGameInst  
It doesn’t work, and either way I try it (vice or versa) it removes all the content of one or the other.

I’m just wondering if non-PTT (which I have working) can be controlled by anything other than master volume?

Also with non-PTT can I disable any mic input? with an options checkbox or something?

Not as far as I know (in blueprint) and no

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 12, 2017, 10:59pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1475 "2017-08-12T22:59:16Z")

</div>

[QUOTE=JJGG117;749224]  
How about Mute?  
Or is anything possible by editing Engine Content?

You would need the plugin to mute with blueprints only.

Also I think you can change global voice volume, just not per user.

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 13, 2017, 2:11am UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1478 "2017-08-13T02:11:39Z")

</div>

[QUOTE=JJGG117;749241]  
Also, reparenting a GameInstance to AdvancedFriendsGameInstance or vice versa just removes all its data and assigns it to the new one :\

THere’s NO WAY it’s possible to combine 2 game instances. One or the other will be forced not to work

I’ve answered this three times now to you…one of the ones you want as the parent needs the other one to be its parent, then your final game instance uses the combined one…

---

<div class="post-metadata">

**Author:** ![JohnnyZer0](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@JohnnyZer0](https://forums.unrealengine.com/u/JohnnyZer0)\
**Post date:** [August 13, 2017, 2:20am UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1479 "2017-08-13T02:20:42Z")

</div>

Hi! Does this plugin include the ability of clicking a button opening steam’s own invites UI (not a propietary one)? And the ability to host a STEAM lobby, that everyone from the world can join? If so, cand you give me some instructions on how to create something like this? Thank you in advance, and I hope I didn’t take much from your time. 🙂

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 14, 2017, 7:38pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1483 "2017-08-14T19:38:30Z")

</div>

[QUOTE=JohnnyZer0;749283]  
Hi! Does this plugin include the ability of clicking a button opening steam’s own invites UI (not a propietary one)? And the ability to host a STEAM lobby, that everyone from the world can join? If so, cand you give me some instructions on how to create something like this? Thank you in advance, and I hope I didn’t take much from your time. 🙂

Yes and yes

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 14, 2017, 7:39pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1484 "2017-08-14T19:39:54Z")

</div>

[QUOTE=JJGG117;749858]  
What’s the best way to adding Splitscreen Characters for Online Multiplayer?

AddPlayer…but that doesn’t have anything to do with this plugin.

[QUOTE=JJGG117;749860]  
How do I change global voice volume? Is there a node for it?

I honestly don’t remember, you’ll have to check in the audio settings. I know some of the pre-made menu’s have it set via slider.

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 14, 2017, 11:35pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1486 "2017-08-14T23:35:10Z")

</div>

[QUOTE=JJGG117;749898]  
I have been unable to accept and send Steam Invites from Steam Chat in Steam Overlay.

Do I need AdvancedFriendsGameInstance in-use in able to do this?

Yes, that is the only reason that it exists.

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 15, 2017, 12:32pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1488 "2017-08-15T12:32:25Z")

</div>

[QUOTE=JJGG117;750041]  
I’m sorry but does this work with two Engline installed Plugins? Like two Marketplace downloaded plugins? They will reside as Engine-side plugins, not Game-side plugins.

I took one, opened it up, changed the parent to the other one. But it says there will be Data Loss. Basically all this does is change or switch the GameInstance, not combine them.

I’m really struggling to get AdvancedFriendsGameInstance working with my other GameInstance class type. The two separate GameInstances have nodes of their own which I need to use together in one GameInstance. I’m not just trying to switch between one or the other, I’m trying to combine them both. Inherit both of their nodes for me to use.

If you can kindly review the steps with me in greater depth…

I see that both plugins have a Source folder. But none are in Game/Plugins…all are in 4.16/Engine/Plugins/Marketplace  
How would you describe “reparenting” ? Going into Class Settings?

Yes, class settings / parent.

The AdvancedFriendsGameInstance is c++ based so it likely needs to be the root parent as your other one is blueprint. Make sure the other GameInstances parent class is listed as “GameInstance” and not “PlatformGameInstance”.

If the original parent is “GameInstance” then you should be entirely safe to set the parent of your second game instance to AdvancedFriendsGameInstance, the “There MAY be data loss” is a warning that always pops up regardless of what you are parenting to.

If the original parent of the second game instance is not a baseline “GameInstance” then you won’t be able to do this, and likely will have to manually merge things if you want them.

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 15, 2017, 3:02pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1490 "2017-08-15T15:02:14Z")

</div>

[QUOTE=JJGG117;750238]  
Well the plugins are installed thru the 4.16/Plugins/Marketplace. They both work fine on their own. When I go to create a new game instance, I find that this game instance’s tooltip says it is C++  
But I have a BP only project and individually, your AdvancedFriends and my other game instance work fine.

Both are under GameInstance and are not a child of PlatformGameInstance.

Still reparenting removes the nodes of one or the other as well as from default settings panel.

I assume AdvancedFriends has a public .h class? In there I’m sure it is parented to UGameInstance but still in BP it shows up as AdvancedFriendsGameInstance parent. This is why it removes the other GameInstance as soon as I reparent. As both are C++ working in a BP only project.

I’m not sure the steps to take to make sure they can not conflict classes when I go ahead and reparent in editor. Or even if I was to go ahead and reparent in C++ .h files. How to rebuild, etc. that type of thing. If I go ahead and create a C++ class and rebuild after manually reparenting in one of the C++ .h files, then it builds instantly with no other prints to output log.

I said to make AdvancedSessions the PARENT of the OTHER gameinstance that comes from a plugin…

If the other plugins game instance is c++ then you are out of luck without manual edits.

---

<div class="post-metadata">

**Author:** ![abdudsoul](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@abdudsoul](https://forums.unrealengine.com/u/abdudsoul)\
**Post date:** [August 16, 2017, 12:04am UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1491 "2017-08-16T00:04:18Z")

</div>

Hey! So I was watching a tutorial on youtube on how to add advance sessions into your project and everything seemed fine. When I play game in-engine as standalone I can see my friend list from steam and Im able to create server but when I package the server, I don’t think the stuff from advance sessions get added there cuz when i press shift+tab even steam overlay doesnt even come up.

The plugins I only activated were: online subsystem steam, “AdvancedSteamSessions” only, In his new video he made how to package everything but he also enabled “AdvancedSessions” plugin but when I go back to plugins and search for advance sessions plugins nothing shows up. Any help would be appreciated.

Unreal Engine Version: 4.16.3

Also thanks for creating such a cool plugin

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 16, 2017, 12:45am UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1492 "2017-08-16T00:45:34Z")

</div>

[QUOTE=DarkSoul Gaming;750442]  
Hey! So I was watching a tutorial on youtube on how to add advance sessions into your project and everything seemed fine. When I play game in-engine as standalone I can see my friend list from steam and Im able to create server but when I package the server, I don’t think the stuff from advance sessions get added there cuz when i press shift+tab even steam overlay doesnt even come up.

The plugins I only activated were: online subsystem steam, “AdvancedSteamSessions” only, In his new video he made how to package everything but he also enabled “AdvancedSessions” plugin but when I go back to plugins and search for advance sessions plugins nothing shows up. Any help would be appreciated.

Unreal Engine Version: 4.16.3

Also thanks for creating such a cool plugin

Did you delete the AdvancedSessions plugin folder? It should show up in your available plugins list.

Also as of 4.17 you won’t be able to remove Advanced sessions but use Advanced Steam Sessions as the Steam Sessions relies on it and will correctly inform you that it needs the former enabled.

---

<div class="post-metadata">

**Author:** ![abdudsoul](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@abdudsoul](https://forums.unrealengine.com/u/abdudsoul)\
**Post date:** [August 16, 2017, 12:52pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1493 "2017-08-16T12:52:54Z")

</div>

[QUOTE=;750445]  
Did you delete the AdvancedSessions plugin folder? It should show up in your available plugins list.

Also as of 4.17 you won’t be able to remove Advanced sessions but use Advanced Steam Sessions as the Steam Sessions relies on it and will correctly inform you that it needs the former enabled.

So to be able to enable the “AdvancedSessions” plugin I deleted plugins folder from my project folder and and didnt delete the one from engine level and it worked but I keep facing the same problem.

When I run standalone, it works

and when I run the packaged one to be shipped, it doesnt work

Here are the plugins I have Enabled:  
Online Subsystem,  
Online Subsystem Steam,  
AdvancedSessions,  
AdvancedSessionSteam,

Also Im using unreal engine 4.16.x not 4.17.x. Im not sure what the problem is and I also cant figure it out as Im new to unreal engine and still am learning stuff.

EDIT: Im only building it for windows so I have made any c++ bland file in my project, but when I try to do it, it keeps giving me namespace already exists error.

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 16, 2017, 1:03pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1494 "2017-08-16T13:03:18Z")

</div>

[QUOTE=DarkSoul Gaming;750659]  
So to be able to enable the “AdvancedSessions” plugin I deleted plugins folder from my project folder and and didnt delete the one from engine level and it worked but I keep facing the same problem.

When I run standalone, it works:

> **[Gyazo](https://gyazo.com/c18e1e882e5509fc22b813cd4f67dc70)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

and when I run the packaged one to be shipped, it doesnt work:

> **[Gyazo](https://gyazo.com/baae2a51448ee568c3264e82723e097c)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

Here are the plugins I have Enabled:  
Online Subsystem,  
Online Subsystem Steam,  
AdvancedSessions,  
AdvancedSessionSteam,

SS of plugins enabled:

> **[Gyazo](https://gyazo.com/edf7dcd82b65b5b9e0cae1a000326781)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

> **[Gyazo](https://gyazo.com/df8735488c9595dbeeb26b566ec1643d)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

> **[Gyazo](https://gyazo.com/02a7d5aebd789ba653b60e97978efb06)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

Also Im using unreal engine 4.16.x not 4.17.x. Im not sure what the problem is and I also cant figure it out as Im new to unreal engine and still am learning stuff.

EDIT: Im only building it for windows so I have made any c++ bland file in my project, but when I try to do it, it keeps giving me namespace already exists error.

To use it in a shipping build you need to add an app\_id.txt file in the .exe directory (not the first launcher exe, the actual .exe) that contains your appid or in the case of testing, the default 480 one.

You can package in development to test without doing that if you wish.

Without the app\_id.txt file shipping builds won’t work correctly with the Steam Subsystem.

---

<div class="post-metadata">

**Author:** ![abdudsoul](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@abdudsoul](https://forums.unrealengine.com/u/abdudsoul)\
**Post date:** [August 16, 2017, 1:16pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1495 "2017-08-16T13:16:24Z")

</div>

[QUOTE=;750663]  
To use it in a shipping build you need to add an app\_id.txt file in the .exe directory (not the first launcher exe, the actual .exe) that contains your appid or in the case of testing, the default 480 one.

You can package in development to test without doing that if you wish.

Without the app\_id.txt file shipping builds won’t work correctly with the Steam Subsystem.

thanks alot that worked 😃

---

<div class="post-metadata">

**Author:** ![Shmann](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Shmann](https://forums.unrealengine.com/u/Shmann)\
**Post date:** [August 16, 2017, 3:01pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1496 "2017-08-16T15:01:09Z")

</div>

Hi,

I have a similar problem as the last one.  
I find sessions in editor, but if I package my project and give it to a friend it mostly doesn´t find a session.  
Sometimes it finds something, but not often.  
Does somebody know this problem and maybe how to fix it?

Thanks for your help.

---

<div class="post-metadata">

**Author:** ![SacriPan](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@SacriPan](https://forums.unrealengine.com/u/SacriPan)\
**Post date:** [August 17, 2017, 6:50am UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1497 "2017-08-17T06:50:38Z")

</div>

Hi ,

First, let me thank you for this plugin! Great stuff you got here.

I tried it yesterday and I have a question regarding the “ **create session** ” node. When I use it and create a session on a dedicated server (then \*\*LAN \*\*& **DEDICATED SERVER** booleans are checked on the node) and set the players to 3, I can see the session and connect the 3 first players to the server. But when a 4th instance of the game looks for the session using the “ **Find sessions** ” node, it doesn’t find it. It’s a problem for me because let’s say I have a list of 20 official servers, I want players to be able to see the full list of servers even if they are full.

Did I miss something in the configuration/creation of the session, is it linked to your plugin or is it OSS related (I’m using Null OSS and activated both of your plugins - steam and not steam)

Thank you,  
SacriPan!

_EDIT:_ Running 4.16 engine/plugin

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 18, 2017, 2:48pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1499 "2017-08-18T14:48:41Z")

</div>

[QUOTE=SacriPan;751044]  
Hi ,

First, let me thank you for this plugin! Great stuff you got here.

I tried it yesterday and I have a question regarding the “ **create session** ” node. When I use it and create a session on a dedicated server (then \*\*LAN \*\*& **DEDICATED SERVER** booleans are checked on the node) and set the players to 3, I can see the session and connect the 3 first players to the server. But when a 4th instance of the game looks for the session using the “ **Find sessions** ” node, it doesn’t find it. It’s a problem for me because let’s say I have a list of 20 official servers, I want players to be able to see the full list of servers even if they are full.

Did I miss something in the configuration/creation of the session, is it linked to your plugin or is it OSS related (I’m using Null OSS and activated both of your plugins - steam and not steam)

Thank you,  
SacriPan!

_EDIT:_ Running 4.16 engine/plugin

I don’t do any filtering of full servers anywhere, its OSS related, there is still a ton of things that could be improved with the standard subsystems…

For instance, since you are using the NULL(LAN) subsystem it has this in its code

```auto

		// Don't respond to query if the session is not a joinable LAN match.
		if (Session && **IsSessionJoinable(*Session)**)

```

And IsSessionJoinable is defined with

```auto

	const bool bAreSpacesAvailable = Session.NumOpenPublicConnections > 0;

	// LAN matches don't care about private connections / invites.
	// LAN matches don't care about presence information.
	return bIsAdvertised && bJoinableFromProgress && **bAreSpacesAvailable** ;

```

So it throws out all results from servers that are full. Literally changing that single line would fix it for you. Its not even Virtual though so you would have to either directly edit the source, or copy the NULL subsystem module and make changes.

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 18, 2017, 2:50pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1500 "2017-08-18T14:50:46Z")

</div>

[QUOTE=JJGG117;751656]  
I would love to know this too  
How do we add full servers to the findGame list?  
The Bool on FindGame is useless?  
Also,  
GetCurrentPlayers from SessionResult DOES NOT return splitscreen players! How do I achieve this?  
NumNetworkPlayers returns the correct value. But UpdateSession can’t write current players!

That is because GetNumPlayers for a session is autocalculated from CurrentPlayers and Openslots. I can’t force the subsystem to use my values remotely.

You can add a new custom flag (ExtraSettings) for cPlyrs and store it there instead.

Also its not technically incorrect as is, its listed the number of NETWORK players, not all of which will have multiple local players.

---

<div class="post-metadata">

**Author:** ![SacriPan](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@SacriPan](https://forums.unrealengine.com/u/SacriPan)\
**Post date:** [August 18, 2017, 4:24pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1501 "2017-08-18T16:24:25Z")

</div>

OK, thanks for the answer.

Actually, I just thought of a workaround for the Online servers. There will always be a fixed amount of official servers, and they will always have the same name over time, so I’ll just browse the session results and add the ones that are missing and set the player count to the maximum. I’ll throw in a bogus ping, but who cares, nobody will be able to connect to it anyway ^^  
I guess I’ll have to accept this issue for LAN mode, but since the players usually set enough slots upon server creation so their friends can jump in, it shouldn’t be a problem.

Thanks again for all the work you’ve done for this community!

Cheers,  
SacriPan!

---

<div class="post-metadata">

**Author:** ![mordentral](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@mordentral](https://forums.unrealengine.com/u/mordentral)\
**Post date:** [August 18, 2017, 4:52pm UTC](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020/1502 "2017-08-18T16:52:21Z")

</div>

[QUOTE=SacriPan;751717]  
OK, thanks for the answer.

Actually, I just thought of a workaround for the Online servers. There will always be a fixed amount of official servers, and they will always have the same name over time, so I’ll just browse the session results and add the ones that are missing and set the player count to the maximum. I’ll throw in a bogus ping, but who cares, nobody will be able to connect to it anyway ^^  
I guess I’ll have to accept this issue for LAN mode, but since the players usually set enough slots upon server creation so their friends can jump in, it shouldn’t be a problem.

Thanks again for all the work you’ve done for this community!

Cheers,  
SacriPan!

Since you are doing a source build anyway for dedicated servers you should be able to literally just find that line in OnlineSubsystemNullInterface and replace

```auto

return bIsAdvertised && bJoinableFromProgress && bAreSpacesAvailable;

```

with

```auto

return bIsAdvertised && bJoinableFromProgress;// && bAreSpacesAvailable;

```

and it would return full servers as well for you.

You have to build from source anyway for true dedicated servers, and the check is server side for whether to respond to the information query or not.

[Previous page](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020.md?page=71)

[Next page](https://forums.unrealengine.com/t/advanced-sessions-plugin/30020.md?page=73)
