Version: 2021.2
WebGL 中的光标锁定和全屏模式
WebGL 网络

Input in WebGL

Gamepad and Joystick support

Unity WebGL supports Input and InputSystem for gamepads and joysticks for browsers that support the HTML5 Gamepad API.

Some browsers only allow access to input devices after the end user interacts with the device while the application has focus. This is a security measure that prevents the end user using connected devices for browser fingerprinting purposes. For this reason, your application should instruct the user to press a button on their gamepad/joystick before you call Input.GetJoystickNames() to check for connected devices.

Touch support

Unity WebGL doesn’t officially support mobile devices (see WebGL browser compatibility) but it does implement Input.touches and other related APIs in browsers and devices with touch support.

Keyboard input and focus handling

By default, Unity WebGL processes all keyboard input the web page receives, regardless of whether the WebGL canvas has focus or not. This is so the end user can start using a keyboard-based application without the need to click on the WebGL canvas.

Important: This can cause issues when there are other HTML elements on the page that should receive keyboard input, such as text fields. Unity consumes the input events before the rest of the page can receive them. To have HTML elements receive keyboard input, set WebGLInput.captureAllKeyboardInput to false. When you do this, the application only receives input if the WebGL canvas has focus.

Mobile Sensor support

Unity WebGL doesn’t officially support mobile devices (see WebGL browser compatibility) but, for browsers and mobile devices with touch support, Unity WebGL includes support for the following sensors:

Important: Browsers only allow sensor input in secure contexts. This means you must serve the page over HTTPS. The single exception is http://localhost, which you can use during development.

WebGL 中的光标锁定和全屏模式
WebGL 网络