Need help understanding how to initalize a particular example

That’s a statement full of confusion. The problem is not about ThirdPersonNavigation being a constant, it’s not. As I wrote in MD3 - improve animations support - #241 by michalis , there are other problems (you didn’t initialize ThirdPersonNavigation so it is nil, moreover it doesn’t make sense to have ThirdPersonNavigation field inside TMyThirdPersonNavigation at all).

Please study the learning materials in More Resources to Learn Pascal | Castle Game Engine more.

I have even pointed 2 times in this thread even the exact paragraph in the book “Free Object Pascal Handbook by Marco Cantu” that shows how to initialize the object. Please look into it.

And please leave for some time the ThirdPersonNavigation issue. To get back to it, you must have better understanding how Pascal, and OOP languages in general, work.

Make simple exercise programs, e.g. create a class that represents a “car”, class that represents a “human”, add fields into car like “this is human that is driving”, “this is human in passenger’s seat”. Then do proper initialization and adjust them, e.g. add a method on “car” to “increase the age of both humans in the car by 1 year”. Write this program, run it, confirm it doesn’t crash and it changes the age of 2 humans.