A handle is something very simple, it's just a number identifying a certain engine object, like a view, a panel or an entity. Every engine object got such a handle (i.e.) and it consists of two components.

1. A simple number starting with 1 and being incremented by one for every new entity.
2. A number identifying the type of the engine object, e.g. panel or entity. These two numbers are simply binary added, i.e. handle = entity type | number. I f you don't get the point here, that's not so important in the beginning.

What you should know is:
1. A handle identifies any engine object.
2. A handle is even valid after a game load.
3. Contrary to handles pointers loose their validity after a game load.
4. You can retrieve the pointer to an engine object if you got the handle by using ptr_for_handle().
5. You can retrive the handle of any object by using the handle() instruction.


Always learn from history, to be sure you make the same mistakes again...