Text Render
A low-level node for the Apps SDK. It does not appear in the GUI’s node-add UI by default (a global setting can switch it to visible).
With a dedicated offscreen camera, it draws just one string into a RenderTexture with a transparent background. The node UI has only a resolution display and a font size field; the string and the colors are set from the SDK side.
- fontSize — default 96 (values below 1 are treated as 1)
- colorR / colorG / colorB / colorA — each clamped to 0-1. All default to 1 (opaque white)
- alignment — 0 = left, 1 = center (default), 2 = right
- The output resolution is fixed at creation time (the default is the global resolution)
Drawing is driven by a dirty flag, not done every frame. The camera renders once only when one of text / fontSize / color / alignment changes, so nothing costs GPU time while it stays still.
CJK such as Japanese is drawn by building a dynamic font once at runtime from the fonts installed on the OS. On systems where no candidate font is found, it falls back to TMP’s standard LiberationSans and CJK becomes tofu.
Input ports
None
Output ports
| Port ID | Type |
|---|---|
Render Texture | RenderTexture |
Scriptable members
| Path | Type |
|---|---|
fontSize | float |
colorR | float |
colorG | float |
colorB | float |
colorA | float |
text | string |
alignment | int |
Synapse Apps (scripting)
await synapse.modules.create({ type: "AppTextRender" })