# Chapter 5 Explicit cast can fail

**URL:** <https://forums.kodeco.com/t/chapter-5-explicit-cast-can-fail/43104>\
**Category:** ARKit by Tutorials\
**Created:** [May 31, 2018, 4:55pm UTC](https://forums.kodeco.com/t/chapter-5-explicit-cast-can-fail/43104 "2018-05-31T16:55:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mratliff](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/mratliff/32/81494_2.png) [@mratliff](https://forums.kodeco.com/u/mratliff)\
**Post date:** [May 31, 2018, 4:55pm UTC](https://forums.kodeco.com/t/chapter-5-explicit-cast-can-fail/43104/1 "2018-05-31T16:55:34Z")

</div>

In the function updateARPlaneNode()

The line:  
let planeGeometry = planeNode.geometry as! SCNPlane

appears to fail consistently after a few seconds of execution

Changing it to  
guard let planeGeometry = planeNode.geometry as? SCNPlane else { return }

is perhaps safer?

---

<div class="post-metadata">

**Author:** ![shogunkaramazov](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/shogunkaramazov/32/108826_2.png) [@shogunkaramazov](https://forums.kodeco.com/u/shogunkaramazov)\
**Post date:** [May 31, 2018, 4:58pm UTC](https://forums.kodeco.com/t/chapter-5-explicit-cast-can-fail/43104/2 "2018-05-31T16:58:21Z")

</div>

@mratliff Does the second version work better in this case?

---

<div class="post-metadata">

**Author:** ![mratliff](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/mratliff/32/81494_2.png) [@mratliff](https://forums.kodeco.com/u/mratliff)\
**Post date:** [May 31, 2018, 5:00pm UTC](https://forums.kodeco.com/t/chapter-5-explicit-cast-can-fail/43104/3 "2018-05-31T17:00:21Z")

</div>

It doesn’t seem to fail anymore and I can’t see any downside to the approach, but I have not worked on into later chapters as of yet.
