Search Issue Tracker

Fixed in 2019.3

Fixed in 2018.4, 2019.1, 2019.2

Votes

4

Found in

2018.2.0f2

Issue ID

1063768

Regression

No

[UWP] [IL2CPP] File.Exists method returns false

Steps to reproduce:
1. Download and open attached project
2. Switch platform to UWP
3. Target any device and build the project on IL2CPP backend
4. Open Visual Studios solution
5. Add restricted "broadFileSystemAccess" capability to Package manifest
6. Build project (Debug x64 Local Machine)
7. When the app launches it will open file explorer. Select any text file in it

Expected results: the method File.Exists(path) returns true
Actual results: the method File.Exists(path) returns false

Workaround: Use UWP StorageFile APIs to manipulate files outside of folders normally accessible for the app.

Reproduced with: 2018.3.0a6, 2018.2.1f1, 2018.1.9f1, 2017.4.8f1

Note: Not reproducible on .NET backend

  1. Response avatar

    Resolution Note (fix version 2019.3):

    By default "File system" is disabled in app. To enable it you will need to go to App Setting -> App permissions.

Comments (2)

  1. 7fd630127a2ccfc75f8abca4e43d6e3b?d=mm

    Tautvydas-Zilys

    Aug 22, 2018 17:55

    @Spiece, no, it's because IL2CPP does not virtualize UWP file access at this time.

  2. Bb1fdbfd531f63500fa35874b89ae607?d=mm

    spierce

    Aug 22, 2018 17:46

    Is this because UnityEngine.Windows.File is preferred on UWP?

    If so, it would be nice if there were compile-time (or at least runtime) errors indicating that this is what should be used on this platform.

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.