Unity webgl build error

Visual Studio не поддерживает отладку Unity WebGLAPI JavaScript, который отображает 2D- и 3D-графику в веб-браузере. Вариант сборки Unity WebGL позволяет Unity публиковать контент в виде программ JavaScript, использующих технологии HTML5 и API рендеринга WebGL для запуска контента Unity в веб-браузере. Подробнее Смотреть в содержимом Словарь. Чтобы помочь вам точно узнать, что происходит с вашим контентом, вот несколько советов о том, как получить информацию из вашей сборки.

Visual Studio не поддерживает отладку Unity WebGLAPI JavaScript, который отображает 2D- и 3D-графику в веб-браузере. Вариант сборки Unity WebGL позволяет Unity публиковать контент в виде программ JavaScript, использующих технологии HTML5 и API рендеринга WebGL для запуска контента Unity в веб-браузере. Подробнее
Смотреть в содержимом Словарь
. Чтобы помочь вам точно узнать, что происходит с вашим контентом, вот несколько советов о том, как получить информацию из вашей сборки.

Консоль JavaScript браузера

Unity WebGL не имеет доступа к вашей файловой системе, поэтому он не записывает файл журнала, как другие платформы. Однако он записывает всю информацию журнала (такую ​​как Debug.Log, Console.WriteLine или внутренний журнал Unity) в папку браузера. Консоль JavaScript.

Чтобы открыть консоль JavaScript:

  • В Firefox нажмите Ctrl-Shift-K в Windows или Command-Option-K на Mac.
  • В Chrome нажмите Ctrl + Shift + J в Windows или Command + Option + J в Mac.
  • В Safari выберите «Настройки» > «Дополнительно» > «Разработка» и нажмите Command-Option-C.
  • В Microsoft Edge или Internet Explorer нажмите F12.

Разработка

В целях отладки вы можете создать сборку для разработки в Unity (откройте окно настроек сборки и нажмите Сборка для разработкиСборка для разработки включает символы отладки и включает профилировщик. Подробнее
См. в Словарь
). Сборки для разработки позволяют подключать профилировщикокно, помогающее оптимизировать игру. Он показывает, сколько времени вы тратите на различные области вашей игры. Например, он может сообщать о проценте времени, затраченном на рендеринг, анимацию или игровую логику. Подробнее
См. в Словарь
, и Unity не минимизируйте их, чтобы созданный код JavaScript по-прежнему содержал удобочитаемый (хотя C++-искаженное) имена функций. Браузер может использовать их для отображения трассировки стека, когда вы сталкиваетесь с ошибкой браузера, при использовании Debug.LogError или когда вы создаете исключение, а поддержка исключений отключена. В отличие от управляемых трассировок стека, которые могут возникать при полной поддержке исключений (см. ниже), эти трассировки стека имеют искаженные имена и содержат не только управляемый код, но и внутренний код UnityEngine.

Поддержка исключений

В WebGL предусмотрены различные уровни поддержки исключений (см. документацию по Сборке для WebGL). По умолчанию Unity WebGL поддерживает только явно созданные исключения. Вы можете включить Полную поддержку исключений, которая инициирует дополнительные проверки в коде, сгенерированном IL2CPP, для перехвата доступа к нулевым ссылкам и элементам массива за границами в вашем управляемом коде. Эти дополнительные проверки значительно влияют на производительность и увеличивают размер кода и время загрузки, поэтому их следует использовать только для отладки.

Полная поддержка исключений также создает имена функций для создания трассировки стека для вашего управляемого кода. По этой причине в консоли отображаются трассировки стека для неперехваченных исключений и для операторов Debug.Log. Используйте System.Environment.Stacktrace, чтобы получить строку трассировки стека.

Устранение неполадок

Проблема: сборке не хватает памяти

Это распространенная проблема, особенно в 32-разрядных браузерах. Дополнительную информацию о проблемах с памятью WebGL и способах их устранения см. в документации по памяти в WebGL.

Проблема: файлы, сохраненные в Application.persistentDataPath, не сохраняются

Unity WebGL сохраняет все файлы, которые должны сохраняться между сеансами (такие как PlayerPrefs или файлы, сохраненные в persistenceDataPath), в IndexedDB браузера. Это асинхронный API, поэтому вы не знаете, когда он завершится.

Вызовите следующий код, чтобы убедиться, что Unity сбрасывает из памяти все ожидающие операции записи файловой системы в файловую систему IndexedDB:

FS.syncfs(false, function (err) {
console.log('Error: syncfs failed!');
});

Сообщение об ошибке: неправильная проверка заголовка

Журнал консоли браузера обычно печатает эту ошибку в результате неправильной конфигурации сервера. Дополнительную информацию о том, как развернуть выпускную сборку, см. в документации по развертыванию сжатых сборок.

Сообщение об ошибке: распаковка этого формата (1) не поддерживается на этой платформе

