The only information I really see here is a text file and then a list of strings at the end, with some modification to what these strings are. I can only assume what your UDMUI script does but I have a feeling it's just looking for these symbols ($, #1#, etc) you defined and doing hardcoded logic.
if you want honest feedback on this, this is not a proper tool. You mention putting this on github or the asset store if its stable meaning you want other people to use it. This looks like a script specific to your use case rather than something extensible to be used by others. The way of defining your dialogue looks like a pain and I can just imagine how many edge cases this will have.
When you say "it's not really....engine specific you could use it in any engine or language because it's just a scripting language", this isn't true at all. The only part here that's not engine specific the text file. Your scripts that handle parsing the text are c# scripts, and you definitely rely on unity components here, so this is unity specific. regardless of if the statement was true, it clashes with your message of why you don't want to use yarnspinner or ink "it always felt disconnected from the engine". I'm not suggesting you should or shouldn't use those tools, but the reasoning is definitely flawed there.
One thing i suggest is getting your script more editor friendly. It is incredibly easy to make this editable in unity through scriptable objects. Then you also get an editor friendly way of linking dialogue because you can drag and drop scriptable object references. This is still probably worse than what existing tools do. It's definitely better than what you currently have though. At least if it's editable in unity, you can do hardcoded logic based on enums rather than forcing the user to insert stuff like >[ACTOR] in a text file with no verification if their syntax is correct