diff --git a/Source/Engine/Scripting/Script.cpp b/Source/Engine/Scripting/Script.cpp
index 5bee98436..9ae173542 100644
--- a/Source/Engine/Scripting/Script.cpp
+++ b/Source/Engine/Scripting/Script.cpp
@@ -63,6 +63,11 @@ void Script::SetEnabled(bool value)
}
}
+bool Script::IsEnabledInHierarchy() const
+{
+ return _enabled && (_parent == nullptr || _parent->IsActiveInHierarchy());
+}
+
Actor* Script::GetActor() const
{
return _parent;
diff --git a/Source/Engine/Scripting/Script.h b/Source/Engine/Scripting/Script.h
index 2fb0be732..54fd37605 100644
--- a/Source/Engine/Scripting/Script.h
+++ b/Source/Engine/Scripting/Script.h
@@ -42,6 +42,11 @@ public:
///
API_PROPERTY() void SetEnabled(bool value);
+ ///
+ /// Gets value indicating if script is enabled and active in the scene graph. It must be active as well as all it's parents.
+ ///
+ API_PROPERTY(Attributes="HideInEditor, NoSerialize") bool IsEnabledInHierarchy() const;
+
///
/// Gets the actor owning that script.
///