Search Issue Tracker

Fixed in 2017.2.0f3

Fixed in 5.6, 2017.1

Votes

2

Found in

5.6.0f3

Issue ID

899390

Regression

No

Building Asset Bundles for a different platform causes compile Errors when a Plugin Assembly is set for different platforms

Build Pipeline

-

Using a menu command to trigger BuildPipeline.BuildAssetBundles(...) for a different platform will cause a compiler error if you have plugin assemblies that aren't set for all platforms.

Steps to reproduce:
1. Open User's attached project "BugReport.zip"
2. Make sure the target platform is set to Standalone
3. From menu bar: build > build asset bundles (this will try and build asset bundles for iOS platform programmatically)
4. Observe the bundles will fail to build and an error will be logged to console with compile errors
5: Open Build settings

Expected result: Build settings Target is set to iOS or Editor Title bar says it's in Standalone.
Actual result: the Build settings still thinks it's in Standalone whereas the Editor Title bar says it's in iOS platform.

Reproduced with: 2017.1.0b1, 5.6.0f3.
Not reproduced with: 5.5.3f1 (due to errors in the Console).

Note:
The Newtonsoft.Json assemblies are marked for specific platforms.
Using a command line to run the project from clean state with -buildTarget ios and using executeMethod to trigger the command will result in no build failure.

Workaround:
1. Start from the clean project in BugReport.zip
2: Uncomment the #define at the top of BuildPipeline.cs
-- this calls an internal BuildPipeline.BuildAssetBundles to set the correct BuildTargetGroup.
3. Repeat steps 2-3 if failure repro
4. Observe the asset bundles build correctly (apparently) and there are no compiler errors

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.