# Creating A Plane

> Learn how to create a plane in Babylon.js.

Source: https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set/plane

## Plane
The created plane is a flat surface parallel to the xy plane with its origin at the center of the plane.

## MeshBuilder
Usage :
```javascript
const plane = BABYLON.MeshBuilder.CreatePlane("plane", options, scene); //scene is optional and defaults to the current scene
```

option|value|default value
--------|-----|-------------
size|_(number)_ side size of the plane|1
width|_(number)_ size of the width|size
height|_(number)_ size of the height|size
updatable|_(boolean)_ true if the mesh is updatable|false
sideOrientation|_(number)_ side orientation|DEFAULTSIDE
sourcePlane|_(Plane)_ source plane (math) the mesh will be transformed to|null
frontUVs|_(Vector4)_  **ONLY WHEN sideOrientation:BABYLON.Mesh.DOUBLESIDE set** | Vector4(0,0, 1,1) 
backUVs|_(Vector4)_  **ONLY WHEN sideOrientation:BABYLON.Mesh.DOUBLESIDE set** | Vector4(0,0, 1,1) 

### Examples
Single sided: [Playground: Create a Single Sided Plane](https://playground.babylonjs.com/#Q9VZS9#4) - Simple example of creating a single sided plane.  
Double sided: [Playground: Create a Double Sided Plane](https://playground.babylonjs.com/#Q9VZS9#2) - Simple example of creating a double sided plane.

Using this image  
![Two Tile Pattern](https://doc.babylonjs.com/img/how_to/Mesh/tiles2.webp)  
to texture the front and back:  
front and back [Playground: Front and Back Texture](https://playground.babylonjs.com/#Q9VZS9#3) - Simple example of assigning front and back textures to a plane.

We can also create a plane from an abstract mathematical plane.  
- [Playground: Create a Plane From Math Path](https://playground.babylonjs.com/#Q9VZS9#1) - Simple example of creating a plane from an abstract math plane.

## Mesh
Usage :
```javascript
const plane = BABYLON.Mesh.CreatePlane("plane", size, scene);
const plane = BABYLON.Mesh.CreatePlane("plane", size, scene, updatable, sideOrientation); //optional parameters after scene
```

It is only possible to create a square with this method; for a rectangle, you need to use scaling.
