Advanced Sessions Plugin

[quote=“, post:1948, topic:30020”]

No, its because it not implemented in the Steam Subsystem, I expose it because Epic has it in their interface so it can be used even if it isn’t currently implemented (third party subsystems for example can implement it, currently there aren’t any built in ones that do).

awww :frowning: ok thanks for the information.

Can someone tell me why i’m unable to build the Advanced Session Plugin v4.19 on Mac?
I always get the Message on Project loading after accepting to Build the stuff:
UE4Editor[27342:1471284] LogInit: Warning: Still incompatible or missing module: UE4Editor-AdvancedSessions.dylib
UE4Editor[27342:1471284] LogInit: Warning: Still incompatible or missing module: UE4Editor-AdvancedSteamSessions.dylib

Hi, when I’m connected on server host (client), and host (server) close connection the Client falls, when I return to the main menu (client) I can’t longer connect to another server, I have need to close and reopen the project. How can I solve? Tk

I’ve seen some posts before that were having issues with packaged builds but nothing clear as to what to proceed.
I’m getting the error:
Couldn’t find file for package /Script/AdvancedSessions requested by async loading code. However I have no Script folder, everything is in the Plugins folder. I have a Blueprints only project. Also, everything works just fine in editor, it’s just on a package build that it fails.
Is there any way to fix this?
Thanks

[quote=“ghostriderxD94, post:1950, topic:30020”]

Can someone tell me why i’m unable to build the Advanced Session Plugin v4.19 on Mac?
I always get the Message on Project loading after accepting to Build the stuff:
UE4Editor[27342:1471284] LogInit: Warning: Still incompatible or missing module: UE4Editor-AdvancedSessions.dylib
UE4Editor[27342:1471284] LogInit: Warning: Still incompatible or missing module: UE4Editor-AdvancedSteamSessions.dylib

I can’t pre-compile binaries for macs, I don’t own a computer with the architecture, you have to manually compile it on that platform.

[quote=“visualnotte, post:1951, topic:30020”]

Hi, when I’m connected on server host (client), and host (server) close connection the Client falls, when I return to the main menu (client) I can’t longer connect to another server, I have need to close and reopen the project. How can I solve? Tk

DestroySession node, it needs to be called client side too.

[quote=“Hikarinessa, post:1952, topic:30020”]

I’ve seen some posts before that were having issues with packaged builds but nothing clear as to what to proceed.
I’m getting the error:
Couldn’t find file for package /Script/AdvancedSessions requested by async loading code. However I have no Script folder, everything is in the Plugins folder. I have a Blueprints only project. Also, everything works just fine in editor, it’s just on a package build that it fails.
Is there any way to fix this?
Thanks

In project level plugins or engine? Needs to be in project level in 4.20

Hello, when I try to replicate variables everything works completely fine, including brushes and images and so on. But when I load the players steam avatar and save it in a variable (as a slate brush for example), it does not work correctly. The one that presses this button, either client or the server, can see the updated image. But if the server sets the images it does not get replicated to the client. The brush itself replicates perfectly fine but the image within the brush does not get replicated.

Here is how I load and save the avatar:

https://forums.unrealengine.com/filedata/fetch?id=1530974

Anything and everything else works perfectly fine, but this one thing does not, and I do not know why. It is driving me crazy. Even if I set any other image, by not using “Get Steam Friend Avatar” and just settings it manually without downloading the avatar, it works fine.

Is there a way to fix this?

