The numbered dlls are work of hot reload, compiler can’t modify dll when it’s running so UBT creates new dll with number and order engine to unload old dll and load new one.
If you get some error from it, try building without editor open, UBT then deletes all hot reload stuff