RobProductions / OpenEOS

A lightweight & open-source port of the Epic Online Services (EOS) SDK in Unity Package format, with simple extensions that provide a smoother integration within Unity.
MIT License
9 stars 3 forks source link

Build failures on Android/iOS #16

Closed MadScientist11 closed 1 month ago

MadScientist11 commented 1 month ago

Hello, there is an issue with Epic DLLs now, that keep me or anyone else in the future from using OpenEOS as a package. I have a game for PC & mobile platforms, and can't build on mobile because of that.

Fixed this by disabling all EOS libs in SDK/Plugins for Android & iOS, would be great to have it fixed in a release

Exception: Cannot include plugin 'Assets/EOSSDK/Bin/x64/xaudio2_9redist.dll' (Key: xaudio2_9redist.dll;None) since plugin with the same name and architecture was already added ('Assets/EOSSDK/Bin/x86/xaudio2_9redist.dll (Architecture: None)').
   at UnityEditor.Android.AndroidBuildPostprocessor.CollectPlugin (System.String path, Unity.Android.Types.AndroidArchitecture architecture, System.Collections.Generic.Dictionary`2[TKey,TValue] pluginContainer) [0x0006c] in <3cdb9aab2c914e1e8864cbd75cfb972c>:0
   at UnityEditor.Android.AndroidBuildPostprocessor.PluginsDataFor (UnityEditor.Modules.BuildPostProcessArgs args) [0x000ce] in <3cdb9aab2c914e1e8864cbd75cfb972c>:0
   at UnityEditor.Modules.BeeBuildPostprocessor+<GetDataForBuildProgramFor>d__38.MoveNext () [0x00061] in <9efa87370fa94dd98ca62b05b2a91b8f>:0
   at UnityEditor.Android.AndroidBuildPostprocessor+<GetDataForBuildProgramFor>d__25.MoveNext () [0x0009d] in <3cdb9aab2c914e1e8864cbd75cfb972c>:0
   at UnityEditor.Modules.BeeBuildPostprocessor.SetupBeeDriver (UnityEditor.Modules.BuildPostProcessArgs args) [0x00087] in <9efa87370fa94dd98ca62b05b2a91b8f>:0
   at UnityEditor.Modules.BeeBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) [0x0003e] in <9efa87370fa94dd98ca62b05b2a91b8f>:0
 Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
   at UnityEditor.Modules.BeeBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) [0x00171] in <9efa87370fa94dd98ca62b05b2a91b8f>:0
   at UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) [0x00001] in <9efa87370fa94dd98ca62b05b2a91b8f>:0
   at UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) [0x00009] in <3cdb9aab2c914e1e8864cbd75cfb972c>:0
   at UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) [0x000e5] in <9efa87370fa94dd98ca62b05b2a91b8f>:0
 UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTargetGroup, BuildTarget, Int32, BuildOptions, String[], Boolean)
 UnityEditor.BuildPipeline:BuildPlayerInternal(String[], String, String, BuildTargetGroup, BuildTarget, Int32, BuildOptions, String[])
 UnityEditor.BuildPipeline:BuildPlayer(String[], String, String, BuildTargetGroup, BuildTarget, Int32, BuildOptions, String[])
 UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions)
RobProductions commented 1 month ago

Hi, thanks for letting me know about this! Since I don't have the iOS or Android modules installed, it seems the most I can change in the DLL settings is to turn "Any Platform" off like so:

image

And I'm not sure if Android and iOS settings will default as enabled or disabled when the package enters your project. Performing the Any Platform change affects the .meta file on one line only and doesn't tell me much else. I could manually edit the .meta file to include the mobile specific settings, but I don't know what that looks like. Could you paste in your altered .meta file (should only be ~100 lines) or create a PR with the settings changed for mobile?

MadScientist11 commented 1 month ago

Yep, I created a PR with the settings changed and excluded xaudio2_9redist x86 version in editor, this is another error I've seen, but forgot to mention image