diff --git a/Source/Editor/Options/InterfaceOptions.cs b/Source/Editor/Options/InterfaceOptions.cs
index d8493a70a..ea3d613a0 100644
--- a/Source/Editor/Options/InterfaceOptions.cs
+++ b/Source/Editor/Options/InterfaceOptions.cs
@@ -217,6 +217,15 @@ namespace FlaxEditor.Options
[EditorDisplay("Interface"), EditorOrder(320), Tooltip("Toggles tree line visibility in places like the Scene or Content Panel.")]
public bool ShowTreeLines { get; set; } = true;
+ ///
+ /// Gets or sets tooltip text alignment.
+ ///
+ [DefaultValue(TextAlignment.Center)]
+ [EditorDisplay("Interface"), EditorOrder(321)]
+ public TextAlignment TooltipTextAlignment { get; set; } = TextAlignment.Center;
+
+
+
///
/// Gets or sets the timestamps prefix mode for output log messages.
///
diff --git a/Source/Engine/UI/GUI/Tooltip.cs b/Source/Engine/UI/GUI/Tooltip.cs
index a7f80e152..61bacb934 100644
--- a/Source/Engine/UI/GUI/Tooltip.cs
+++ b/Source/Engine/UI/GUI/Tooltip.cs
@@ -1,5 +1,7 @@
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
+using FlaxEditor;
+using FlaxEditor.Options;
using System;
namespace FlaxEngine.GUI
@@ -236,7 +238,22 @@ namespace FlaxEngine.GUI
// Padding for text
var textRect = GetClientArea();
- textRect.X += 5;
+
+ float textX = 0;
+ switch (Editor.Instance.Options.Options.Interface.TooltipTextAlignment)
+ {
+ case TextAlignment.Near:
+ textX = 15;
+ break;
+ case TextAlignment.Center:
+ textX = 5;
+ break;
+ case TextAlignment.Far:
+ textX = -5;
+ break;
+ }
+
+ textRect.X += textX;
textRect.Width -= 10;
// Tooltip text
@@ -245,7 +262,7 @@ namespace FlaxEngine.GUI
_currentText,
textRect,
style.Foreground,
- TextAlignment.Center,
+ Editor.Instance.Options.Options.Interface.TooltipTextAlignment,
TextAlignment.Center,
TextWrapping.WrapWords
);
@@ -265,7 +282,7 @@ namespace FlaxEngine.GUI
{
var layout = TextLayoutOptions.Default;
layout.Bounds = new Rectangle(0, 0, MaxWidth, 10000000);
- layout.HorizontalAlignment = TextAlignment.Center;
+ layout.HorizontalAlignment = TextAlignment.Near;
layout.VerticalAlignment = TextAlignment.Center;
layout.TextWrapping = TextWrapping.WrapWords;
var items = style.FontMedium.ProcessText(_currentText, ref layout);