[quote=“DasOhmoff, post:#Post:0x0000559745ba97d0, topic:30020”]

Hello, when I try to replicate variables everything works completely fine, including brushes and images and so on. But when I load the players steam avatar and save it in a variable (as a slate brush for example), it does not work correctly. The one that presses this button, either client or the server, can see the updated image. But if the server sets the images it does not get replicated to the client. The brush itself replicates perfectly fine but the image within the brush does not get replicated.

Here is how I load and save the avatar:

https://forums.unrealengine.com/filedata/fetch?id=1530974

Anything and everything else works perfectly fine, but this one thing does not, and I do not know why. It is driving me crazy. Even if I set any other image, by not using “Get Steam Friend Avatar” and just settings it manually without downloading the avatar, it works fine.

Is there a way to fix this?

That is because it is a downloaded image, textures don’t replicate the image data in engine, when you are replicating one that is packaged in with your project it is just replicating the ID of the image and then loading it on the remote end.

You should be called GetSteamFriendAvatar on the remote clients as well with the net id of the person, regardless of the name you don’t have to be friended to the person to download their avatar.

Hey , I was building a plugin that exposes steam workshop. I took your functions as example.
Everything was working fine, until now where I try to use them in production.
Especially: “GetWorkshopItemDetails” node. I tried creating a widget from the returned data -> Crash. The callback is not executed on the GameThread but on the OnlineThread.
Searched the thread, but seems I’m the only one encountering this.

[SPOILER]


LoginId:a1bd03cf4ad44b64d458229ebda7d312
EpicAccountId:804e90335e61485e8dbf0a2aaa62ada6

Assertion failed: IsInGameThread() || HasAnyFlags(RF_ClassDefaultObject|RF_ArchetypeObject) || IsPostLoadThreadSafe() || IsA(UClass::StaticClass()) [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp] [Line: 964]

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:419]
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:967]
UE4Editor_CoreUObject!StaticDuplicateObjectEx() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2107]
UE4Editor_UMG!UUserWidget::DuplicateAndInitializeFromWidgetTree() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:412]
UE4Editor_UMG!UWidgetBlueprintGeneratedClass::InitializeWidgetStatic() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\widgetblueprintgeneratedclass.cpp:162]
UE4Editor_UMG!UUserWidget::Initialize() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:343]
UE4Editor_UMG!UUserWidget::CreateWidgetOfClass() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\userwidget.cpp:1931]
UE4Editor_UMG!CreateWidget<UUserWidget>() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\public\blueprint\userwidget.h:1149]
UE4Editor_UMG!UWidgetBlueprintLibrary::Create() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\private\widgetblueprintlibrary.cpp:53]
UE4Editor_UMG!UWidgetBlueprintLibrary::execCreate() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\umg\public\blueprint\widgetblueprintlibrary.h:28]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4551]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:763]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2198]
UE4Editor_CoreUObject!UObject::execLetObj() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2020]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:887]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:887]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:985]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4551]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1345]
UE4Editor_AdvancedSteamSessions!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [c:\program files\epic games\ue_4.19\engine\source\runtime\core\public\uobject\scriptdelegates.h:465]
UE4Editor_AdvancedSteamSessions!FBlueprintWorkshopDetailsDelegate_DelegateWrapper() [c:\users\vr3\documents\guenni\perfwork\gpaintproject419	hepaintproject\plugins\advancedsessions\advancedsteamsessions\source\advancedsteamsessions\classes\steamwsrequestugcdetailscallbackproxy.h:48]
UE4Editor_AdvancedSteamSessions!USteamWSRequestUGCDetailsCallbackProxy::OnUGCRequestUGCDetails() [c:\users\vr3\documents\guenni\perfwork\gpaintproject419	hepaintproject\plugins\advancedsessions\advancedsteamsessions\source\advancedsteamsessions\private\steamwsrequestugcdetailscallbackproxy.cpp:63]
steam_api64
steam_api64
steam_api64
steam_api64
steam_api64
UE4Editor_OnlineSubsystemSteam!FOnlineAsyncTaskManagerSteam::OnlineTick() [d:\build\++ue4+release-4.19+compile\sync\engine\plugins\online\onlinesubsystemsteam\source\private\onlineasynctaskmanagersteam.cpp:26]
UE4Editor_OnlineSubsystem!FOnlineAsyncTaskManager::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\plugins\online\onlinesubsystem\source\private\onlineasynctaskmanager.cpp:242]
UE4Editor_OnlineSubsystem!FOnlineAsyncTaskManager::Run() [d:\build\++ue4+release-4.19+compile\sync\engine\plugins\online\onlinesubsystem\source\private\onlineasynctaskmanager.cpp:67]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]

[/SPOILER]

[quote=“Rumbleball, post:1956, topic:30020”]

Hey , I was building a plugin that exposes steam workshop. I took your functions as example.
Everything was working fine, until now where I try to use them in production.
Especially: “GetWorkshopItemDetails” node. I tried creating a widget from the returned data -> Crash. The callback is not executed on the GameThread but on the OnlineThread.
Searched the thread, but seems I’m the only one encountering this.

You are doing the widget creation in c++ or what? You shouldn’t be using blueprint async classes with c++ if that is what you are trying to do, you should be binding directly to the event and calling it in code instead.

[quote=“, post:1957, topic:30020”]

You are doing the widget creation in c++ or what? You shouldn’t be using blueprint async classes with c++ if that is what you are trying to do, you should be binding directly to the event and calling it in code instead.

