> For the complete documentation index, see [llms.txt](https://www.computerscience.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.computerscience.io/roblox-studio/api.md).

# API

## Part

### What is a Part <a href="#what-is-a-part" id="what-is-a-part"></a>

The Part object is a physical object. When it is in the [`Workspace`](https://developer.roblox.com/en-us/api-reference/class/Workspace), it will move and interact with other Parts. It can have bonds formed with other Parts, so that the two Parts stay in the same relative position.

Parts are the basic building blocks of any Roblox place. Commonly known as **bricks**, you’ll see these the most often of any other objects as almost every place is built out of these. It is possible to stretch a Part to very large sizes and use them for baseplates, or make them very small and use them to create cool looking [`Tool`](https://developer.roblox.com/en-us/api-reference/class/Tool).

### How can I edit a Part <a href="#how-can-i-edit-a-part" id="how-can-i-edit-a-part"></a>

The Part object can be edited using the various studio tools. It is available via either the insert menu, or the *Object Insert menu*. It can also be created using the function:

```
Instance.new("Part")
```

### How do I create different shaped Parts <a href="#how-do-i-create-different-shaped-parts" id="how-do-i-create-different-shaped-parts"></a>

Using the Mesh objects, such as [`SpecialMesh`](https://developer.roblox.com/en-us/api-reference/class/SpecialMesh), [`BlockMesh`](https://developer.roblox.com/en-us/api-reference/class/BlockMesh), or [`CylinderMesh`](https://developer.roblox.com/en-us/api-reference/class/CylinderMesh) objects you can change the shape of them. Using the [`Decal`](https://developer.roblox.com/en-us/api-reference/class/Decal) or [`Texture`](https://developer.roblox.com/en-us/api-reference/class/Texture) objects, you can place pictures on top of the bricks.

### Changing Parts using scripts <a href="#changing-parts-using-scripts" id="changing-parts-using-scripts"></a>

There are many scripting opportunities using the Part object. Many of the other scripting objects, such as [`BodyForce`](https://developer.roblox.com/en-us/api-reference/class/BodyForce) objects operate inside of a Part or other physics based objects. Editing the Part’s properties through a script can result in a lot of fun opportunities.

Reference: <https://developer.roblox.com/en-us/api-reference/class/Part>

## Model&#x20;

Models are container objects, meaning they hold objects and group objects together. They are best used to hold collections of [`BasePart`](https://developer.roblox.com/en-us/api-reference/class/BasePart)s and have a number of functions that extend their functionality.

At their most basic level, Models allow developers to group selections of [`BasePart`](https://developer.roblox.com/en-us/api-reference/class/BasePart)s together. This is particularly useful when building environments in Roblox Studio as it means the grouped parts can be moved and rotated together. When not storing collections of [`BasePart`](https://developer.roblox.com/en-us/api-reference/class/BasePart)s it is recommended that developers use the [`Folder`](https://developer.roblox.com/en-us/api-reference/class/Folder) object, as they will not benefit from the additional functionality Models provide.

To access some of the extended functionality Models provide, the [`Model.PrimaryPart`](https://developer.roblox.com/en-us/api-reference/property/Model/PrimaryPart) property needs to be set. This property points to the [`BasePart`](https://developer.roblox.com/en-us/api-reference/class/BasePart) within the Model that is to be used when moving or otherwise manipulating the model.

Models have a wide range of applications, including being used for Roblox Player Characters. They also have a number of unique behaviors that are important to keep in mind when using them:

* When a [`Humanoid`](https://developer.roblox.com/en-us/api-reference/class/Humanoid) and a [`Part`](https://developer.roblox.com/en-us/api-reference/class/Part) named “Head” are parented under a model, a name-tag GUI will appear with the name of the model.
* If a [`Part`](https://developer.roblox.com/en-us/api-reference/class/Part)’s position on the Y axis hits the [`Workspace.FallenPartsDestroyHeight`](https://developer.roblox.com/en-us/api-reference/property/Workspace/FallenPartsDestroyHeight) value, and it was the last object inside of a Model, the Model will be destroyed as well.

Reference <https://developer.roblox.com/en-us/api-reference/class/Model>
