We’re excited to share a few of the new features now available on the Master branch on GitHub. To be able to try out these new features, you will need to download the source code for the Master branch and build the Engine yourself. For more information about how to build the Engine from source code, please see this page. The Master branch on GitHub is constantly being updated and is not quality tested so it may be potentially unstable. We do not recommend using the Master branch for project development. If you wish to wait, these features will be made available to all in an upcoming official release.
Per-Actor Instance Blueprint Created Component Property Editing
Before the release of 4.7 we removed the ability to modify the properties of components created in Blueprints, however, we are happy to report that this functionality is now available!
Just as you can in subclasses, properties of components added in the components section of the Blueprint can be modified on a per-actor instance basis.
And just as with Actor properties, modified Component properties can be applied to the Blueprint defaults with the Apply to Blueprint.
A few caveats:
Components created by the Construction Script cannot be modified.
Component properties that are modified by the Construction Script cannot be modified on the instance. However, if the Construction Script explicitly sets the property value to the default, we cannot distinguish that from not having set it at all and it will be editable at the instance level.
In addition, a new feature has been added to Components that allows you to specify whether a component may be edited by subclasses or on instances in the world.
Be warned that setting Editable when Inherited to false will overwrite any existing customizations made to the component in any subclasses or actor instances.
When the component is locked you will get a warning with a link to open the blueprint or parent class as appropriate.
While this boolean can also be set in C++ to prevent a component from being edited, it is generally more appropriate to use a UPROPERTY that is not marked as visible.