Answering your first question, package is basically the directory to which the file can be accessed from, like “iron.object.CameraObject”, the path would be “iron.object” to access CameraObject in another file, Normally is recommended to leave it at “package arm” to avoid package conflicts, but you can change it if you will. Import it’s as the names indicates to import or include the content of a file into another, much like include or require from PHP, i.e. if you want to use the Vec4 class, you have to import it like “import iron.math.Vec4;”.
In the third person template you can see that here ThirdPersonController.hx#L208 the velocity of “body” is modified directly but before that is activated just in case body was sleeping:
body.setLinearVelocity(dir.x, dir.y, btvec.z - 1.0);
What is body? If you search you will not see a declaration of body anywhere, but we can see that in this case the class ThirdPersonController extends the content of CameraController, that is that ThirdPersonController inherits from CameraController, so if you go to “path-to-SDK/armory/Sources/armory/trait/internal/” you’d find CameraController.hx which seems to have some prepared declarations so you don’t have to do them yourself, and there it’s body:
16: var body:RigidBody;
body is declared as a RigidBody and then it’s assigned to it the rigidBody trait of the object
30: body = object.getTrait(RigidBody);
The rigidBody trait being: enabling RigidBody inside Blender in the object in the physics tab.
One thing I found useful to learn from the engine is to see something working and then reading the source to understand what it does, being that one of the advantages of Armory is that a lot of the source is in the same language, so you don’t have to learn a lot of different languages to get some grasp of what is going on behind the scenes, the search tool inside Visual Studio Code helps a lot too, if you set the project folder to the SDK, you can search for a function and it will show where is used and where is located the source.