Click any flat surface to place TMP text in your scene.
Oriented to surface normal, parented to object, fully
editable in Inspector. No setup required.Surface Text Placer is a simple editor tool for placingTextMeshPro text on flat surfaces directly from the Scene view.Activate the tool, click a surface, type your text — the inscriptionappears at that point oriented to the surface normal and parented tothe target object so it moves with it.No Canvas. No world space UI setup. No manual positioning androtating to match a surface. Just click and type.Text are fully editable after placement. Select any inscriptionin the scene and change the text, font, size, color, alignment, bold,italic, surface offset, and rotation directly in the Inspector withlive scene preview.Each text remembers its original placement position. If you moveit manually you can save the new position as the new original, or resetback to where it was first placed. Tool settings persist between sessionsso you never lose your configuration.Built for level designers and environment artists who need to placesignage, labels, room text, warning signs, or any surface-aligned textquickly without leaving the editor.Features:- Click any flat surface to place text- Oriented automatically to surface normal- Parented to clicked object — moves with it- Multi-line text support- Left, Center, Right alignment- Bold and Italic style toggles- Configurable font, size, color, width- Surface offset and rotation controls- Save and reset position system- Settings persist between sessions- Full Undo support- Live Inspector editing with instant scene update- Unity 6 URP- Unity 6 (6000.2+) and URP required- TextMeshPro — included with Unity, no extra install- Editor-only tool — zero runtime overhead, nothing added to builds- Uses EditorPrefs for session persistence- Full Undo/Redo support via Undo.RecordObject- Placement via Physics.Raycast — requires collider on target object- Text rendered as TMP 3D world space object- Flat surfaces only — no curved surface conformingAI assistance was used during development of this asset. A large language model was used to assist with C# scripting and documentation writing. All code has been reviewed, tested, and validated by the developer.




