Search Issue Tracker
By Design
Votes
0
Found in
2020.3.42f1
2021.3.14f1
2022.1.23f1
2022.2.0b16
2023.1.0a20
Issue ID
UUM-19938
Regression
No
[WebGL] The canvas element gets constantly resized when width and height are defined in attributes but not styles
Reproduction steps:
1. Open the attached “IN-22017_unity-bug-webgl-canvas-rescale-to-infinity.7z“ project
2. Open “SampleScene” scene
3. Switch platform to WebGL
4. In Player settings, choose the WebGL template called 'WorkingStyles', Build and Run the project
5. Inspect the local server window. Canvas is visible and scales according to the window size
6. In Player settings, choose the WebGL template called 'BuggedAttributes', Build and Run the project
7. Inspect the local server window. Canvas is black and keeps constantly scaling
8. Inspect window console log errors
Expected result: Canvas scales according to screen size
Actual result: Canvas keeps constantly scaling and the screen goes black
Reproducible with: 2020.3.42f1, 2021.3.14f1, 2022.1.23f1, 2022.2.0b16, 2023.1.0a20
Reproduced on: macOS Monterey 12.6 (Intel)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Editor crashes on StoredGraphicsBuffer::GetGfxBufferID when VFX Graph property is modified during Play Mode and Application.targetFrameRate is used to limit FPS
- Crash on NVAPI_Thunk when changing Player resolution while HDR display is used and Direct3D12 is set as the graphics API
- Only one out of multiple cameras is shown in the Play Mode while HDR display is used and Direct3D12 is set as the graphics API
- The "Paste Component as New" option is incorrectly displayed as active despite the action being prohibited
- "TLS Allocator ALLOC_TEMP_TLS" errors are thrown when unsuccessfully importing an FBX file
Resolution Note:
By default, Unity will resize the canvas resolution to match the style resolution, along with the devicePixelRatio to scale the resolution for HDPI screens. This is because the canvas attributes control the WebGL resolution in the browser, and Unity matches the resolution to how it's displayed. For example if you switch to full screen, the resolution will be automatically adjusted to that new size. You can turn off this behavior with `config.matchWebGLToCanvasSize = false;` in the template html, which will give you independent control of the style and canvas resolution.