Working with Text

ZapWorks Studio provides tools for incorporating dynamic text into experiences.

Importing Fonts

An open source font, OpenSans, is included with ZapWorks Studio for use in zaps. It can be added into the Media Library using the + button at the top right of the panel.

In addition, TTF fonts may be dragged directly into the Media Library. Please ensure that fonts are licensed appropriately before use.

Customizing Fonts:

In order to minimise zap download time, ZapWorks Studio does not include the entire font file when publishing an experience - instead it packs selected character ranges into a proprietary file format for distribution.

By default Latin script (i.e. English characters), numbers and basic punctuation are included. Additional elements (such as accents, or characters used in other languages) can be included by right-clicking on the font in the Media Library and selecting "Properties".

Using Text

Dragging a font from the Media Library into the Hierarchy creates a new Text node. With the Text node selected in the Hierarchy and the 'TXT' tool highlighted at the top of the 3D view, you can manipulate the bounding box of the text using the anchors.

The contents of the node can be set from the Properties panel on the left-hand side of ZapWorks Studio.

Text is contained within a rectangular bounding box inside its parent group. The box extends from -1 to +1 in Y and -lineScale to +lineScale in X. The lineScale attribute is a parameter in the Properties panel.

Clicking and dragging the anchors on the top or bottom of the box edits the lines,lineScale and scale properties, while the left and right anchors will edit just the lineScale.

Text Properties

The lines property specifies the number of lines of text that can be displayed in the bounding box when the layout type is wrap.

The lineScale property refers to the size of each line of text and the lineSpacing property refers to the spacing between the lines.

Both hAlign and vAlign refer to the horizontal and vertical alignment of the text within the bounding box.

There are three values for the layout parameter: stretch, fit, and wrap.


The text is deformed so it fills the entire of the bounding box. This will likely give the text a distorted appearance.


The text is scaled such that it takes up the maximum space possible in the bounding box without stretching. Where the text sits in the non-limiting dimension can be controlled with the vAlign and hAlign properties.


The text is displayed with word-wrapping. The lines parameter determines how many lines of text should be accommodated in the bounding box and thus the size of the text relative to its parent group.

Color and Appearance

The shadow parameter can be used to display a "drop shadow" beneath the text. It takes the form of three coordinates [x, y, z] indicating the offset of the shadow from the text in 3D space.

As with all other nodes, the text node has a color parameter that affects both the text and any shadow. In addition, separate textColor and shadowColor properties are provided for controlling the color of each element independently.

Modifying Text from Scripts

Dragging a text node into a script provides a variable that can be used to modify the textual content, or indeed any other property, of the node. See Z.Text for more information.

If text is modified dynamically at run-time, ensure that the font contains all the characters and accents that are expected to appear. These settings can be changed by right-clicking on the font in the Media Library and selecting "Properties".

zapcode branded_zapcode i