Filtering values ​​available for selection through the UILayout.prop()

When creating custom properties, the values ​​of which the user can choose from a list, it is often necessary to filter the list of values ​​offered for selection. We can use the poll function to shorten the proposed list of values by removing unwanted elements.

Making collection active

We can’t set a collection active through the Blender Python API in one step. The “bpy.context.collection” property is read-only, and the “bpy.context.view_layer.active_layer_collection” has a “LayerCollection” type that cannot be set with the standard “Collection” type. To assign an active collection, we need to find the View Layer collection from the desired base collection and already set it as active.