<!--
{
  "documentType" : "article",
  "framework" : "SpriteKit",
  "identifier" : "/documentation/SpriteKit/warping-spritekit-content-by-using-an-effect-node",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Warping SpriteKit Content By Using an Effect Node"
}
-->

# Warping SpriteKit Content By Using an Effect Node

Distort the child nodes of an effect node by applying a warping effect.

## Discussion

If you want to warp a node that doesn’t conform to [`SKWarpable`](/documentation/SpriteKit/SKWarpable), you can add it as a child to an effect node that is warped. As an implementor of `SKWarpable`, effect node inherits the [`SKWarpGeometry`](/documentation/SpriteKit/SKWarpGeometry) property that you assign one of the [`SKWarpGeometry`](/documentation/SpriteKit/SKWarpGeometry) types to then warp the effect node’s children.

### Warp Text By Using an Effect Node

[`SKLabelNode`](/documentation/SpriteKit/SKLabelNode) is one such class that doesn’t conform to `SKWarpable`. The following Swift code shows how you can warp a label node by adding it as a child to a [`SKEffectNode`](/documentation/SpriteKit/SKEffectNode) and assign the effect node a [`SKWarpGeometryGrid`](/documentation/SpriteKit/SKWarpGeometryGrid) that pulls out the corners horizontally and stretches the center vertically.

```swift
let labelNode = SKLabelNode(text: "SpriteKit")
labelNode.fontColor = UIColor.blue
labelNode.fontSize = 144
     
let effectNode = SKEffectNode()
effectNode.addChild(labelNode)
     
let destinationPositions: [vector_float2] = [
    vector_float2(-0.1, 1), vector_float2(0.5, 1.3), vector_float2(1.1, 1),
    vector_float2(0.1, 0.5), vector_float2(0.5, 0.5), vector_float2(0.9, 0.5),
    vector_float2(-0.1, 0), vector_float2(0.5, -0.3), vector_float2(1.1, 0)
]
     
let warpGeometryGrid = SKWarpGeometryGrid(columns: 2,
                                          rows: 2)
     
effectNode.warpGeometry = warpGeometryGrid.replacingByDestinationPositions(positions: destinationPositions)
```

The following image shows the warped label.

![Warped label](images/com.apple.spritekit/media-3130018@2x.png)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)