Quick answer: Apply Impulse only takes effect on physics-enabled, awake objects. Confirm Physics > Enabled = True, set a reasonable Mass (1 kg works for arcade), and call Wake Up before the impulse if the body has been at rest. Mass and impulse magnitude must be balanced — a 100 kg crate needs much more impulse than a 1 kg box.

Here is how to fix Construct 3 Physics behavior Apply Impulse actions that fire correctly in the event sheet but produce no visible motion. The button press triggers the action, the debug log shows the right value, but the crate sits there as if nothing happened. Three things commonly cause this: physics disabled, body asleep, or mass overwhelming the impulse.

The Symptom

An object with the Physics behavior receives an Apply Impulse action of (5, 0) on click. Nothing visible happens. The object does not move, rotate, or accelerate. Other objects respond to gravity normally; only this one ignores impulses.

What Causes This

Physics disabled. The behavior’s Enabled flag may be set to false at start, or toggled off elsewhere. Apply Impulse on a disabled body does nothing.

Body asleep. Box2D sleeps low-velocity bodies. Tiny impulses do not wake them. Larger impulses wake automatically; in-between values produce no visible motion.

Mass too high. Impulse divided by mass = velocity change. A mass of 1000 with impulse 5 produces 0.005 units/sec velocity change — invisibly small.

Object pinned. Another behavior (Solid, Pin, Bullet) overrides Physics. The object honors the other behavior’s velocity and ignores impulses.

The Fix

Step 1: Verify Physics is enabled.

Event: System -> On start of layout
  Action: Player -> Physics -> Set enabled = True

Or check the Physics inspector at design time and confirm Enabled is true.

Step 2: Wake the body before impulse.

Event: On Click
  Action: Player -> Physics -> Wake up
  Action: Player -> Physics -> Apply impulse at angle 0, force 5

Wake Up puts the body into the active simulation. Subsequent impulses register fully.

Step 3: Tune mass to match impulse. Open the Physics behavior inspector. Set Mass to 1 kg for default arcade feel. Set Density to 1 unless you have a reason otherwise. Then tune impulse magnitudes by feel.

Reasonable starting values:
Mass:        1 kg
Density:     1
Friction:    0.5
Elasticity:  0.2

Impulse for jump:    5
Impulse for bump:    2
Force for movement:  10 per second

Step 4: Disable Allow Sleeping for critical objects. If you need a body to react instantly to small impulses, disable sleeping in the Physics inspector. Costs a tiny bit of CPU per always-awake body.

Step 5: Avoid behavior conflicts. Do not put both Physics and Solid on the same object. They fight over position. For movable solid platforms, use Physics with Immovable = True, or use Pinned platforms.

Apply Impulse vs Apply Force

Apply Impulse is one-shot. Use it for jumps, hits, explosions. Apply Force is continuous — it must be called every tick (or every-tick-while-X is true). Use it for jets, motors, sustained pushes:

Event: System -> Every tick
  Sub-event: Keyboard.IsDown("ArrowRight")
    Action: Player -> Physics -> Apply force at angle 0, force 10

Debugging Tips

Add a debug text showing the player’s velocity each tick:

DebugText.Text = "V: " & Player.Physics.VelocityX & ", " & Player.Physics.VelocityY

If velocity stays at 0 after impulse, the body is either disabled, asleep with too-small impulse, or has overwhelming mass.

“Wake up. Apply impulse. Mass tuned to impulse. The crate flies.”

Related Issues

For physics objects falling through floors, see Physics Falling Through Floor. For collision detection issues, see Collision Not Detected.

Enabled. Awake. Mass small enough. The impulse moves the object.