Documentation by TAPgiles

# Text Displayer

If the text has been set (even with no characters), displays text either on-screen or in the world. The text will be previewed while the gizmo is shown, or if set to In Scene.

There are four parts to a text box: the text, the box which serves as the background for the text, with a border around its edge, and the shadow. Settings for one will not affect the others.

Hovering over an on-screen text gadget will show it and its full text, regardless of animation and power settings. In-Scene text will always be shown.

If time is paused while a text gadget is shown, it will continue to render to the screen. (Tg)

Text is not rendered as a scene object, and is therefore unaffected by lighting, blur, and grade effects. (See Sticker Mode to see how to make text render as a scene object.)

# Gizmo: A preview of the text box itself.

When hovering over it, resize handles are shown on the sides that can be manipulated. Position and size are considered separate settings, when keyframing them.

When Autofit is off, Text Alignment decides which handles are hidden. (Text aligned left will always be at the left edge of the box, so there will be no left handle.) And decides how the box is positioned relative to the gizmo position. (Text aligned left will put the left edge of the box at the gizmo position.)

When Autofit is on, Box Alignment decides which handles are hidden. (A box aligned left will always be at the left edge of the screen or gizmo, so there will be no left handle.) And decides how the box is positioned relative to the gizmo position.

Move a sizing handle or tail handle - shortcut: drag with R2 or primary Primary Move Trigger.

The text box itself can be moved - shortcuts: R2 or primary Primary Move Trigger.

When on-screen, movement may be limited by Box Alignment.

Note that precise move and grid snap affect this movement, but still work using the scene grid as normal. So when not looking dead-on to an axis of the current grid, on-screen text may not move in a straight line using these guides. (Tg)
To move on-screen text in straight lines using the guides, first open a microchip's window and pin it to the screen. Then with Grid on, use shift + Triangle.

While Allow Rotation is turned on, rotate the gizmo - shortcut: L2, or Primary move trigger. (Tg)

If the box has a “tail,” set where the tail points - shortcuts: drag with R2, or Primary move trigger.

When in Sticker Mode, a box is shown reaching in front of and out the back of the text gizmo. Handles on the front and back of the box can be used to adjust the Sticker Depth setting.

Dialogue options and skip/close prompts are shown as their own text gizmos on the same plane and orientation as the main gizmo.

Memory: Costs 0.0099% of the things limit per gadget, allowing the use of up to 10,100 gadgets.

Performance: When using Sticker Mode larger depth settings requires more processing. The more of the screen affected by stickers, the more processing is required.

# Text in VR

When viewing text in VR that is in-scene, it will appear in the scene as normal.

When it is not in-scene however, it will appear to stick to a plane in front of the player’s view. The distance of the plane for a text gadget can be set, defining how far in front of the player's view the text should seem.

This affects depth perception, but the text will be displayed on top of everything in the scene as it would do when playing in 2D.

# Text Properties Tab

# Text

The text to display. Click on it to bring up the console’s text input interface.

When in big gadget mode, the text is shown on the gadget itself. (Jj)

Note that the text to be displayed cannot be changed while playing. Also, the text gadget will not render if this field has not been set, even if it is set to empty. (Tg)

There is limit of 1024 characters in a single text gadget field. Icons are stored as their full text.

for example the icon Target is stored as <uitarget>, counting as 10 characters towards the limit. This happens even when using the unicode glyph to insert the icon.

# Codes

There are a number of “codes” that can be used, text sequences that will not show to the player but will be affect how other text is displayed.

Some will show special characters/images instead:

  • <iconname> will show the corresponding Dreams icon. See the Icons Guide for all available icons, with searchable keywords and cross-references.

  • :emoji_name: will show the corresponding Emoji, based on the “shortcode” name typed into the text box.

    You can see a list of all emoji on emojipedia.org. To find the short code for a given emoji, click on the emoji and scroll down to Shortcodes. Note that not all emoji are available within Dreams.

    When using an emoji with skin (other than smileys), add _tone# to the shortcode—with # being a number between 1 and 5. These will colour the skin lighter and darker, while with no tone specified the skin will be the classic emoji-yellow.
  • \xABC0; inserts unicode characters, based on the code. Emoji can be added in this way. Some dreams icons can only be used by utilising this format. Pasting in the specific character to indreams.me would also produce the same character in Dreams, if that character is supported.

  • * At the start of a line will add a bullet: •

  • \ Ignores a special character coming immediately after it. For example, \*text\* will not create bold text, but will show the asterisks as normal text.

