Yes, it works, i have implemented a custom bootloader for UART, you can check this topic:
Maybe you have to add some defines in your code to make it work and add some interface in the C# code.
You can grab the files in the topic the UART bootloader is already implemented.
I think I found the issue, the UART component in the macros does not change until you drag in the new symbol. Thanks.
Could you tell us what you mean by "" so that we can understand what the exact issue was.
When importing a component to create a new component, the macro (xxx.cymacro) for the newly imported component needs to be manually update to the new component. Otherwise, the macro will use the old component.