diff --git a/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs b/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs
index fbb817768..3df5cb72e 100644
--- a/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs
+++ b/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs
@@ -53,6 +53,9 @@ public class ModelPrefabEditor : GenericEditor
}
}
+ // Creates the import path UI
+ Utilities.Utils.CreateImportPathUI(layout, modelPrefab.ImportPath, false);
+
var button = layout.Button("Reimport", "Reimports the source asset as prefab.");
_reimportButton = button.Button;
_reimportButton.Clicked += OnReimport;
diff --git a/Source/Editor/Utilities/Utils.cs b/Source/Editor/Utilities/Utils.cs
index 43d81ee1e..db824857a 100644
--- a/Source/Editor/Utilities/Utils.cs
+++ b/Source/Editor/Utilities/Utils.cs
@@ -391,10 +391,22 @@ namespace FlaxEditor.Utilities
public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, Content.BinaryAssetItem assetItem)
{
assetItem.GetImportPath(out var path);
+ CreateImportPathUI(parentLayout, path);
+ }
+
+ ///
+ /// Creates an Import path ui that show the import path and adds a button to show the folder in the file system.
+ ///
+ /// The parent layout container.
+ /// The import path.
+ /// Whether to use an initial layout space of 5 for separation.
+ public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, string path, bool useInitialSpacing = true)
+ {
if (!string.IsNullOrEmpty(path))
{
- parentLayout.Space(5);
- parentLayout.Label("Import Path:");
+ if (useInitialSpacing)
+ parentLayout.Space(5);
+ parentLayout.Label("Import Path:").Label.TooltipText = "Source asset path (can be relative or absolute to the project)";
var textBox = parentLayout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
diff --git a/Source/Editor/Windows/Assets/AudioClipWindow.cs b/Source/Editor/Windows/Assets/AudioClipWindow.cs
index 87638f8e0..35072620b 100644
--- a/Source/Editor/Windows/Assets/AudioClipWindow.cs
+++ b/Source/Editor/Windows/Assets/AudioClipWindow.cs
@@ -104,7 +104,7 @@ namespace FlaxEditor.Windows.Assets
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem);
- layout.Space(10);
+ layout.Space(5);
var reimportButton = layout.Button("Reimport");
reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport();
}
diff --git a/Source/Editor/Windows/Assets/CubeTextureWindow.cs b/Source/Editor/Windows/Assets/CubeTextureWindow.cs
index 63c697ef2..960d806d2 100644
--- a/Source/Editor/Windows/Assets/CubeTextureWindow.cs
+++ b/Source/Editor/Windows/Assets/CubeTextureWindow.cs
@@ -57,7 +57,7 @@ namespace FlaxEditor.Windows.Assets
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem);
- layout.Space(10);
+ layout.Space(5);
var reimportButton = layout.Button("Reimport");
reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport();
}
diff --git a/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs b/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs
index cbcecf1df..167a86f41 100644
--- a/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs
+++ b/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs
@@ -123,7 +123,7 @@ namespace FlaxEditor.Windows.Assets
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem);
- layout.Space(10);
+ layout.Space(5);
var reimportButton = layout.Button("Reimport");
reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport();
}
diff --git a/Source/Editor/Windows/Assets/TextureWindow.cs b/Source/Editor/Windows/Assets/TextureWindow.cs
index 43c499f6e..894c0d352 100644
--- a/Source/Editor/Windows/Assets/TextureWindow.cs
+++ b/Source/Editor/Windows/Assets/TextureWindow.cs
@@ -149,7 +149,7 @@ namespace FlaxEditor.Windows.Assets
Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem);
// Reimport
- layout.Space(10);
+ layout.Space(5);
var reimportButton = layout.Button("Reimport");
reimportButton.Button.Clicked += () => ((ImportPropertiesProxy)Values[0]).Reimport();
}
diff --git a/Source/Engine/Level/Scripts/ModelPrefab.h b/Source/Engine/Level/Scripts/ModelPrefab.h
index 0adf0edea..fd6b66097 100644
--- a/Source/Engine/Level/Scripts/ModelPrefab.h
+++ b/Source/Engine/Level/Scripts/ModelPrefab.h
@@ -19,7 +19,7 @@ API_CLASS(Attributes="HideInEditor") class FLAXENGINE_API ModelPrefab : public S
///
/// Source model file path (absolute or relative to the project).
///
- API_FIELD(Attributes="ReadOnly") String ImportPath;
+ API_FIELD(Attributes="ReadOnly, HideInEditor") String ImportPath;
///
/// Model file import settings.