{"id":3410,"date":"2022-05-23T10:30:45","date_gmt":"2022-05-23T08:30:45","guid":{"rendered":"https:\/\/store.algosyntax.com\/?post_type=asx-lms-tutorial-cpt&#038;p=3410"},"modified":"2026-03-09T03:09:07","modified_gmt":"2026-03-09T01:09:07","slug":"how-to-hide-subsystem-from-blueprints","status":"publish","type":"asx-lms-tutorial-cpt","link":"https:\/\/store.algosyntax.com\/tutorials\/unreal-engine\/how-to-hide-subsystem-from-blueprints\/","title":{"rendered":"UE5 How To Hide A Subsystem From Blueprints"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3410\" class=\"elementor elementor-3410\" data-elementor-post-type=\"asx-lms-tutorial-cpt\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8a40991 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8a40991\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0843629\" data-id=\"0843629\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-36bab62 elementor-widget elementor-widget-heading\" data-id=\"36bab62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Subsystems Are Exposed To Blueprints By Default<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-753b32f elementor-widget elementor-widget-text-editor\" data-id=\"753b32f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Our goal in this tutorial is to disable this default setting. To hide a <a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/ProgrammingAndScripting\/Subsystems\/\" target=\"_blank\" rel=\"noopener\">subsystem<\/a> in unreal engine from blueprints you need to add the UCLASS specifier &#8220;NotBlueprintType&#8221; to the macro. Example<\/p><p><strong>UCLASS(NotBlueprintType)<\/strong><\/p><p>This will hide the Subsystem with the above macro specifier from Blueprint nodes.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed8bf10 elementor-widget elementor-widget-heading\" data-id=\"ed8bf10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Why Hide A Subsytem<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa12347 elementor-widget elementor-widget-text-editor\" data-id=\"aa12347\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The introduction of<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/ProgrammingAndScripting\/Subsystems\/\" target=\"_blank\" rel=\"noopener\"> unreal engine subsystems<\/a> is great. It takes away a lot of the unnecessary complexities of the unreal engine API. By Default Subsystems are always accessible from any Blueprint in the editor. Most of the time this is the desired outcome but sometimes we would like to use Subsystems in C++ but not expose them to blueprints by default. Sometimes our Designers do not need to know of any functions in the Subsystem.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2d3d04b elementor-widget elementor-widget-heading\" data-id=\"2d3d04b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The UCLASS Macro<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14acf13 elementor-widget elementor-widget-text-editor\" data-id=\"14acf13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The <a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/ProgrammingAndScripting\/GameplayArchitecture\/Classes\/Specifiers\/\" target=\"_blank\" rel=\"noopener\">UCLASS() Macro<\/a> in Unreal Engine is very useful for reflection-related settings.\u00a0 Unreal Engine Uses Reflection to show C++ classes in the editor or Blueprints and the UCLASS() macro has the settings to modify this behavior.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"featured_media":0,"template":"","asx-lms-tutorial-categories":[58,45],"asx-lms-tutorial-tags":[46],"class_list":["post-3410","asx-lms-tutorial-cpt","type-asx-lms-tutorial-cpt","status-publish","hentry","asx-lms-tutorial-categories-unreal-c-api","asx-lms-tutorial-categories-unreal-engine","asx-lms-tutorial-tags-cpp","entry"],"acf":[],"_links":{"self":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/asx-lms-tutorial-cpt\/3410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/asx-lms-tutorial-cpt"}],"about":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/types\/asx-lms-tutorial-cpt"}],"version-history":[{"count":0,"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/asx-lms-tutorial-cpt\/3410\/revisions"}],"wp:attachment":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/media?parent=3410"}],"wp:term":[{"taxonomy":"asx-lms-tutorial-categories","embeddable":true,"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/asx-lms-tutorial-categories?post=3410"},{"taxonomy":"asx-lms-tutorial-tags","embeddable":true,"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/asx-lms-tutorial-tags?post=3410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}