# Fundamental Unity types

> Understand some of the fundamental C# types that Unity provides and their special significance and behavior in the Unity Editor and runtime.

Unity has some fundamental built-in classes that are particularly important for scripting. These are classes which your own custom types can inherit from to integrate with Editor and Engine functionality. It's helpful to understand these types, their behavior, and why you should inherit from or use them.

For a complete reference of all the built-in classes and every member available, refer to the [Script Reference](ScriptRef:index).

| **Topic**                                                                                                  | **Description**                                                                                                                           |
| ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **[Object](/engine/6000.5/manual/scripting/fundamental-unity-types/class-object.md)**                      | `UnityEngine.Object` is the base class for all objects the Editor can reference from fields in the Inspector window.                      |
| **[MonoBehaviour](/engine/6000.5/manual/scripting/fundamental-unity-types/class-mono-behaviour.md)**       | Inherit from `MonoBehaviour` to make your script a component and control the behaviour of GameObjects and make them responsive to events. |
| **[ScriptableObject](/engine/6000.5/manual/scripting/fundamental-unity-types/class-scriptable-object.md)** | Inherit from `ScriptableObject` to store data that's independent of GameObjects.                                                          |
| **[Unity attributes](/engine/6000.5/manual/scripting/fundamental-unity-types/unity-attributes.md)**        | Use Unity-specific C# attributes to define special behavior for your code.                                                                |

## Additional resources

* [Unity Scripting reference](ScriptRef:index)
