# quick start

Get up and running with Sprite Warp in minutes!

## Installation

{% stepper %}
{% step %}

### Import the package

Import the Sprite Warp package into your Unity project.
{% endstep %}

{% step %}

### Ready to use

The tool is ready to use — no additional setup required.
{% endstep %}
{% endstepper %}

## Simple Mode

{% stepper %}
{% step %}

### Add Component

* Select a GameObject in the Hierarchy
* Add the `SpritePerspective` component via the **Add Component** button
  {% endstep %}

{% step %}

### Adjust Perspective

* The component automatically enters **Simple** Mode
* In the Scene view, you'll see four yellow handles at the sprite corners
* Drag any handle to adjust the perspective with the View Tool (Hand icon)
  {% endstep %}

{% step %}

### Fine-Tune (Optional)

* Hold \[**Shift]** while dragging to maintain equal edge lengths
* **\[Control** + **Click]** to select multiple corner handles
* **\[Control** + Double **Click]** to deselect all corners
* Enable "**Use Subdivided Mesh**" for consistent corner behavior
* Adjust "**Grid Subdivisions**" for more control points
  {% endstep %}

{% step %}

### Bake

* Click "**Bake Perspective to Sprite**" in the Inspector
* Choose a save location for the new sprite
* The warped sprite replaces the original
* Adjust "**Bake Texture Multiplier**" to control .png size.
  {% endstep %}
  {% endstepper %}

## Advanced Mode

{% stepper %}
{% step %}

### Switch to Advanced Mode

* Set **Mode** to "**Advanced**" in the Inspector
* The component automatically enters the **Layout** sub-mode
  {% endstep %}

{% step %}

### Create Planes

* Adjust plane corners by dragging handles in the Scene view
* Click "**Create Plane**" to add a new perspective plane
  {% endstep %}

{% step %}

### Switch to Warp Mode

* After your planes are defined, set **Sub-Mode** to "**Warp**"
* Adjust corner handles to warp the sprite
  {% endstep %}

{% step %}

### Bake

* Same as Simple Mode — click "**Bake Perspective to Sprite**" when done.
  {% endstep %}
  {% endstepper %}

## Common Workflows

### Simple Perspective Warp

{% stepper %}
{% step %}
Add component → Drag corners → Bake
{% endstep %}
{% endstepper %}

### Advanced Multi-Plane Warp

{% stepper %}
{% step %}
Add component → Advanced Mode
{% endstep %}

{% step %}
Create planes covering different sprite regions
{% endstep %}

{% step %}
Switch to Warp mode for warping
{% endstep %}

{% step %}
Bake
{% endstep %}
{% endstepper %}

## Inspecting the new .png

* After creating a new .png texture, inspect its file properties to compare the new file size to the original file size.
* If the newly created .png is smaller than before, you've lost fidelity and can re-assign your original sprite and do the warp again, but increase your Bake Texture Multiplier before re-baking. I save a snapshot when you click bake, and you can restore a previous warp so you don't have to do this process again by going to Tools > Sprite Warp > Editor Window. [Watch a how to vid here](https://game-grease.gitbook.io/sprite-warp/helpful-videos)
* It is not possible to guess with any accuracy the .png file size that will be created, so it is expected to bake a few times to get the desired file size.

## Keyboard Shortcuts

* \[Shift + Drag]: Equal distance constraint
* \[Ctrl + Click]: Multi-select handles
* \[Ctrl + Double-Click]: Clear selection
* \[Ctrl + Drag]: Prevents dragging

## Next Steps

* See [how it works](https://game-grease.gitbook.io/sprite-warp/how-it-works) for a lower level explanation of the different systems working together to make this happen
* See [settings reference](https://game-grease.gitbook.io/sprite-warp/settings-reference) for complete settings reference
