Cross-platform File Browser for Unity - unity3d

I'd like to select an image from my local system that is external to the Unity project. This could be on a computer, IOS, android, etc. What is the best strategy to allow a user to open an external image and load it during runtime?

Related

Flutter: non-asset local image

I'd like to include images in my Flutter application which are not asset images.
Let me clarify a bit. I am working with an embedded Unity application inside the Flutter app. I can communicate bidirectionally and part of the communication is sending a file location from Flutter to Unity, such that the Unity app can read that image and do something with it (e.g. a texture). But since assets are not directly accessible by location, I cannot give the path to the Unity part of the application.
So would there be a way to include images in the app and reference them by old school path?

Open executable jar from Unity UWP

I'm building a windows app using Unity3d and I want to include an executable .jar file which has to open on button click from the app. Is there any way to develop this? Please help.
Unfortunately I don't think there is a direct way to do this. Pure UWP apps (which are generated by Unity) are sandboxed and compiled using .NET Native. As such they don't allow executing external code/process as that would pose security risk.
If you used an external Desktop Bridge app (which has full permissions) and communicated with it via app service (see this documentation article), you could theoretically achieve this, but it sounds a bit too complex. Another alternative would be to publish your app as a classic Win32 game. It would still be possible to publish it on Microsoft Store, however it would be limited to desktop devices.

Unity load a font from the disk or the web

This font needs to be dynamically changed so I can't put it in Resources.
I haven't found any resources or way to achieve this, all talk about Resources.
EDIT: I did look into AssetBunble but it looked overkill so I thought maybe requiring the user to install the font on his machine but Font.CreateDynamicFontFromOSFont does nothing. Whatever the given input (even invalid), it will always return the same "Arial" font and nothing visually change.
I might look into AssetBundles again but I don't want Unity installed on the target machine and if I understood right, you can't build an assetbundle without running Unity.
There is no Unity API to load standard font from disk or web into Unity's Font.
If you use Font.CreateDynamicFontFromOSFont, the font must be installed on the device. This is easy to do on some platforms like Windows but extremely hard on devices like Android.
The recommended way to do this is to use AssetBundles. You will need the Unity Editor to create the AssetBundles but you don't need it to load the AssetBundles during run-time. Put the fonts in AssetBundles then build it and host it on the server. Use UnityWebRequest API to download the Assetbundle then extract the font from it. You can always update this Assetbundle on the server.
If you want the user to to able to load the font from any source, you can automate the building part by asking the user where the font is, take that font and send/upload it to your server with the UnityWebRequest API. On the server side, run Unity Editor in a headless mode, retrieve the font sent to it and build an Assetbundle from it then send it back to the player and load it on the client side.
So, UnityWebRequestAssetBundle.GetAssetBundle is used to download the AssetBundle and AssetBundle.LoadAssetAsync is used to the fonts in it.
There is no other way to do this unless you have the Unity source code which is really expensive. By doing it this way, you won't need the font to be installed and won't run into issues on mobile devices. This post shows how to build and load an Assetbundle but you have to do that in headless mode.

iOS upload a file from application

I am developing an application whereby i want to upload an arbitrary file to the server using my application. However, it primarily appears that iOS does not expose the file system to the application.
Is there any way to accomplish this task ? (Please remember here that I do not know the name of file). It is a kind of browse for files - select a file - upload it.
If it is possible in iOS, is there any open source component/library available to facilitate this task ?
There is no file system to access on iOS, unless you are contemplating a jail broken App, other than the files you create as part of your App. You would not normally let a User browse your App's files but it you did you'd implement a App-specific approach to the browsing.

opening a file in its native program with GWT

I wanted to open the files available in my web application to its corresponding native apps in PC. I have created the set of program to download the file from web app but didn't know how to set that files to open with native app in system. kindly help me in this. If you have any other options to use rather than downloading and displaying the file please suggest me.
Note: I am using eclipse to develop web app
This problem is not related to GWT. Just provide links to files in your app. When a user clicks on link, user's browser/PC will decide what to do with a file. It will either open the file within a browser (PDF, images, some video and music files depending on a browser), or it will offer to save them.