There are ways of “marking up” text (indicating the text within the codes) to be styled a special way. When editing through the console, once the tag has been input correctly it will disappear and just affect the text. The original tags in the text can be seen by using Indreams.me to edit the text.

Note, any tag that overrides the colour also overrides the opacity of the marked up text.

The markup we can use is the following:

  • <term> Sets the text colour to gold; colour cannot be affected by other tags. Text also glows in menus.
  • </term> Stops applying the term formatting.
  • <clue> Sets the text colour to pink; colour cannot be affected by other tags. Text also glows in menus.
  • </clue> Stops applying the clue formatting.
  • <pink> Sets the text colour to pink; colour cannot be affected by other tags.
  • </pink> Stops applying the pink formatting.
  • # <colour=?> or <color=?> Sets the text colour based on what is typed at ?.

    The spellings are interchangeable, but will be changed to colour when saved.

    The colour value can be a colour name in double-quotes, like "red" or "blue", using any of the web colour names. These will set the text to fully opaque.

    Or it can be a hex code. You can use colour pickers online graphics applications, or the picker below to find hex codes to use as colour values. They do not require quotes.

    Make a Hex Code
    Abc


    In-game tools are also available to work with hexadecimal codes: The Colour-Pickable Hex Code allows us to enter a hex code found elsewhere—for example in Photoshop or online—and use that colour when creating Dreams artwork. And the Hex Colour Picker allows us to set the colour and opacity of some text, and see its corresponding hex code for use with these tags.

    Hex codes are written in base-16, or “hexadecimal” notation. This means instead of writing in just 0-9, higher numbers are written as alphabetical characters (lower-case or upper-case):

    DecimalHexadecimal
    10A
    11B
    12C
    13D
    14E
    15F

    Decimal means counting in 10s. So when there is more than one character, we multiply the place by a power of 10 depending on how far left the character is. For example 123 = 1 × 102 + 2 × 101 + 3 × 100 = 1 × 100 + 2 × 10 + 3 × 1.

    Hexadecimal means counting in 16s. So instead we multiply by a power of 16. For example 8F = 8 × 161 + F (15) × 160 = 8 × 16 + 16 × 1. In decimal, that would add up to 143. The maximum value you can write with 2 hexadecimal characters is FF or 255.

    Hex Colours are written with 2 hexadecimal characters for how much red the colour has, then 2 for how much green the colour has, and then 2 for how much blue the colour has.

    Hex codes may use an additional 2 characters to encode an opacity level. If the opacity code isn't specified, the text will be set to fully opaque.

    So the code #BADA559F describes a colour with a red value of 186 (that’s 72%), green of 218 (that’s 85%), and blue of 85 (that’s 33%), giving us a yellow colour. And an opacity of 159 (that’s 62%).
  • </colour> or </color> Stops setting the colour of text.

    The spellings are interchangeable, but will be changed to colour when saved.
  • # <size=?> Creates text that has a specific integer size from 1 to 512 (replace ? with the size you want). A size of 0 will automatically be changed to 1.

    The normal text size is 32.
  • </size> Stops setting the size of text.
  • * Creates bold text. *

    Note, this will not apply unless the second * asterisk is found.

# Other codes can be used at the start of a line, and will make all text on that line look a certain way:

  • # Creates the biggest-size heading to the end of the line.

  • ## Creates a slightly smaller heading to the end of the line.

  • ### Creates a slightly smaller heading to the end of the line.

  • #### Creates a heading slightly larger than normal text to the end of the line.

