It is G of Tokyo head office.
UnityButWebGLIt took about a while since I corresponded, but it seems to be relatively infrequent Japanese information about WebGL today.
Today is in the range I went through,Unity WebGLI'd like to collect "what I can not do" with.
Version isUnity 5.3.2 f 1Has become.
WebGL In starting development at
In addition, other information that you should basically knowUnityIn the manual
Information by Platform → WebGL → WebGLIn starting development at
You can confirm by expanding child nodes of.
Also, due to the convenience of using a browser as an operating platform
Information by Platform → WebPlayer
There is also a common item with, so I think that it is better to read this child node and below.
Unity WebGLThings to do in
Many basic items that Unity can do with application output can be used.
· Graphics drawing (3D / 2D)
· Receiving input (keyboard/mouse)
· Basic operations such as playing and stopping sound
·HTTP / HTTPScommunication(WWWClass only)
· Asset bundle
Unity WebGLWhat you can not do
As mentioned above, I can do many thingsUnityofWebGLHowever, due to the fact that the platform is a browser, there are some problems that can not be avoided.
● CommunicationHTTP / HTTPSI can not use anything other than
Once,FTPCommunication can also be done, but reception is only possible here.
AlsoUnityEngine.WWWNetwork functions other than classes can not be used fundamentally.
● Communication data can not be used in stream format
Communication isHTTPWe can not use the data until the response is completely returned.
In other words, you can not use the downloaded part while already downloading, etc.
● Only data on the same host can be accessed
fundamentallyWWWThe data that can be read by the class must be data in the same host.
this isWebGLIn the versionWWWThe implementation of the classXMLHttpRequest ,XMLHttpRequestIs due to compliance with the same origin policy as a security problem.
In this regardUnityIt is impossible to solve by the correspondence on the side, and whether to place data in the same host,Cross-Origin Resource Sharing (CORS) Correctly on the server side can solve it.
● Processing using threads can not be performed
I can not use threads.
However, basicallyUnityEngineClass groups can not perform operations other than the main thread.
If it is absolutely necessary to do similar processing, it is necessary to avoid it by using a coroutine.
● Because there is no file system, files and directories can not be used
There is no way to access the file from the browser.
These are the futureHTML5There is a possibility that it can be solved by adding related technical specifications.
When dealing with the current situation,Indexed DBIf you create a virtual file system with, etc., it is possible to construct a file system virtually.
● I can not input Japanese from the keyboard
uGUIJapanese input can not be done from the keyboard in the input field.
This isIMEBecause the browser is controlling, from the application sideIMEThere is no way to control.
HTMLofTextFieldIt is necessary to deal with such as substituting with etc.
As for the above impossible thing, it is impossible "at the stage of examining" to the last.
From now on,HTML5Extension ofUnityThese actions may be possible by the side action.
Although it seems to be still on the day that you can build with the same source without thinking about anything from application or browser.