question

MFingernail avatar image
MFingernail asked

PlayFab Party: DllNotFoundException: PartyWin32

OS: Ubuntu 20.04.2 LTS

Unity Version: 2021.1.13f1

PlayFab Party SDK Version: 1.6.0.0-main.0

Hello, I'm using the latest PlayFab Party SDK from the GitHub releases page and I'm getting "DllNotFoundException: PartyWin32" errors when running the PlayFabMultiplayerManager.

To replicate the issue:

1. Create a new blank scene

2. Place the PlayFabMultiplayerManager in the scene

3. Press play

This is run on an Ubuntu machine with the Unity editor. I've already properly set the PlayFab SDK with the correct settings (e.g. I can create accounts, sign in, etc.) so we can rule that out. The PartyWin32 dll also exists. I've run the same exact project on Windows and it runs without issues.

I've narrowed the issue down to PFPInterop class in the PartyCSharpSDK.Interop namespace. I've tried changing the ThunkDllName to an absolute path but still no luck. If I had to hazard a guess, the dll native plugin is not cross-platform.

If that is the issue, is there a workaround for this? Or maybe the team can issue a dll plugin for Linux builds. We need it to work in Linux because we have a automated build pipeline that runs on it.

I've attached screenshot images below:

multiplayer
playfab-party.png (38.8 KiB)
playfab-error.png (32.1 KiB)
2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Seth Du avatar image Seth Du ♦ commented ·

May I ask what is the target build? Is it the same when you use Windows version Unity?

0 Likes 0 ·
MFingernail avatar image MFingernail Seth Du ♦ commented ·

Target build is Linux right now. We are also targeting Windows, Android, and iOS. Ideally a cross-platform game with cross-play.

Upon further testing, it can actually build on a Linux editor with a target Linux build. But the same issue props up.

DllNotFoundException: Unable to load DLL 'PartyWin32'. Tried the load the following dynamic libraries: Unable to load dynamic library 'PartyWin32' because of 'Failed to open the requested dynamic library (0x06000000) dlerror() = PartyWin32: cannot open shared object file: No such file or directory
  at PartyCSharpSDK.Interop.PFPInterop.PartyInitialize (System.Byte[] titleId, PartyCSharpSDK.Interop.PARTY_HANDLE& handle)

I read the Party GitHub repository and Linux is not listed as a supported platform. Are there any workarounds for this?

0 Likes 0 ·

1 Answer

·
Seth Du avatar image
Seth Du answered

As Linux is not listed in the repo, It is not supported. However, if you are a verified Xbox developer, please send a thread in Xbox community forum for dedicated help.

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

MFingernail avatar image MFingernail commented ·

Alright, thanks for responding. Is there any chance we could see Linux support in the foreseeable future? Knowing that Steam Deck is coming in a few months, I think Linux would become an important platform.

Maybe if the libraries could be rewritten in pure C#, then it would truly be cross-platform.

0 Likes 0 ·
Seth Du avatar image Seth Du ♦ MFingernail commented ·

You may consult Xbox support team to get more technical details. Steam deck is using Proton, which is a modified version of Wine, to allow Windows games to run on Linux. I believe most games on steam are still targeting to Windows but are also compatible running through Wine.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.