# Still others will break the lines up, from where they are inserted:

  • <nl> starts a “new line,” moving the rest of the text down to the start of the next line (with no added gap).
  • <br> is a line “break,” the same as <nl> but adding a small gap between lines. This works the same as adding a new line in the text itself.

# Text Editing Methods

The contents of this setting can be edited through indreams.me, while signed in to PSN both on the console and on the website. First, go to Indreams. Click your imp in the top-right of the page and choose “Tools” from the dropdown menu. The “Live” tab will be selected by default. Now begin editing text in the game, and that tab will update with a text box, allowing you to type as normal.

Note that the game may lag behind what you are typing. Also some syncing issues may occur when changing text quickly through indreams, for example deleting text and typing to correct a mistake. The cursor at times jumps to a new position which may be unexpected and mess up your typing.
Because of this, if you are planning on inputting a large amount of text, it is advised that you type it up elsewhere (eg. a notepad app, or word document) do any editing needed there, and then and then paste it in in one go.

The PlayStation consoles also support USB keyboards, which can be used to type text directly into a text field you are editing.

# Text Colour

The colour of the text. (Jj)

# Text Brightness

Pushes the brightness of the text colour. Bloom will affect this, but is not previewed in edit mode.

Note: if the text is set to be too bright, and the bloom is high enough, the text or icons can become hard to read. Test in play mode to make sure it's still legible to the player.

# Text Opacity

The opacity of the text. Lower is more transparent. The text will not be rendered at 0% opacity. (Jj)

# Font

The font of the text. (Jj) Shows the number of the font used.

# Text Box Properties Tab

# Show Text Box

When on, a box will be shown behind the text. When off, the box will not be rendered. (Jj)

# Text Box Colour

The colour of the box. (Jj)

# Tail Shape

The shape of the text box will change to include the selected tail.

The tail icon shows how the tail will look pointing down and to the right, relative to the box. When pointing up, the tail will flip vertically. When pointing left, the tail will flip horizontally. When pointing up and left, the tail will flip vertically and horizontally.

Chooses from a number of tail styles as if the box were a speech bubble. The tail comes from the centre of the box and scales to reach beyond the edge of the box. (Jj)

The tails are as follows:

None
Straight
Bubbles
Zigzag (pointing right)
Zigzag (pointing left)
Curved (pointing right)
Curved (pointing left)

# Text Box Brightness

Pushes the brightness of the box. (Jj)

# Text Box Opacity

How opaque the box is.

The text gadget can be used in clever ways to add effects other than text to the game. Examples include shafts of light (Mm), water ripples (Mm) and surfaces (Tg), and glass (Tg).

# Text Box Curviness

How rounded the corners of the box are. (Jj)

The percentage value is used relative to the width and height of the box.

For example, if a box is wider than it is tall, the corner curves will be wider than they are tall.

# Circular Curviness

When full, the horizontal and vertical radii of curviness will be the same, like a circle, instead of stretching. If the radius cannot fit into one of the sides, the box will be pushed out to accomodate.

# Taper

The more positive the value, the more the right side is rendered larger than the left side.

The more negative the value, the more the left side is rendered larger than the right side.

# Wonkiness

The wonkiness effect pushes the corners of the text box, warps its shape and making it appear “wonky.” This sets how much to push the corners.

When a gadget is created the wonkiness effect (directions and distance each corner would move) is randomly set. This will stay the same on repeated playthroughs, but not when cloning the text gadget; the new copy’s wonkiness will be randomly set.

# Padding

How far beyond the normal edge the text box will be rendered. Leaves padding between the text and the edge of the box.

# Autofit

When on, the box will automatically resize to fit the size of the text. The width set by the gizmo handles is for word-wrapping, and then the box will fit the resulting text layout.

When off, the box size can be changed independently of its contents with nodes along the sides of the box. (Jj)

For in-scene text, if the text contents is taller than the box edge, hovering over the text with the imp will block use of the Left Stick which will instead scroll the contents of the text box up and down.

# Texture Properties Tab

Applies texture to the box and border in a number of ways. Can apply a fade to the edge in Standard mode.

# Texture Mode

The method of adding texture to the box and border.

