July 26, 2021

Tool Guide – Climbable Surface

Latest Version: 0

The Besti SDK Climbable Surface tool sets up meshes to function as a climbable surface. This can be something simple like a climbing wall, or it can be something ornate like a ladder with rungs.

In VR, a climbable surface can be physically climbed by grabbing it and hauling yourself up or down the surface.

In 2D, climbable surfaces can be selected with the universal cursor which will move the user to whatever is specified as the teleport destination. To make your climbable surface work like this, you will need to specify where the user is sent when this is selected. Usually this is the top of the climbable surface, but it can be wherever you want it to be.

How to use

At the minimum you need to add the Climbable surface script to an object, and drag and drop what should be physically climbable into the “The Climbable Thing” field on the tool.

If you want it to be usable in VR, you will also need to create an empty game object that can be used as a teleport destination. This should be a child of whatever object is marked as the climbable surface.

If your climbable surface is complicated and you want it to work in 2D or with the universal cursor, you may wish to simplify its collision. You can do this by creating an object with a simple collider into the field called “Simplified Collision Object.”

You should see how this is set up in a few different ways in the Scene Tutorial.

Section Information

Options

The options section contains 5 parts:

  • The Climbable Thing field
  • The Allow Selection checkbox
  • The Simplified Collision Object field (only visible if Allow Selection is checked)
  • The Teleport Destination field (only visible if Allow Selection is checked)
  • The plain English description of what your object will do in-game.

The Climbable Thing field

The climbable thing field looks for a Game object transform. This is the object that will become physically climbable in VR. This transform must be a child of the object with this tool on it. If you have a complicated object with many parts, make the complicated object a child of a single object, and drag the single object into this field. When Besti loads in your object, it will make whatever is in this box as well as any of its children climbable.

The Allow Selection checkbox

If this is selected, the climbable object will teleport your user somewhere if it is is selected using the universal cursor. 2D game modes require this, so if you want your scene to work in 2D, you need to choose this. Selecting this makes two additional options appear.

The Simplified Collision Object field

Complicated climbable objects like ladders have gaps and rough geometry. This can make selecting the object to perform the teleport to the top difficult or ugly. The purpose of the simplified collision field is to have a single simplified collision object act as the selectable object with the universal cursor. Having one of these is optional and not always required.

The Teleport Destination field

This is where the user will be teleported when the climbable object is selected.  Drag and drop an empty game object that will act as the destination of the user into this field. If you expect your user to climb the object, it is a good idea to place this at the top of the ladder or climbable object.

IMPORTANT: Make sure this isn’t tilted in some way. The user will be sent to this facing in the local blue (z) direction with “up” being in the local green (y) direction. If it is rotated on X or Y in an unusual way, your user will be tilted in the same way. If you do this, make sure you do so deliberately (for example, an object that makes you walk on the walls or ceiling.)

The plain English description of what the object will do in-game.

Because this is a powerful tool, the plain English section tells you exactly what this does in-game so you don’t need to think about it. If something is wrong, this section also serves as an error message.