Search Issue Tracker

Won't Fix

Votes

0

Found in

5.4.0b8

Issue ID

781007

Regression

No

Navmesh is stripped when building to iOS

IL2CPP

-

How to reproduce:

1. Open attached project
2. Select scene SampleScenes/Scenes/CharacterThirdPersonAI.unity in the project window
3. Go to menu BundleMake -> Scene
4. Add scene TestBundle to the Build Settings
- Make sure this scene is either the first or the only scene in the build
5. Build to iOS and run
- Note that there are errors in the console:

"GetRemainingDistance" can only be called on an active agent that has been placed on a NavMesh.

(Filename: Line: 548)

- This is caused by engine stripping, which strips the classes with the following ID's: 33, 23, 64, 137, 238, 90, 91

- Reproduced in Version 5.4.0b11 (323b0238353b), Version 5.4.0b6 (2c3d6b93e789)
- Blocked from testing 5.3 and earlier due to errors

- Won't Fix: Engine code stripping and asset bundles do not work well together, as the asset bundle system does not inform the stripping system about which engine code types are used in asset bundles. So the best option now is to disable engine code stripping when a project is using asset bundles.

We do have improvements in this area coming in Unity 5.5. There, the player build system will allow a user to mention which asset bundles might be loaded at runtime, and it will ensure that none of the engine code types used in those asset bundles will be stripped. This is not a change that we can make to the 5.4 release though, so it won't be available until the first 5.5 builds are available.

Comments (1)

  1. grimjim

    Dec 24, 2017 22:56

    "We do have improvements in this area coming in Unity 5.5. There, the player build system will allow a user to mention which asset bundles might be loaded at runtime" Where can i mention the asset bundles ?

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.