Журнал консоли браузера выводит эту ошибку, когда контент пытается загрузить AssetBundle, сжатый с помощью LZMA, который Unity WebGL не поддерживает. Повторно сожмите AssetBundle, используя LZ4 сжатиеметод хранения данных, который уменьшает объем требуемого дискового пространства. См. Сжатие текстур, Сжатие анимации, Сжатие звука, Сжатие компоновки.
См. Словарь
, чтобы решить эту проблему. Дополнительную информацию о сжатии для WebGL см. в документации по созданию WebGL, особенно в разделе AssetBundles.


  • MonoDevelop заменен на Visual Studio из 2018.1

DbIMok писал(а):или фаза луны не та. что в логах?

Failed running «C:Program FilesUnityEditorDataPlaybackEnginesWebGLSupportBuildToolsEmscripten_Winpython2.7.5.3_64bitpython.exe» «C:Program FilesUnityEditorDataPlaybackEnginesWebGLSupportBuildToolsEmscriptenemcc» @»H:8F02~1F8E2~1NEWUNI~1Assets..Tempemcc_arguments.resp»

stdout:
stderr:ERROR:root:H:Игровой проектПроектNew Unity ProjectTempStagingAreaDataNativebuild.bc: No such file or directory («H:Игровой проектПроектNew Unity ProjectTempStagingAreaDataNativebuild.bc» was expected to be an input file, based on the commandline arguments provided)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Exception: Failed building WebGL Player.
UnityEditor.WebGL.ProgramUtils.StartProgramChecked (System.Diagnostics.ProcessStartInfo p) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/ProgramUtils.cs:48)
UnityEditor.WebGL.WebGlBuildPostprocessor.EmscriptenLink (BuildPostProcessArgs args, Boolean wasmBuild, System.String sourceFiles, System.String sourceFilesHash) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:425)
UnityEditor.WebGL.WebGlBuildPostprocessor.LinkBuild (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:474)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:937)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at C:/buildslave/unity/build/Editor/Mono/Modules/DefaultBuildPostprocessor.cs:27)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:287)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

I get an error while trying to build a game for webgl. I have created a new 3d project with only a cube in it and have not created any scripts. When I try to build and run the webgl option, these are the errors I get.

    Failed running "C:/Program Files/Unity/Hub/Editor/2019.3.13f1/Editor/Data/PlaybackEngines/WebGLSupportBuildToolsEmscripten_Winpython2.7.5.3_64bitpython.exe" -E "C:/Program Files/Unity/Hub/Editor/2019.3.13f1/Editor/Data/PlaybackEngines/WebGLSupportBuildToolsEmscriptenemcc" @"G:webglAssets..Tempemcc_arguments.resp"
stdout:
stderr:INFO:root:Checking JS engine ['G:\nodejs\node_modules\npm\bin', '--stack_size=8192', '--max-old-space-size=4096'] failed. Check your config file. Details: [Error 5] Access is deniedCRITICAL:root:The JavaScript shell (['G:\nodejs\node_modules\npm\bin', '--stack_size=8192', '--max-old-space-size=4096']) does not seem to work, check the paths in the config file
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bb] in <480b5a3bd3214ce5831f6dd8c68fdc55>:0 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <480b5a3bd3214ce5831f6dd8c68fdc55>:0 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

This is what the editor log shows:

C:Program FilesUnityHubEditor2019.3.13f1EditorDatail2cpp/build/deploy/net471/il2cpp.exe exited after 228169 ms.
Filename: "C:/Program Files/Unity/Hub/Editor/2019.3.13f1/Editor/Data/PlaybackEngines/WebGLSupportBuildToolsEmscripten_Winpython2.7.5.3_64bitpython.exe"
Arguments: -E "C:/Program Files/Unity/Hub/Editor/2019.3.13f1/Editor/Data/PlaybackEngines/WebGLSupportBuildToolsEmscriptenemcc" @"G:webglAssets..Tempemcc_arguments.resp"
index: -1
Failed running "C:/Program Files/Unity/Hub/Editor/2019.3.13f1/Editor/Data/PlaybackEngines/WebGLSupportBuildToolsEmscripten_Winpython2.7.5.3_64bitpython.exe" -E "C:/Program Files/Unity/Hub/Editor/2019.3.13f1/Editor/Data/PlaybackEngines/WebGLSupportBuildToolsEmscriptenemcc" @"G:webglAssets..Tempemcc_arguments.resp"

stdout:
stderr:INFO:root:Checking JS engine ['G:\nodejs\node_modules\npm\bin', '--stack_size=8192', '--max-old-space-size=4096'] failed. Check your config file. Details: [Error 5] Access is deniedCRITICAL:root:The JavaScript shell (['G:\nodejs\node_modules\npm\bin', '--stack_size=8192', '--max-old-space-size=4096']) does not seem to work, check the paths in the config file

I’m not sure how to resolve this….Can someone please help…

Понравилась статья? Поделить с друзьями:
  • Unity starting server error
  • Unity sdk error
  • Unity runtime error
  • Unity restarts pc error
  • Unity player dll ошибка что делать