PlayFab / PlayFabMultiplayerUnreal

PlayFab Online Subsystem Plugin for Unreal Engine
https://learn.microsoft.com/en-us/gaming/playfab/features/multiplayer/networking/party-unreal-engine-oss-overview
39 stars 35 forks source link

Hard-coded paths presume specific directories. #25

Closed bwagstaff closed 1 year ago

bwagstaff commented 1 year ago

From Discord discussions and PlayFab's forums, people like me have needed to modify this hard-coded path. It presumes the plugin is placed in the Engine under the .../Plugins/Online/OnlineSubsystemPlayFab directory. The plugin could be installed anywhere, could be installed as a project plugin as we're doing on our project, or be placed in a differently named directory or location.

https://github.com/PlayFab/PlayFabMultiplayerUnreal/blob/7e146a22a4adf81301a89f367756dc0b7c347a4e/Source/OnlineSubsystemPlayFab.Build.cs#L421

nassosterz-ms commented 1 year ago

It is our suggestion to place the Plugin under that directory. If the Plugin is placed somewhere else, build.cs can be modified (I believe build.cs files are made to be customized by users etc per specific needs).

I assume (havent thought about it) that there might be a way to identify the directory where OnlineSubsystemPlayFab is placed (could be expensive - a search over directories or sth), but, as I see it, this suggested structure can stay as is and users can modify this hardcoded path here.

EkoPratomo commented 1 year ago

Hi, I also encountered this issue. I was trying to put it in the project's plugin folder so it can be included in version control.

I ended up changing the line to string PlatformDir = Path.Combine(ThisModule.ModuleDirectory, "..", "Platforms", "Windows"); so the plugin can be put anywhere.

nassosterz-ms commented 1 year ago

We are closing this issue. There are suggestions in this thread about how to deal with placing the OnlineSubsystemPlayfab plugin in different directories, but it remains our suggestion to follow the practice of placing it under the Plugins directory of the engine