Separate continuous input from one-frame button presses.
Interactive Lab Quest
Input Playground
See how pressed, just-pressed, and direction checks behave before using them in a controller.
10-20 min Practice first Godot 4.6
Live Input Lab
Godot Input Playground
Press WASD or arrow keys and watch input map actions, movement vector, velocity, and event flow update in one place.
Idle
Input Drills
Prove the input pattern, then move on
Each drill maps one live interaction to the Godot code habit it represents.
0/4 drills complete
Input.get_vector
Map held movement
Press W, A, S, or D and watch the action chip, direction, velocity, and moving state agree.
Proof to capture A movement action lights up and the node accelerates.
Input Map Actions
Move the node inside the viewport
move_left move_right move_up move_down jump
Node
What this playground is showing
- Held input: movement uses polling, the same idea as
Input.is_action_pressed(). - One-shot input: new key presses go into the event log, like using
_input(event). - Input Map names: the visible action chips match the action strings you would define in Project Settings.
- Mouse events: the cursor readout updates relative to the arena, matching viewport-local input checks.
Tutor Checkpoint
Lock the pattern in
Before jumping to the next page, turn the idea into one tiny scene or script. That is where the Godot habit sticks.
Treat input events and held state as different tools.
Use is_action_pressed for held state and is_action_just_pressed for edges.
Press keys slowly and quickly, then predict which checks should light up.