Advanced Sessions Plugin

Hello,

i have this error when i try to launch my packaged game

advancedsessionsfailed.png

any idea how to resolve this? i dont know how to check if plugin is properly installed, the plugin appear in the plugin list correctly

i work with unreal engine 4.10.2

1 Like

You must add the plugin name to project’s Build.cs.

1 Like

[QUOTE=BrUnO XaVIeR;460028]
You must add the plugin name to project’s Build.cs.

No you don’t, you can package and run just fine after adding a plugin into the plugins folder and packaging the game without messing with the Build.cs file.
Usually that error is caused by incorrect file system layout for the plugin, IE it isn’t currently “Project/Plugins/AdvancedSessions/” for its location.

[QUOTE=;460027]
Hello,

i have this error when i try to launch my packaged game

any idea how to resolve this? i dont know how to check if plugin is properly installed, the plugin appear in the plugin list correctly

i work with unreal engine 4.10.2

I just made a brand new blueprint only 4.10.2 project, dropped the plugin in, packaged it with a test call to one of the functions and it ran fine after packaging (wanted to make sure I didn’t screw anything up with my last upload). Your likely issue is that you have the plugin installed in the wrong location currently or downloaded the wrong version of the plugin (but then it wouldn’t load prior to packaging either).

If the file structure is wrong it will still run in editor but will fail be packaged in.

1 Like

Thank you very much for this plugin sir.

I’m using it for my prototypes and I might use it for a tutorial.

Great work!

1 Like

Hi ,

I just checked the new functionality and tried out the “Event On Session Invite Received” node with a simple printstring right behind it. Unfortunately the string won’t be printed to the screen if you receive an invite via steam. But the invite is sent properly as the little steam overlay pops up as soon as you get invited by another person. Could you have a look at this please?

(My game instance derives from “Advanced Friends Game Instance”)

Best regards,
Daniel

1 Like

[QUOTE=polygon;461223]
Hi ,

I just checked the new functionality and tried out the “Event On Session Invite Received” node with a simple printstring right behind it. Unfortunately the string won’t be printed to the screen if you receive an invite via steam. But the invite is sent properly as the little steam overlay pops up as soon as you get invited by another person. Could you have a look at this please?

(My game instance derives from “Advanced Friends Game Instance”)

Best regards,
Daniel

Bad news, the delegate exists and is exposed in the session interface and can be “implemented”. However I did a full source search of all Online subsystems for 4.10 and I don’t think that any of them actually implement the callback yet. I don’t remember it existing at all before so it may be WIP with Epic.

I also just checked for 4.11 and it still isn’t implemented, i’ll leave the delegate in but it won’t do anything until they implement it on the backend (I don’t want to hack together a “fix” that works around it).

1 Like

Thanks for the quick answer :slight_smile: This is very sad but I hope that Epic will implement this in a future release :<

Best regards,
Daniel

1 Like

I installed 4.10.2 version but it says


Plugin ‘AdvancedSessions’ failed to load because module ‘AdvancedSessions’ does not appear to be compatible with the current version of the engine. The plugin may need to be recompiled.

Plugin folder;

C:\Users\Ben\Documents\Unreal Projects\MyProject3\Plugins\AdvancedSession\

Is it needs visual studio?

1 Like

[QUOTE=SoloWarrior;461489]
I installed 4.10.2 version but it says


Plugin ‘AdvancedSessions’ failed to load because module ‘AdvancedSessions’ does not appear to be compatible with the current version of the engine. The plugin may need to be recompiled.

Plugin folder;

C:\Users\Ben\Documents\Unreal Projects\MyProject3\Plugins\AdvancedSession\

Is it needs visual studio?

Hmm, I used my home comp for the last fix and didn’t notice that it was still 4.10.1. I’m recompiling and uploading now.

Edit Uploaded, should work for you now, but you’ll probably want to install visual studio anyway even if you don’t code.

1 Like

[QUOTE=;461755]
Hmm, I used my home comp for the last fix and didn’t notice that it was still 4.10.1. I’m recompiling and uploading now.

Edit Uploaded, should work for you now, but you’ll probably want to install visual studio anyway even if you don’t code.

Thanks,I will try it when I go home.

I’m using ue4 source but I removed visual studio :slight_smile:

When 4.11 released,I’m going to re-download all files.

1 Like

Hi ,

I’m setting up a steam multiplayer project and tried to replicate the steam avatar of a player via BP. This doesn’t seem to work and it only gets displayed on the server, not on the client. To verify that my method generally works, I tried to replicate a simple color the same way and this works. Is there any chance to replicate avatars and use then as texture parameters in dynamic materials?

Here are some screenshots:

  1. Server (standalone, builded version)

  2. Client (standalone, builded version)

  3. Game Mode

  4. Repnotify in Character (Color –> Works on client and server)

  5. Repnotify in Character (Texture2D –> Does not work on client)

1 Like

Are you sure you want to replicate the avatar? I would think that you should have the client retrieve the avatar themselves instead.

Also according to this: Replicating object references | Unreal Engine Documentation

If the target is not a Component or Actor then it can’t have a reference to it replicated over the network unless it is loaded from a compiled package. The avatars are created on the fly as transiant references and are not loaded so they aren’t able to be replicated.

I mean you could pass the data directly through an RPC but I really don’t see why you wouldn’t just have the player load it themselves client side. Also textures aren’t an array of FColors, they store an array of Bytes that hold the color data.

1 Like

[QUOTE=;461755]
Hmm, I used my home comp for the last fix and didn’t notice that it was still 4.10.1. I’m recompiling and uploading now.

Edit Uploaded, should work for you now, but you’ll probably want to install visual studio anyway even if you don’t code.

Sorry,It doesn’t work.

Maybe this problem is my ue4,

I will re-download engine,I’m in fairly using limit now,my internet 16mbps but if I download +50gb data,it downs 3mbps and my data usage is +110gb :smiley:

Very very good system!!!

1 Like

[QUOTE=SoloWarrior;462921]
Sorry,It doesn’t work.

Maybe this problem is my ue4,

I will re-download engine,I’m in fairly using limit now,my internet 16mbps but if I download +50gb data,it downs 3mbps and my data usage is +110gb :smiley:

Very very good system!!!

Well you said you made a custom compile of the engine, you will definitely have compatibility issues of binary releases of plugins with that. In fact if you are custom compiling the engine then uninstalling visual studio likely makes it impossible for you to use plugins at all as they WILL have to recompile against your version and without the compiler then they can’t do that.

The plugin is built against a set engine version and when loading a plugin the engine will not attempt to load one built in a different version without compiling it, pretty sure UE4 generates a build ID when compiled.

Also for the record, I wouldn’t suggest that anyone use the engine without the compiler installed, even if they want to work blueprints only and are using official builds. That way if you ever have a need for a c++ class or you want to incorporate a tutorial or you want to re-compile a plugin that hasn’t been specifically built for your version then it handles it.

1 Like

[QUOTE=;462883]
Are you sure you want to replicate the avatar? I would think that you should have the client retrieve the avatar themselves instead.

Also according to this: Replicating Object References in Unreal Engine | Unreal Engine 5.2 Documentation

If the target is not a Component or Actor then it can’t have a reference to it replicated over the network unless it is loaded from a compiled package. The avatars are created on the fly as transiant references and are not loaded so they aren’t able to be replicated.

I mean you could pass the data directly through an RPC but I really don’t see why you wouldn’t just have the player load it themselves client side. Also textures aren’t an array of FColors, they store an array of Bytes that hold the color data.

Thanks for clarification :slight_smile:
I initially tried to get a player’s steam information in the game mode on “Post Login” and store it in a struct (name, avatar, uniqueNetID) for later usage. For example in a lobby where the server distributes all the information about the current players to each machine so that they can display the corresponding names of the active players as well as their avatars.

If I understand right, the best way to do this would be to distribute an array of all participating player controllers to each client and they get the steam avatars locally with the get friend avatar function?

Best regards,
Daniel

1 Like

[QUOTE=polygon;463544]
Thanks for clarification :slight_smile:
I initially tried to get a player’s steam information in the game mode on “Post Login” and store it in a struct (name, avatar, uniqueNetID) for later usage. For example in a lobby where the server distributes all the information about the current players to each machine so that they can display the corresponding names of the active players as well as their avatars.

If I understand right, the best way to do this would be to distribute an array of all participating player controllers to each client and they get the steam avatars locally with the get friend avatar function?

Best regards,
Daniel

Well all players already have an accessible array of player controllers in the session in GameState->PlayerArray that holds player states that include their UniqueNetID. You would just have to tell the client which players they should be interested in if it isn’t all of them (ie: teammates) and have them use that.

I actually recently corrected an oversight by request for the plugin and added a GetUniqueNetIdFromPlayerState() node.

2 Likes

Having a MAJOR issue with getting steam to work with a dedicated server. i have the dedi server running on another machine in my network, says its listening on the port and such but can not connect to it to save my life. Does this plugin work with dedicated servers with no player controller?

1 Like

[QUOTE=Vindomire;470739]
Having a MAJOR issue with getting steam to work with a dedicated server. i have the dedi server running on another machine in my network, says its listening on the port and such but can not connect to it to save my life. Does this plugin work with dedicated servers with no player controller?

Un-Check “Use Presence”, but yeah steam dedicated servers are a little messy to set up right now.

1 Like

is there full documentation on this? what all the functions do and exactly what the variables might mean? for instance there is this presence check boxes i dont quite understand what they do and the is dedicated server. If i create a session in my dedicated server it usually conflicts with the session it seems to start automatically.

1 Like

[QUOTE=Vindomire;470756]
is there full documentation on this? what all the functions do and exactly what the variables might mean? for instance there is this presence check boxes i dont quite understand what they do and the is dedicated server. If i create a session in my dedicated server it usually conflicts with the session it seems to start automatically.

Presence advertises information about the session to the online subsystem, the dedicated server check nulls out passing in a player controller as a dedicated server doesn’t have one.

There really isn’t a comprehensive documentation for this plugin as I originally intended for it to be a temporary bandage on UE4’s blueprintable session access and its going on 7 months now with no significant changes to the default engine implementations. It really needs documentation at this point but I have been really busy with a more important project and haven’t had time. I’ve seen people suffering through using it without easy explanations, i’ll try and get something together.

For dedicated servers I haven’t used the plugin myself for them yet and have just incorporated things that people that were doing it asked for.

1 Like