I’m currently developing editor tools for a project I’m working on and wanted to add undo/redo support for them using the Transaction system. This works fine for changes that change the content of an existing asset but it appears to be the case that the system does not support undo/redo on create/delete operations.
One of the tools I am working on generates asset files using external data stored in another format, but I can not undo the act of creating the asset itself. To add to this, I have to make sure I create my asset (a data table) before the transaction begins, as the act of setting the row structure would otherwise be undone when the transaction is undone.
At it’s current state, the tool can “undo” the generation of the asset by reverting it to it’s empty state. Listening for an undo operation and matching the data somehow may allow me to delete the file after the undo operation however this also has a major issue.
When deleting an asset any undo/redo history associated with that asset seems to be cleared from the system. So even if I were to track undo/redo calls to delete or re-create the assets as needed, the transaction history for those objects are lost and I can’t revert them to their previous state.
As you can see, any sort of editor tool that generates/deletes assets as well as modifies them are either impossible to make or you end up with potentially hundreds of “empty” assets.
Will UE5 be supporting asset creation/deletion in the transaction system? And if not, why?