Search Issue Tracker
By Design
Votes
0
Found in
2017.4.5f1
2017.4.20f2
2018.3.0a1
2019.2.0a1
Issue ID
1127095
Regression
Yes
UnityWebRequestTexture fails when texture name contains "+" symbol
How to reproduce:
1. Open attached project "case_1127095-LoadTextureIssue" and scene "Test"
2. Enter Play Mode
3. Observe Console Window
Expected result: no errors in Console Window. Debug output shows that two images downloaded correctly
Actual result: Error in Console Window. Image with "+" in name fails to load
Reproducible with: 2017.4.5f1, 2017.22f1, 2019.1.0b5, 2019.2.0a7
Not reproducible with: 2017.4.4f1 and older
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
'+' is a special character in URIs that denotes space. If you actually need '+' character, you have to escape it with %2b.
Note, that System.Uri class escapes passed string, so don't pass %2b to it, since then it will escape the '%' character.
Here's working modification of the code:
var uri = new Uri(Path.GetFullPath("my folder"));
var url = uri.ToString();
url += "/" + UnityWebRequest.EscapeURL("my+file.png");