App Offscreen Layer
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).
Inside it is a real Layer (a headless prefab), running the camera / canvas / RT / ContentPlayer pipeline every frame. However, it is not registered with the LayerStructureManager and is not composited into the MasterOutput. In other words it appears neither in layers.list nor on screen, and the only product is the output texture. Blending is outside this node’s responsibility; pass it to a Mixer node if you want to mix it.
- Position, rotation, scale and opacity are controlled with
positionX/positionY/rotationZ/scaleX/scaleY/opacity(position and scale are split into X/Y because bindings can only drive floats) - The output resolution is fixed at creation time (the default is the global resolution)
Opacity is a property that on a normal Layer is applied at composite time, and that stage does not run in headless. So a CanvasGroup is added to the internal canvas and the alpha is baked in before rendering = the output texture itself becomes faint.
Input ports
None
Output ports
| Port ID | Type |
|---|---|
Render Texture | RenderTexture |
Scriptable members
| Path | Type |
|---|---|
opacity | float |
rotationZ | float |
positionX | float |
positionY | float |
scaleX | float |
scaleY | float |
Synapse Apps (scripting)
await synapse.modules.create({ type: "AppOffscreenLayer" }) 



