diff --git a/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomView.axaml b/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomView.axaml
new file mode 100644
index 000000000..4207380d2
--- /dev/null
+++ b/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomView.axaml
@@ -0,0 +1,13 @@
+
+
+ False
+ True
+
+
diff --git a/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomView.axaml.cs b/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomView.axaml.cs
new file mode 100644
index 000000000..a60961c46
--- /dev/null
+++ b/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomView.axaml.cs
@@ -0,0 +1,19 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Markup.Xaml;
+using Avalonia.ReactiveUI;
+
+namespace Artemis.VisualScripting.Nodes.Static.Screens;
+
+public partial class StaticBooleanValueNodeCustomView : ReactiveUserControl
+{
+ public StaticBooleanValueNodeCustomView()
+ {
+ InitializeComponent();
+ }
+
+ private void InitializeComponent()
+ {
+ AvaloniaXamlLoader.Load(this);
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomViewModel.cs b/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomViewModel.cs
new file mode 100644
index 000000000..6dde68817
--- /dev/null
+++ b/src/Artemis.VisualScripting/Nodes/Static/Screens/StaticBooleanValueNodeCustomViewModel.cs
@@ -0,0 +1,27 @@
+using Artemis.Core;
+using Artemis.UI.Shared.Services.NodeEditor;
+using Artemis.UI.Shared.Services.NodeEditor.Commands;
+using Artemis.UI.Shared.VisualScripting;
+using ReactiveUI;
+
+namespace Artemis.VisualScripting.Nodes.Static.Screens;
+
+public class StaticBooleanValueNodeCustomViewModel : CustomNodeViewModel
+{
+ private readonly StaticBooleanValueNode _node;
+ private readonly INodeEditorService _nodeEditorService;
+
+ public StaticBooleanValueNodeCustomViewModel(StaticBooleanValueNode node, INodeScript script, INodeEditorService nodeEditorService) : base(node, script)
+ {
+ _node = node;
+ _nodeEditorService = nodeEditorService;
+
+ NodeModified += (_, _) => this.RaisePropertyChanged(nameof(CurrentValue));
+ }
+
+ public int? CurrentValue
+ {
+ get => _node.Storage ? 1 : 0;
+ set => _nodeEditorService.ExecuteCommand(Script, new UpdateStorage(_node, value == 1));
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.VisualScripting/Nodes/Static/StaticBooleanValueNode.cs b/src/Artemis.VisualScripting/Nodes/Static/StaticBooleanValueNode.cs
new file mode 100644
index 000000000..76000d70b
--- /dev/null
+++ b/src/Artemis.VisualScripting/Nodes/Static/StaticBooleanValueNode.cs
@@ -0,0 +1,33 @@
+using Artemis.Core;
+using Artemis.VisualScripting.Nodes.Static.Screens;
+
+namespace Artemis.VisualScripting.Nodes.Static;
+
+[Node("Boolean-Value", "Outputs a configurable static boolean value.", "Static", OutputType = typeof(bool))]
+public class StaticBooleanValueNode : Node
+{
+ #region Constructors
+
+ public StaticBooleanValueNode()
+ : base("Boolean", "Outputs a configurable static boolean value.")
+ {
+ Output = CreateOutputPin();
+ }
+
+ #endregion
+
+ #region Properties & Fields
+
+ public OutputPin Output { get; }
+
+ #endregion
+
+ #region Methods
+
+ public override void Evaluate()
+ {
+ Output.Value = Storage;
+ }
+
+ #endregion
+}
\ No newline at end of file