CalmUI
How To

Put a View on a World Surface

Render a CalmUI View into a texture for an in-world monitor.

This advanced workflow renders a View into a TextureRenderTarget2D. Your mesh material displays that texture. CalmUI does not create the mesh, material, or interaction ray.

Prepare the monitor

  1. Create a View named StatusMonitor and save package Gameplay.
  2. Create a TextureRenderTarget2D, for example 1024×512.
  3. Create a material that samples that render target and assign it to a mesh.
  4. Open the mesh-owning Actor Blueprint, for example BP_StatusMonitor.
  5. Add variables for a Calm Ui World Surface Handle and the render target.

Create and retain the surface

On BeginPlay, call Create CalmUI World Surface. Give it the local Player Controller, package Gameplay, Screen StatusMonitor, render target, and the optional mesh component. The compact node loads the package when necessary and derives the Local Player and color space.

World monitor setup

Create CalmUI World Surface

CalmUI|World Surface

In: Player Controller · Package: Gameplay · Screen: StatusMonitor · Render Target · Surface Component

Out: Boolean · Handle · Error

Branch on Create's Boolean. Print Error on failure. On success, store the Handle. The View should appear on the mesh material. On EndPlay, call Destroy Calm Ui World Surface with the saved Handle.

For pointer input, use Route CalmUI World Surface Pointer Hit when your game already has a collision hit. Supply the same Handle and Player Controller, a stable Pointer Id, the hit, and phase Move, Down, Up, or Cancel. Use Trace Calm Ui World Surface Pointer if CalmUI should perform the line trace.

Advanced: resolution and visibility

Expand the compact node's advanced pins to set Device Scale. At scale 2, a 1024×512 target lays out a 512×256 View at 2× raster density. Direct UV routing, wheel input, surface counts, and explicit color/occlusion policy are available on the advanced World subsystem API.

Flat surfaces only

CalmUI does not supply stereo-layer integration, curved-UV generation, gaze input, or hand-tracking adapters. Use a flat surface with project-owned UVs and input.

If the monitor stays blank

  • Print the Create error.
  • Confirm the package contains StatusMonitor.
  • Confirm the render target is assigned to both the options and mesh material.
  • Keep the returned Handle; destroy it only when the Actor is finished.
  • For input, confirm the hit contains the expected UV channel.

On this page