Skip to content

simulate-keyboard: PressEdgeAnyDynamicUpdateObserved ignores Fixed/Manual gameplay updates #2425

Description

@hatayama

Background

CodeRabbit review on #2424 surfaced a diagnostics gap in simulate-keyboard press-edge miss reporting (found while auditing the restructured skill docs; the docs were scoped to current behavior in that PR).

Problem

IsGameplayPressEdgeVisible (Packages/src/Editor/FirstPartyTools/SimulateKeyboard/KeyboardInputActionExecutor.cs) treats every InputUpdateType except Editor as a gameplay update, so Fixed and Manual updates can observe the press edge. However, RecordPressEdgeMissDiagnostics sets AnyDynamicUpdateObserved = true only for InputUpdateType.Dynamic.

On a project whose Input System update mode delivers gameplay input in Fixed or Manual updates, a missed edge therefore reports PressEdgeAnyDynamicUpdateObserved = false, which reads as "no gameplay input update ran" even though gameplay updates did run — a misleading diagnosis.

Proposed fix

Track whether any gameplay-visible update type (Dynamic, Fixed, or Manual — i.e. the same predicate as IsGameplayPressEdgeVisible) ran during the press window, and reflect that in the response contract. Since the current field name encodes Dynamic, this likely means either an additional field or a renamed field plus doc/skill updates (Skill/references/output.md).

Scope note

Deferred from #2424 because it changes runtime diagnostics behavior and the response contract, which is out of scope for a docs-restructure PR. The skill reference was updated there to state explicitly that the flag tracks Dynamic updates only.

Activity

  1. hatayama commented on Sep 2, 2026

    @hatayama
    OwnerAuthor

    Fixed by #2508 (merged into v3-beta).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions