Hi Marc,
This probably has to do with the way you define your manifest for the property editor and how you determine the IsConverter method of your PropertyValueConverter. Iāve struggled a bit with this as well and I donāt 100% full understand it yet, but I can give you a solution.
Property editors in Umbraco 16 have actually two aliasses:
- The EditorUIAlias. This determines the unique identifier of the editor on the āfrontendā side of the backoffice and this is a (web) component.
- The EditorAlias. This is the alias of the editor in the backend/server side. This is sort of the alias you also have in Umbraco 13.
As you can see this is split in a frontend and backend component, where the frontend component is the new one. In the Umbraco backoffice you can actually see this if you select a property editor on a data type:

Your manifest for the editor probably looks a bit like this:
export const manifests: Array<UmbExtensionManifest> = [
{
type: 'propertyEditorUi',
alias: "example.editor",
name: "Example editor",
...
meta: {
...
propertyEditorSchemaAlias: "Umbraco.Plain.Json",
...
}
}];
The editor schema determines how data is stored and retreived from the database. The idea is that you can have multiple UI editors that use the same schema to process the data server side. The schema is also what determines the server side editor alias and in extension the property value converter.
In the about example, youāll get the following aliasses:
- Editor UI alias: example.editor
- Editor alias: Umbraco.Plain.Json
So the issue here probably comes down to this: if you expect to use the alias property from the manifest like this:
/// <inheritdoc cref="IPropertyValueConverter.IsConverter"/>
public override bool IsConverter(IPublishedPropertyType propertyType) =>
propertyType.EditorAlias.Equals("example.editor");
It will not work. Because the editor alias will be āUmbraco.Plain.Jsonā.
You have two options to fix this: create your own propertyEditorSchema, but to be honest, thatās very much overkill in most situations. But nevertheless, is absolutely an option.
The second option is by far the easiest and that is just to check the editor ui alias instead of the editor alias like this:
/// <inheritdoc cref="IPropertyValueConverter.IsConverter"/>
public override bool IsConverter(IPublishedPropertyType propertyType) =>
propertyType.EditorUiAlias.Equals("example.editor");
Just a small warning though: Iāve talked with a few HQ members and some insist that you should not do this, while others do it themselves in their blogs. So to me itās still a bit unclear if itās bad practice. I can say though that this works perfectly fine in all cases I used this in.