I am working on a plugin that uses the CameraComponent as a baseclass. When I make sure that all the CameraComponent UPROPERTIES are hidden in the editor by using HideCategories = (CameraSettings) in the UCLASS of my component; FCameraDetails::CustomizeDetails failes on line 30 check(AspectRatioProperty.IsValid() as the AspectRatioProperty was not found using AspectRatioProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UCameraComponent, AspectRatio)); on line 29.
From the documentation I found that using HideCatagories should only hide the UPROPERTY values in the UE Editor Property Window. It seems that in this case, the properties are also not created as member variables that can be searched for?
This is easily reproducible by:
- Making a class that inherits UCameraComponent.
- Making sure that the CameraSettings UPROPERTIES are hidden by using the HideCatagories=(CameraSettings) in the UCLASS of the newly created class.
- Compile.
- Create an empty Actor in the scene.
- Use Add Component and add the newly created class as a component.
- As soon as the component is added the crash will occur.
I use the following UCLASS to easily find my newly created component in the component view:
UCLASS(HideCategories = (CameraSettings, Mobility, Rendering, LOD), Blueprintable, ClassGroup = Camera, meta = (BlueprintSpawnableComponent))
This is the reference to the HideCategories attribute for UCLASS
https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/Reference/Classes/Specifiers/HideCategories/index.html
Please let me know what you find,
Thanks and have a great day,
Juul