Does not affect the text.
  • # None: No texture is applied. The box and border use solid colours with no transparency.

  • # Painterly: Individual flecks are rendered to make up the box and border. Disables shadows.

  • # Standard: A repeating background texture based on different flecks. Affects the transparency of the box and border. Centred in the middle of the edges of the box.

    The strength of the texture is multiplied by the gradient from the Fade Amount setting; with no fade amount, there is no texture visible.

# Texture

Which fleck to base the texture on. (Jj)

# Texture Strength

The contrast of the texture.

Higher strength means higher contrast and more transparency, showing the texure clearer.

Lower strength means lower contrast and less transparency, making the texure more subtle and the box more solid.

# Texture Scale

How large the flecks are of the texture.

# Fade Amount

How far in from the outer edge the box and border to start to fade out.

If Circular Curviness isn't 100%, lines where the corners meet at 45 degree angles can be noticeable.

# Painterly Fade

How far beyond the left and right edges of the original box flecks will be randomly added.

# Border Properties Tab

A border that reaches beyond the edge of the box, following the same shape.

# Show Border

When on, the border is shown. When off, the border is not shown.

# Border Colour

The colour of the border.

# Border Brightness

Pushes the colour of the border.

# Border Opacity

How opaque the border is. Lower values make the border more transparent.

# Border Width

How far beyond the edge of the box the border reaches.

For a thicker border, make the box smaller and scale the Gizmo up.

# Shadow Properties Tab

The render of the text, box, and border is duplicated and made black to show a drop-shadow behind the normal box.

# Show Shadow

When on, the shadow is rendered.

# Shadow Softness

How much to blur the shadow.

There is always a tiny bit of blur to the shadow, even with 0% softness.

# Shadow Opacity

How opaque the shadow is. Less means more transparent.

# Shadow Angle

The shadow is shown a certain distance away from the centre of the box, in the direction of the specified angle.

For example, 90° would make the shadow peek out to the right of the box, and 0° would make the shadow peek out to the top of the box.

# Alignment Tab

# Horizontal Alignment, Vertical Alignment

The horizontal alignment of the text within the box, and the horizontal position within the box that will be used as its starting position.

  • Left: will use the left edge of the box.

  • Centre: will use the centre of the box.

  • Right: will use the right edge of the box.

The vertical alignment of the text within the box, and the vertical position within the box that will be used as its starting position.

  • Top: will use the top edge of the box.

  • Middle: will use the middle of the box.

  • Bottom: will use the bottom edge of the box.

When using Animation Speed, text will appear from the start of the text to the end of the text. If the text is written in a left-to-right, top-to-bottom language, align the text left and top to avoid it moving around as it types out. This will make it easier for the player to read the shown text as the rest of the text animates.

# Horizontal Alignment (Screen), Vertical Alignment (Screen)

Good for animating the size of a box from one side. For example, to make a progress bar. (Tg)

The position on the screen the entire box will be displayed at. (Jj)

Horizontal has the following options:

  • Left: Positions the text box such that its left edge is close to the left of the screen.

  • Centre: Positions the text box so that there is an equal amount of space to the left and right.

  • Right: Positions the text box so that its right edge is close to the right of the screen.

  • Custom: (default) Allows the box Gizmo to be dragged horizontally to any position on the screen.

Vertical has the following options:

  • Top: Positions the text box such that its top edge is close to the top of the screen.

  • Middle: Positions the text box so that there is an equal amount of space above and below.

  • Bottom: Positions the text box so that its bottom edge is close to the bottom of the screen.

  • Custom: Allows the box Gizmo to be dragged vertically to any position on the screen.

# Settings Tab

# In Scene

When on, the text will be displayed at some 3D position and rotation within the scene. (Tg) (Jj) (Mm) There is a limit to how many text boxes can be rendered in-scene at once.

In-scene text is rendered and kept in memory. This means that in-scene text gadgets that look the same will all be rendered using that piece of memory, speeding up rendering times and fixing some rendering issues.

Can then be placed in a head tracker to move with the camera view.