[quote=“Rumbleball, post:1958, topic:30020”]

snip

I found the issue, have to pull it out of the steam callback thread, it is pretty straight forward. There will be a new commit on the repo for it in a bit for you to reference.

Edit Also I sent you a PM

All, I’m trying to add voice but I don’t seem to get it to work. In DefaultEngine.ini I have:



[OnlineSubsystem]
DefaultPlatformService=Steam
bHasVoiceEnabled=true

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480

[Voice]
bEnabled=true


In DefaultGame.ini I have:


[/Script/Engine.GameSession]
bRequiresPushToTalk=true

I bind my push to talk event in my player character like so:

I have my *GameInstance *inheriting from AdvancedFriendsGameInstance, however this event never gets called:

I also ensure that I have a proper sound class:

Can some kind soul tell me what I might be missing? Using 4.20.3.

Hello I am getting an error i have tried re-installing the advanced sessions but no luck i am using UE4 4.20.3 Third Person Template heres the error file

4.19.2 an error occurs (shows the plugin supports 4.17)

[quote=“PaXo0, post:1962, topic:30020”]

Hello I am getting an error i have tried re-installing the advanced sessions but no luck i am using UE4 4.20.3 Third Person Template heres the error file

Install it in the project level in 4.20, they now require a file for engine plugins that doesn’t compile out with normal compilation and I can’t multi compile my dependent modules against each other.

Hi Mythic!

We’re encountering a very strange problem, and I’m reaching out to anyone that may be knowledgeable on the topic – so who better!

We have just moved our engine from 4.17.2 to 4.20.2 and have not been able to see steam games in the session browser any longer. However the discovery process WILL find 4.17.2 sessions.

So our 4.20 clients can see 4.17 dedicated servers, but not 4.20 dedicated servers.

We have some confusion surrounding the third party steam dll’s as well. What is the proper location for these? Our 4.17 dedicated server builds worked without copying them into the <ProjectName>/Binaries/Win64 folder but 4.20 does not seem to. Does this mean we’ve missed a config step and UE4 can’t find them in the ThirdParty folder or…

If you have any suggestions for where to start looking, please reply!

[quote=“Rod.Runnheim, post:1965, topic:30020”]

Hi Mythic!

We’re encountering a very strange problem, and I’m reaching out to anyone that may be knowledgeable on the topic – so who better!

We have just moved our engine from 4.17.2 to 4.20.2 and have not been able to see steam games in the session browser any longer. However the discovery process WILL find 4.17.2 sessions.

So our 4.20 clients can see 4.17 dedicated servers, but not 4.20 dedicated servers.

We have some confusion surrounding the third party steam dll’s as well. What is the proper location for these? Our 4.17 dedicated server builds worked without copying them into the <ProjectName>/Binaries/Win64 folder but 4.20 does not seem to. Does this mean we’ve missed a config step and UE4 can’t find them in the ThirdParty folder or…

If you have any suggestions for where to start looking, please reply!

Sounds like its still looking for the wrong engine version / build id? How did you update? Full re-download or merge?

Sorry I’m very new to all this. you said in the setup if I install at project level I need to create a blank c++ file “in editor” so it can package. I tried to create a blank c++ class and it requires a name. Is this what I need to create? and if so does the name matter?

[quote=“GoobNugget, post:1967, topic:30020”]

Sorry I’m very new to all this. you said in the setup if I install at project level I need to create a blank c++ file “in editor” so it can package. I tried to create a blank c++ class and it requires a name. Is this what I need to create? and if so does the name matter?

no the name wouldn’t matter, however I actually don’t think that is required anymore as long as the binaries are complete.

Those instructions were from or so.

Hey there. Firstly thanks for making this plugin.

I’m a bit lost though - it’s preventing me from packaging my project. I believe the issue is to do with c++ compiling, which I know very little about. I installed unreal source because I wanted to make a dedicated server, and things have been a bit of a headache since then.

The log says the following is missing…
Could not find file ‘C:\Program Files\Epic Games\UE_4.20\Engine\Plugins\AdvancedSessions\AdvancedSessions\Intermediate\Build\Win64\UE4\Development\AdvancedSessions\AdvancedSessions.precompiled’

and yes it isn’t there. What would I need to do to get past this? I do have VS2017 community installed with c++ for game dev and unreal engine addon ticked at install.

Cheers

Ali.