시도해보지는 않았지만 아이디어가 있습니다.
빌드시 함께 포함되는 UnityPlayer.dll을 hex로 열어보시면 GameAssembly.dll라는 string을 확인하실 수 있습니다. 그렇다면 GameAssembly.dll 라는 이름으로 래핑용 DLL을 생성하고, EP에서 버전을 선택한 다른 GameAssembly.dll을 로드하도록 해 줄 수 있을것입니다.
그러면 미리 GameAssembly.dll 이 버전이 여러개 준비되어야겠지요. 그런데 이 GameAssembly.dll은 il2cppdata 내 global-metadata.dat와 세트로 움직여야합니다. 래핑용 DLL에서는 GameAssembly.dll와 global-metadata.dat도 함께 관리해주어야 하고, global-metadata.dat가 어디에 위치하는지는 GameAssembly.dll 안에서 결정하기 때문에 Create visual studio project 기능으로 cpp 코드에서 수정해 빌드해주어야 될 겁니다.
그러나 이런 방법보다 리플레이 저장방식을 개선해야하지 않을까싶네요. 키바인딩 방식의 리플레이 기억이아닌 커맨드 방식으로 라던가...