When In Scene and not in Sticker Mode, motion blur will apply to it while the gadget moves.
When in the same exact position, text gadgets will be rendered in creation order: newest on top.

When off, the text will be displayed directly to the screen on top of the scene. (Tg)

# Sticker Mode

When on, the text will look the same, but will not render itself in the scene. Instead, surfaces of sculpts and paint flecks will render the text box—the same as any scene object. (Tg)

In this way, sculpted or painted shapes can be used as “masks” to only show the text box within the shape. (Tg) And even have patchy masks that will only glow while the sticker is projecting onto that surface. (Tg)

A surface must be: (Tg)

  1. In the same group as the text gadget, if the gadget is in a group and not surface-snapped.
  2. Or has the textbox surface-snapped to it or a group it is inside.
  3. Or the Microchip it is inside is affecting the object.
  4. A surface facing withing 75.5 degrees the same direction to the text box will render the text box onto it. (A text box is “facing” the side you’d normally read text from, where the text is not flipped.) (Tg)
  5. Within sticker depth ÷ 2 of the text box gizmo.
A teleporter can be used to move a text gadget, containing chip, or timeline with another group while not putting it into that group. (Tg)
As the sculpt or painting surface is rendering the text box, the opacity of the sculpt or paint will take precedence over the text box’s opacity for rendering. (Tg)

The existing colour of the sculpt or painting will mix with the colours of the text box, depending on the opacity of the text box. A text box at full opacity will completely set the colour of the surface. An opacity of 50% will be half the colour of the surface and half the colour of the text box.

Surfaces will also take on the visual glow of the text box, but this will not affect the colour of light emitted by object the sticker is projected onto.

This makes it easy to add a glint or flash effect to any object. (Tg)

If you look flat-on to the text box gizmo with this setting on, it will look the same as if this setting was off. As if the text box were projected in a straight line through the sticker depth. This means that as the surface curves towards or away from the text box, the text box will appear warped on the surface. (Tg)

The sort order will be respected when multiple sticker-mode text boxes are rendered onto the same surface. When multiple stickers are using the same sort order, they will render in creation order: newest on top.

# Sticker Depth

How far in front of and behind the text box gizmo the sticker projection will render at. (Tg)

# Minimum In Scene Size

The minimum size on-screen the text will be rendered at. When far away and the text would be rendered smaller than this, will be rendered at the minimum size. Otherwise will be rendered at the normal size according to perspective. (Tg)

# VR Text Distance

The depth of the plane this text will be displayed on. (See Text in VR.)

# Big Gadget

When on, the gadget will display larger than normal in edit mode, and show the text on the gadget’s face.

# Face Camera

When on, the text will always be displayed straight to the camera, as if parellel to it. Effectively, this means the text will have scale and rotation, but no 3D perspective. (Tg) (Jj)

# Always On Top

When on, the text will not be obscured by anything else within the scene, apart from other always-on-top text objects. When off, the text can be covered by objects within the scene, and can fade out from a distance when positioned close to a sculpt's surface. (Tg) (Jj)

This can be used to make it appear as though one piece of text is a “hole” through which another piece of text can be seen. (Tg)

# Sort Order

All text objects on a higher layer number will be displayed above all text objects on higher layer numbers.

Note that non-sticker text on the same layer will be displayed in the order they were created: newest on top. (Tg)

# Allow Rotation

When off, text will always display upright. If In Scene, the gizmo will always have the orientation of the text gadget unless Face Camera is enabled.

When on, text may be rotated. When Face Camera is on, the text will always display flat to the screen, but will use the Z axis rotation as if it were rotated in 2D.

# Animation Speed

If at 0, animated is turned off.

Otherwise, waits 1 ÷ animation speed seconds before allowing the next character to be shown.

While typing, text wrapping is re-calculated for rendering after every character, while the box will be the size required for the final word-wrapping layout.

# Inputs & Outputs Tab

# Text Active

Text is considered “active” while the gadget is powered and either no wire is plugged into “Start Text” or that wire is sending a positive signal.

