Narzędzie · W rozwoju

Runtime Inspector

Konsola deweloperska działająca wewnątrz builda gry.

Wysuwana konsola deweloperska działająca w runtime, wewnątrz builda gry — dowolna metoda w kodzie staje się silnie typowaną, wywoływalną komendą (exec), bez pisania osobnego panelu do każdego testu. Inspector wspiera rekurencję.

Każde wywołanie zapisywane jest w logu — dokładnie widać, jaka komenda, z jakimi argumentami i z jakim wynikiem została wykonana, co ułatwia odtworzenie i zgłoszenie buga.

  • Dwie oddzielne przestrzenie komend/ dla komend z gry (pełny autocomplete, zagnieżdżanie) i ! dla komend narzędzia (list, help, select, undo, clear) — nigdy się nie mieszają w jednym dropdownie.
  • Reflection zamiast IL weavingu — świadomy wybórNapisałem też wariant z Mono.Cecil, ale zostałem przy reflection — to nie hot path, a jeden spójny system jest łatwiejszy w utrzymaniu. Metody debugowe chroni atrybut [Preserve] przed strippingiem w IL2CPP.
  • Async i CoroutineMetody zwracające IEnumerator/Task uruchamiają się jako coroutine na osobnym runnerze, ze statusem „running…” widocznym na żywo w logu.
  • Undo/Redo i zagnieżdżone wywołaniaKomendy oznaczone jako Undoable trzymają stan przed/po — jedna komenda zamiast restartu sceny. Zagnieżdżone wywołania logują każdy krok osobno, więc widać dokładnie, jaka wartość trafiła do którego argumentu.
ReflectionEditor ToolsDebug ConsoleIL2CPP
Status W rozwoju
Zakres Narzędzia deweloperskie
Zakres pracy
  • Dwie oddzielne przestrzenie komend
  • Reflection zamiast IL weavingu — świadomy wybór
  • Async i Coroutine
  • Undo/Redo i zagnieżdżone wywołania
Następny projekt

Narzędzia edytorskie