J↗JoyLinkStudioUI MAGNIFIER

UI MAGNIFIER / DOCUMENTATION

Make room for the details.

Quick start and integration notes for UI Magnifier – Drag to Zoom.

Before you begin

Unity 2022.3.62f3 / URP 14.0.12 / UGUI 1.0.0
Unity 6000.4.5f1 / URP 17.4.0 / UGUI 2.0.0 · RenderGraph
Windows Editor · D3D11

Built-in and HDRP are unsupported. Other Unity 6 versions, MSAA configurations, dynamic render scale, post-processing combinations, mobile, WebGL2, XR and other graphics APIs have not been verified.

Magnify camera-space UI and camera content. ScreenSpaceOverlay content is excluded from camera sampling.

Install and try the samples

  1. Install URP and Unity UI first. For Unity 6000.4.5f1, explicitly select URP 17.4.0 and Unity UI 2.0.0 before installing the source package.
  2. Keep only one installation: UPM or Assets. Import Basic Drag or Landscape Gallery from Package Manager Samples; Assets users can open the supplied sample scenes.
  3. The samples use StandaloneInputModule. Set Player > Active Input Handling to Input Manager (Old) or Both, and restart if requested. Setup does not change input settings.
  4. In an evaluation project, run Tools > JoyLink Studio > UI Magnifier > Configure Demo URP (Changes Project Settings), or Landscape > Configure Sample URP (Changes Project Settings). Confirming changes Graphics and all Quality levels.
  5. Enter Play Mode, press and drag the camera-space UI, then release. Unity 6 sample setup creates SettingsUnity6 for its native renderer.

Integrate into your project

Preserve your existing URP asset. Use Tools > JoyLink Studio > UI Magnifier > Renderer Feature Installer > Install Active. Create an Overlay Canvas with RawImage and MagnifierView for the lens. Assign a MagnifierProfile, view and final camera with controller.Configure(profile, view, camera). Add MagnifierDragAdapter to a raycastable input surface and assign its Controller. An EventSystem and GraphicRaycaster are required.

controller.Configure(profile, view, camera);

Put source UI on a ScreenSpaceCamera Canvas rendered into the selected final Game camera before the magnifier pass. In camera stacks, bind the final Overlay Game camera that renders the intended content. Keep the lens itself on an Overlay Canvas.

Before a Player build, run Tools > JoyLink Studio > UI Magnifier > Ensure Build Shaders. The build guard includes both required shaders and stops the build if shader or configuration assets cannot be resolved.

When something looks wrong

Invisible lens

Check controller references, the enabled Renderer Feature, active renderer, EventSystem and the raycastable input surface.

UI missing inside the lens

ScreenSpaceOverlay content cannot be sampled. Use ScreenSpaceCamera for the source UI and bind the camera that renders it.

Duplicate types or GUIDs

Remove the duplicate UPM or Assets installation. Do not import another copy of a sample that already exists.

Square or pink lens

Run Ensure Build Shaders and check the package shaders and the URP version.

Pointer and resource ownership

Begin, Move and End accept one pointer at a time and return whether the action was accepted. Screen positions use pixels. Configure cancels an active drag. Cancel hides the lens. Sampling UV is clamped to [0, 1], but the displayed lens can extend beyond the screen or SafeArea; safeAreaPadding does not enforce clamping in this version. Views release their runtime materials; the renderer owns the crop texture. Do not destroy that sampled texture from user code.

The intermediate camera color texture still has a rendering cost. No mobile or performance benchmark is claimed.

← Product overview