Learning unity as a UDK programmer

Hello, this is my first post in the forums, im a UDK freelancer coder, and a experienced c++ programming, im reading the manual and watching the tutorial videos, but if anyone can point me to the main differences( as i already know what a class is, i dont need a huge part of the coding videos), and answer some doubdts I have about unity coding, it would be very nice of you.
the questions i have are these:

1.- How can i add editable variables to objects that have my codes(think about UDK archetypes and properties of the actors)
2.- What are the AI capabilities of the free version.
3.- Does unity have some built in networking solution?
4.- Can someone point me to the workflow for coding?
5.- I already got some money freelancing for UDK, is it profitable to code some programming kits and publish them to the store? or just freelancing and coding for money.
6.- If you can show script properties in the editor, can you add other classes or structs inside those properties and they being editable ( UDK does this with mesh components, for example)

I would be very happy if you help me with this,Thank you.

1- Make the members public or decorate a private field with the SerializeField() attribute
2- There is NavMesh based pathfinding.
3- Yes. http://docs.unity3d.com/Documentation/Manual/NetworkedMultiplayer.html
4- I’d start here. http://docs.unity3d.com/Documentation/Manual/Scripting42.html
5- Lots of folks make money off the Asset Store. If you have a good solution to a specific problem then it can be worthwhile to codify it and sell it.
6- Yes. Decorate the class definition with System.Serializable() and the fields with SerializeField() as above. The Editor itself is also extensible and allows you to write custom Inspectors, Windows, etc.

Thanks a LOT, you have helped me quite a bit, now, time to try to code sometihng