Unity WebGL build выдает ошибки
Я работаю над многопользовательской игрой для платформы WebGL и использую ( http://lockstep.io/ - сервер SocketIo & node.js) для управления игрой.
Я сталкиваюсь с этими проблемами, как показано на прилагаемом изображении.
Я понятия не имею, что означают эти ошибки?
Я не думаю, что проблема связана с моей стороной программирования, поскольку моя многопользовательская игра отлично работает в автономных сборках с более чем 4 экземплярами автономной сборки.
Но он даже не открывается в моей сборке WebGL.
WebGL не поддерживает многопоточность??
Пожалуйста, руководство. Что это за ошибки? Можно ли решить эти проблемы?? или я должен изменить всю мою реализацию проекта?
1 ответ
Unity WebGl не поддерживает многопоточность. Хотя Unity усердно работает над тем, чтобы обеспечить поддержку Thread в WebGL.
Не сравнивайте автономно с WebGL, потому что многие функции не поддерживаются в WebGL. Глядя на ошибку, она говорит что-то о Thread, и это может быть проблемой. Около 90% вероятности, что это проблема.
Вы не можете решить эту проблему прямо сейчас, если не откажетесь от использования SocketIo.
Я не знаю, как реализован SocketIo, поэтому я не могу сказать вам, является ли Thread единственной проблемой, но если он использует другие API, не поддерживаемые в WebGL, у вас все равно будут проблемы.
Единственный известный сетевой API, созданный и оптимизированный для работы с WebGL, - это новый веб-API Unity под названием UnityWebRequest. Вы должны изменить свой код, чтобы использовать это. Ссылка, которую я предоставил, содержит много примеров, необходимых для начала работы с ней.
если вы используете что-либо вроде webrequestm System.web или сокета, WebGL завершится сбоем. UnityWebRequest является единственным решением. Это быстрее, чем WWW, и вам нужен Unity 5.2 и выше, чтобы использовать его.