diff --git a/Dalamud/Plugin/DalamudPluginInterface.cs b/Dalamud/Plugin/DalamudPluginInterface.cs
index 3ca9a3b38..8f97c7d82 100644
--- a/Dalamud/Plugin/DalamudPluginInterface.cs
+++ b/Dalamud/Plugin/DalamudPluginInterface.cs
@@ -193,13 +193,20 @@ public sealed class DalamudPluginInterface : IDisposable
///
/// Gets a list of installed plugin names.
///
+ [Obsolete($"This property is obsolete. Use {nameof(InstalledPlugins)} instead.")]
public List PluginNames => Service.Get().InstalledPlugins.Select(p => p.Manifest.Name).ToList();
///
/// Gets a list of installed plugin internal names.
///
+ [Obsolete($"This property is obsolete. Use {nameof(InstalledPlugins)} instead.")]
public List PluginInternalNames => Service.Get().InstalledPlugins.Select(p => p.Manifest.InternalName).ToList();
+ ///
+ /// Gets a list of installed plugins along with their current state.
+ ///
+ public IEnumerable InstalledPlugins => Service.Get().InstalledPlugins.Select(p => new InstalledPluginState(p.Name, p.Manifest.InternalName, p.IsLoaded, p.Manifest.EffectiveVersion));
+
///
/// Opens the with the plugin name set as search target.
///
diff --git a/Dalamud/Plugin/InstalledPluginState.cs b/Dalamud/Plugin/InstalledPluginState.cs
new file mode 100644
index 000000000..322db3423
--- /dev/null
+++ b/Dalamud/Plugin/InstalledPluginState.cs
@@ -0,0 +1,5 @@
+using System;
+
+namespace Dalamud.Plugin;
+
+public record InstalledPluginState(string Name, string InternalName, bool IsLoaded, Version Version);