diff --git a/src/document/scene-document-validation.ts b/src/document/scene-document-validation.ts index 8dae149e..278b41f9 100644 --- a/src/document/scene-document-validation.ts +++ b/src/document/scene-document-validation.ts @@ -9,6 +9,7 @@ import type { ModelInstance } from "../assets/model-instances"; import { isModelInstanceCollisionMode } from "../assets/model-instances"; import { isPlayerStartColliderMode, + isPlayerStartGamepadCameraLookBinding, isPlayerStartGamepadBinding, isPlayerStartKeyboardBindingCode, isPlayerStartNavigationMode, @@ -1254,6 +1255,21 @@ function validatePlayerStartEntity( ); } + if ( + !isPlayerStartGamepadCameraLookBinding( + entity.inputBindings?.gamepad.cameraLook + ) + ) { + diagnostics.push( + createDiagnostic( + "error", + "invalid-player-start-camera-look-gamepad-binding", + "Player Start camera-look gamepad binding must be a supported standard-gamepad camera input.", + `${path}.inputBindings.gamepad.cameraLook` + ) + ); + } + if (!isPlayerStartColliderMode(entity.collider.mode)) { diagnostics.push( createDiagnostic(