Components add functionality to a GameObject. To customize and add to the components in the Editor, you can write your own scripts.
To create a component with script, you need to write the script and then attach it to a GameObject. Scripts attached to a GameObject appear in the GameObject’s Inspector window because the Editor treats them as built-in components.
For information on how to create a script, see Creating and Using Scripts.
The Component Scripting API page.