how to make property filter?

I have this class

UCLASS(ClassGroup=(NewtonJoints), meta=(BlueprintSpawnableComponent))
class UNewtonJointFix : public UNewtonJoint
{
	GENERATED_BODY()
	
	public:
	// Sets default values for this component's properties
	UNewtonJointFix();

	virtual void DrawGizmo(float timestep) const override;
	virtual ndJointBilateralConstraint* CreateJoint() override;

	UPROPERTY(EditInstanceOnly, Category = Newton)
	TObjectPtr<UNewtonRigidBody> RefRigidBody;

	UPROPERTY(EditInstanceOnly, Category = Newton)
	TObjectPtr<USceneComponent> RefRigidComp;

	UPROPERTY(EditInstanceOnly, Category = Newton)
	TObjectPtr<AActor> RefSceneActor;
};

The only properties is RefRigidBody
but I added the other tow properties to illustrate the problem.
This is how the detail panel looks like

As we can see , for the actor properties,
Unreal automatically generates and set of the objects that can be selected.
It seems this functionality is single out only for actors.

The question is how can I add that functionality for a custom set of available components?

This might be what you are looking for:

UPROPERTY(meta=(AllowedTypes="abc"))

https://benui.ca/unreal/uproperty/

I tried. but not that does not really works.

It seem that he ureal team decide that when the make the Detail panel widged, they single out some classes, like actors, and almost every asset (texture, static mesh, materials, etc)
and gave them special sub sear menus menus.
but for some reason they excluded Actor components.

as it stand now they is to was to initialize an actor component pointer form the editor, whether it was a blueprint of the scene.
It seems the only was to do that is but a blue print, of by giving a default.

Thanks anyway.

do you mean like
TSubClassOf<>

or do you mean to choose from a list like

UPROPERTY(meta=(GetOptions="abc"))

It is quite simple.

Suppose you are making a custom component class for your project.
you need to get a hold of a another UObject so you add a Property. something like

UPROPERTY(EditAnywhere, ....)
TObjectPtr<SomeClass> myVariable;

if is happens that SomeClass is derived from AActor, UTextute, UStaticMesh, UMaterial, and few others. Then, when in editor or game, the detail panel gives the user browsing capability.
However if SomeClass is subclass of Actor Component, you only get a dropdown list with an empty selection.
No where is the code or documentation explain how to populate the drop down list.

this is not because the subclass of a static asset because actors aren’t.
what this mean is that if you add a pointer to a component in one of your classes,
the only way to initialized it is either by setting a default value at construction,
or by writing a blueprint script that uses a function to set it.

I can see why is this. In other to provide this functionality the compound widget most be written to support the functionality for that class. I actually wrote an asset editor and found that out.
However the standard unreal editors are inflexible.
and it appears that the designers of this editors explicitly excluded components from browsing.

Because of the way Components work in spawning and owning, they are trickier than most other objects in the game world to hold a reference to.

For Actor Components, you can use FComponentReference or FSoftComponentReference, with UseComponentPicker to have a drop-down instead of a FName field, AllowedClasses to filter classes, and AllowAnyActor to include other actors in the world. Note that in Blueprint Editor you can only fill in the FName with the name of the component. The drop-down picker will be empty.

UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(UseComponentPicker, AllowedClasses="/Script/MyProject.MyClass", AllowAnyActor))
FComponentReference MyComponentReference