How to set the Physics Type?
The enum for a navigation mesh is 'NAVMESH' not 'NAVIGATION_MESH'.  The python console is your friend here.

&gt;&gt;&gt; C.object.game.physics_type = 'SOMETHING_WRONG'
Traceback (most recent call last):
  File "&lt;blender_console&gt;", line 1, in &lt;module&gt;
TypeError: bpy_struct: item.attr = val: enum "SOMETHING_WRONG" not found in ('NO_COLLISION', 'STATIC', 'DYNAMIC', 'RIGID_BODY', 'SOFT_BODY', 'OCCLUDER', 'SENSOR', 'NAVMESH', 'CHARACTER')


You weren't getting an error because you had the double equals == which is a boolean test

game.physics_type == 'NAVIGATION_MESH'


Which will equate to False, more commonly I make the mistake of one equals, if (x=y) lol.