Search Issue Tracker

In Progress

Fix In Review for 6000.0.65f1

Fixed in 6000.3.3f1, 6000.4.0b3, 6000.5.0a4

In Progress in 6000.2.X

Votes

0

Found in

6000.0.47f1

6000.2.0a9

Issue ID

UUM-103724

Regression

Yes

"NullReferenceException" error is thrown when swapping between built-in and URP depending on assets loaded out of asset bundles

SRP Settings

-

Reproduction steps:
1. Open the attached “asset_bundle_import_test_2022” project
2. Build, sign and run the Player on a iOS device
3. In the Player on the device, press the “SimpleAssetBundleLoader” Button
4. Observe the Player view

Expected result: The Scene background and a Cube is rendered
Actual result: The Screen turns black and “NullReferenceException” errors are thrown in the Xcode console

Reproducible with: 6000.0.17f1, 6000.0.47f1, 6000.1.0f1, 6000.2.0a9
Not reproducible with: 2022.3.61f1
Couldn't test with: 2023.1.0a1 - 6000.0.16f1 (“PhaseScriptExecution failed …” error in Xcode when building app)

Not reproducible on: macOS Sequoia 15.4 (M1 Max)
Reproducible with these devices:
VLNQA00624, iPhone 16 Pro, iOS: 18.3.1, CPU: Apple A18 Pro
VLNQA00394, iPhone 13 mini, iOS: 18.1, CPU: Apple A15 Bionic
VLNQA00359, iPhone 12 Pro, iOS: 17.6.1, CPU: Apple A14 Bionic

Note: The issue is also reproducible on Android and WebGL, however the reproduction project only contains bundles for iOS and PC testing

  1. Resolution Note (fix version 6000.5.0a4):

    Added new GraphicsSettings.TrySetCurrentRenderPipelineGlobalSettings api to allow updating Render Pipeline Global Settings asset in Player.

    To correctly load UniversalRenderPipelineAsset from an AssetBundle you will need to pack a UniversalRenderPipelineGlobalSettings asset too. Then load UniversalRenderPipelineGlobalSettings first, set it as current with a new method and only after set UniversalRenderPipelineAsset.

    Check an api documentation page for this method for more details.

  2. Resolution Note (fix version 6000.4.0b3):

    Added new GraphicsSettings.TrySetCurrentRenderPipelineGlobalSettings api to allow updating Render Pipeline Global Settings asset in Player.

    To correctly load UniversalRenderPipelineAsset from an AssetBundle you will need to pack a UniversalRenderPipelineGlobalSettings asset too. Then load UniversalRenderPipelineGlobalSettings first, set it as current with a new method and only after set UniversalRenderPipelineAsset.

    Check an api documentation page for this method for more details.

  3. Resolution Note (fix version 6000.3.3f1):

    Added new GraphicsSettings.TrySetCurrentRenderPipelineGlobalSettings api to allow updating Render Pipeline Global Settings asset in Player.

    To correctly load UniversalRenderPipelineAsset from an AssetBundle you will need to pack a UniversalRenderPipelineGlobalSettings asset too. Then load UniversalRenderPipelineGlobalSettings first, set it as current with a new method and only after set UniversalRenderPipelineAsset.

    Check an api documentation page for this method for more details.

  4. Resolution Note (fix version 6000.0.65f1):

    Added new GraphicsSettings.TrySetCurrentRenderPipelineGlobalSettings api to allow updating Render Pipeline Global Settings asset in Player.

    To correctly load UniversalRenderPipelineAsset from an AssetBundle you will need to pack a UniversalRenderPipelineGlobalSettings asset too. Then load UniversalRenderPipelineGlobalSettings first, set it as current with a new method and only after set UniversalRenderPipelineAsset.

    Check an api documentation page for this method for more details.

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.