click-target

Encontre e clique em um objeto alvo em XR. Use ao testar interações de UI, clicar em botões ou verificar se elementos interativos funcionam corretamente.

npx skills add https://github.com/facebook/immersive-web-sdk --skill click-target

Click Target in XR

Find a target object in the scene and click it using a controller, then verify the click registered.

Arguments

$ARGUMENTS should be a description of the target to find (e.g., "the RESTART button", "the scoreboard", "the settings panel").

Workflow

1. Get Scene Hierarchy

Use mcp__iwsdk-dev-mcp__scene_get_runtime_hierarchy to find the target object's UUID.

  • Look for objects with entityIndex (these are ECS entities)
  • PanelUI elements typically have nested children for their content

2. Get Target Transform

Use mcp__iwsdk-dev-mcp__scene_get_object_transform with the target UUID.

  • Use positionRelativeToXROrigin for all positioning operations
  • Note the position for the next steps

3. Position Headset to Look at Target

Use mcp__iwsdk-dev-mcp__xr_look_at with device headset and the target position.

  • This orients the headset to face the target

4. Screenshot to Verify Target Visible

Use mcp__iwsdk-dev-mcp__browser_screenshot to verify:

  • Target is visible in the view
  • Target is not occluded by other objects
  • If not visible, use mcp__iwsdk-dev-mcp__xr_look_at with moveToDistance to get closer

5. Position Controller

Use mcp__iwsdk-dev-mcp__xr_get_transform to check controller position.

  • If controller is visible in screenshot and not occluding target, proceed
  • If controller is far away or not visible:
    1. Get headset position with mcp__iwsdk-dev-mcp__xr_get_transform
    2. Set controller to headset position with mcp__iwsdk-dev-mcp__xr_set_transform
    3. Micro-adjust: offset x by +0.25 (right) or -0.25 (left), y by -0.1, z by -0.3

6. Point Controller at Target

Use mcp__iwsdk-dev-mcp__xr_look_at with the controller device and target position.

  • For UI elements on panels, you may need to target a specific child element
  • If the target is a button on a panel, the button may be offset from the panel center

7. Click

Use mcp__iwsdk-dev-mcp__xr_select with the controller device.

8. Verify Click

Use mcp__iwsdk-dev-mcp__browser_get_console_logs with a pattern to check for expected log messages.

  • If no logs match, the click may have missed - adjust target position and retry
  • Common adjustments: change x or z by 0.05-0.1 to hit child elements

Tips

  • For PanelUI buttons, the button position is often offset from the panel center
  • Use mcp__iwsdk-dev-mcp__scene_get_object_transform on child elements to find exact button positions
  • Always verify with console logs rather than assuming from visuals
  • The ray visual in screenshots can be misleading - test with actual clicks
  • Either controller (left or right) can be used

Example

To click the RESTART button on the pong scoreboard:

  1. Find scoreboard entity (entityIndex 6 in the pong game)
  2. Scoreboard is at (0, -0.798, -1.25)
  3. Button is at approximately (0.05, -0.798, -1.109) - offset toward player
  4. Point controller at button position and click
  5. Verify "[BUTTON CLICKED]" appears in console logs

Mais skills de facebook

binary-size-analysis
facebook
Analisa as mudanças de tamanho binário por commit da biblioteca compartilhada hermesvm em um intervalo de commits do git. Gera um relatório em markdown com tamanhos por commit e tabelas resumo de aumentos e reduções significativos.
official
modify-jsi-features
facebook
Guia para adicionar novas funcionalidades JSI à camada de Interface JavaScript (JSI). Use quando o usuário pedir para adicionar, criar ou implementar novos métodos ou recursos em…
official
non-interactive-git-rebase
facebook
Use quando precisar reordenar, dividir, descartar ou alterar commits do git que não são o commit mais recente, sem acesso ao editor interativo. Abrange rebase programático via…
official
iwsdk-planner
facebook
Guia de planejamento e melhores práticas para projetos IWSDK. Use ao planejar novos recursos IWSDK, projetar sistemas/componentes, revisar a arquitetura de código IWSDK ou quando…
official
iwsdk-ui-panel
facebook
Desenvolva e itere painéis de UI do IWSDK de forma eficiente. Use ao trabalhar com componentes PanelUI, depurar layout de UI ou melhorar o design de UI em aplicações IWSDK.
official
test-all
facebook
Orquestrador de testes paralelos. Executa todos os 9 conjuntos de testes simultaneamente por meio de subagentes de Tarefa e da CLI iwsdk. Gerencia build, configuração de exemplos, servidores de desenvolvimento, inicialização de agentes,…
official
test-audio
facebook
Testar o sistema de áudio (carregamento de AudioSource, estado de reprodução, parar, áudio espacial) contra o exemplo de áudio usando a CLI do iwsdk.
official
test-ecs-core
facebook
Testar a funcionalidade principal do ECS (registro do sistema, componentes, sincronização Transform, pausar/avançar/retomar, alternância do sistema, descoberta de entidades, snapshots) contra o poke…
official