自分も初心者なので間違ってたら誰か指摘してほしいんですが、

command変数がUnitクラスのメンバー変数なら、そのcommandはインスタンスだから多態性が確保されている状態のはず
Unit.command変数はCommandクラスの参照を保持してる訳ではないから、大元のCommandクラスを変更しても、最初に作られた時点のUnitクラスの情報を持ったまま
なのでCommandを変えたいなら、エディターからUnit.commandを通って変更するようにする
じゃないとCommandを持つ全Unitが変更の影響を受けてしまうはず
そしてエディターがスクリプトなら、エディターで変更を加えたCommandクラスはUnitが持つcommandインスタンスとは別のインスタンスで、それは大元のCommandクラスを直接変更している訳でもないはず
CommandクラスにSetter関数を追加して、その関数を呼び出してコマンドを渡すようにするか、役割不明なのでCommandクラスをエディターとして使えばうまくいく気がする

ちゃんと理解してるわけじゃないんで参考程度に