Search Issue Tracker

Fixed in 5.3.6

Votes

2

Found in

5.2.3f1

Issue ID

747347

Regression

No

Some shader combinations don't reload texture assets when reference is being used

Asset Loading

-

NOTE: Behaviour is by design and bug was with the documentation. In this case, "fix" means that documentation was updated.

Steps to reproduce:

1. Open attached project "Reload.zip"
2. Open scene "test"
3. In Project tab, observe "mat" and "mat2" materials. Notice that "mat" uses Standard (Specular setup) shader and "mat2" uses Standard shader
4. Run scene
5. Press L to load (Resources.Load()) texture and assign it to plane
6. Press U to unload (Resources.UnloadAsset()) it and notice that it is no longer visible, like its expected
7. Press J to assign texture reference to the cube
8. Actual result - Notice that cube has its Texture changed, but plane doesn't.

Expected result - Plane also has its texture reloaded. This expectation comes from "If there are any references from game objects in the scene to the asset and it is being used then Unity will reload the asset from disk as soon as it is accessed." found in http://docs.unity3d.com/ScriptReference/Resources.UnloadAsset.html

9. Stop the scene
10. Change "mat" shader to "Particles/Additive"
11. Do steps 4-7
12. Notice that along with cube having its texture changed, plane has its texture Reloaded. This is Expected result for all shader combinations.

Comments (1)

  1. swiftfinder

    Feb 20, 2020 18:45

    This is a good way to do it, in fact!
    https://creditcardpanda.com/ashley-furniture-credit-card/

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.