For Dialogue gadgets, the gadget will remain active while the player can or will be able to close the dialogue, or choose an option. (See Dialogue Text Displayer for more information on how to deactivate the dialogue.)

# Start Text

If this is wired into, the gadget will be Active only while the incoming signal is positive > 0.

# Text Animation Finished, Text Animating, Text Animation Progress

# Text Animating

Sends a signal while Active and Animation Progress is not 100%.

# Text Animation Finished

Sends a signal while the Animation Progress is 100%.

# Text Animation Progress

Sends a percentage for how far through the animation the gadget currently is. Progress = characters shown ÷ total characters

Can be set in the same way, as long as animation speed is not 0 (infinite).

For example, sending 0.2 into this will show 20% of the characters.
This can be used to show just one of many characters or icons using a single text gadget. (Tg) (Tg) (Tg)

# Dialogue Text Displayer

Displays text, along with button options. Allows the player to more easily create branching conversations.

Note, dialogues are hard to get rid of with logic. They tend to want to stay Active even when unpowered. To deactivate a dialogue gadget, unpower it or send its Start Text an off signal through a wire, and turn off its close prompt and option prompts. Or alternatively, destroy it with a Destroyer gadget, or emit the dialogue to play it and Destroy Emitted Objects to hide it.

# Prompts to Skip/Close Tab

# Prompt to Skip, Prompt to Close

Which button can be used to skip the animation of this text while Animation Progress is not 100%. By default, this is set to Circle button.

And which button can be used to close that line of dialogue.

Note, it will take a moment to actually hide the dialogue after the button has been pressed.
  • None: For Skip, can be skipped by using the Close prompt button. For Close, cannot be closed.

  • Circle

  • Cross

  • Square

  • Triangle

  • Up

  • Left

  • Right

  • Down

# Show Prompt in Text

When on, displays prompts next to the dialogue for skipping and closing when those controls are applicable.

# Dialogue Properties Tab

# Imp Text Prompts

When on, the imp can be used to select a choice instead of button presses.

# Options

Options the player can choose from. Enable an option by using the Cross button on the switch on that row.

Enter text to be shown as the choice text in their own box.

When Imp Text Prompts is off, a choice is chosen by the player by pressing button shown next to that option in the tweak menu. Face buttons and d-pad buttons can be used as option prompts: Circle, Cross, Square, Triangle, D-pad Up, D-pad Down, D-pad Left, and D-pad Right.

When Imp Text Prompts is on, a choice is chosen by the player clicking on a prompt with the imp. Buttons next to options are shown as an Imp.

Sends a pulse when the option is chosen by the player. Enabled options are shown on the gadget as outputs, with the corresponding icon.

# Inputs & Outputs Tab

# Text Finished

Sends a pulse when the player uses the Close button. Often wired into the next dialogue gadget’s “Start Text” input to continue the conversation.

# Subtitle Displayer

Displays text on the screen as subtitles, if the player has subtitles shown in their preferences.

Memory: Costs the same as the Text Displayer.

While on a Timeline: If there is more than one line in the text of the displayer, handles appear along the top edge for the start and end of each line of text.

Set the times those lines will be shown - shortcut: drag with Cross button.

# Text Properties Tab

# Text

# Always Show Subtitle

When on, will show even if the player does not have subtitles shown in their preferences. Suitable for fantasy languages or gibberish, for example.

# Inputs & Outputs Tab

# Start Text, Text Active

# Number Displayer

Displays a changeable number.

Memory: Costs the same as the Text Displayer.

# Text Properties Tab

# Number/Range

The number to display.

# Display Format

How the value will be formatted for display.

  • Number: displays the value as a normal number.

  • Time: Displays the value as a time, the value representing seconds. Only shows the parts needed.

    For example, if there are no whole minutes to display, only the number of seconds will be displayed.

# Decimal Places

The number of decimal places to display. Rounds to the decimal place.

For example, displaying the value 0.016 to 2 decimal places will show 0.02.

# Show Milliseconds

When on, will display milliseconds as a decimal of seconds to 2 decimal places.

# Inputs & Outputs Tab

# Number Active