Skip to main content

Editor vs Player

Appendix. For the release checklist, see also Build workflow. ZLua has two backends: Lua-visible semantics must match; implementation paths differ.

Editor (Mono)Player (Il2Cpp)
StatusCompleteComplete
ImplementationExpression Emit + three-table indexerC++ stub + native indexer
C#→LuaGetFunction<T> + Delegate bridgeSame as left
PerformanceDay-to-day iterationBenchmark against Player (see Performance comparison)
GenerateNo per-type C# Wrap; Editor does not need GenerateZLua/Generate/All (C++ stubs, not C# Wrap)

See Mono implementation, Il2Cpp implementation, and Project status.

:::info Semantics match Event, Marshal, type access, etc. follow the Spec; neither side has Event-specific metatables (use add_ / remove_). :::

Player release checklist

  • Run ZLua/Generate/All
  • Lua synced to StreamingAssets (see zlua-demo)
  • Script behavior matches the Spec (do not rely on deprecated Event .get / .set)
  • Smoke-test against the compatibility matrix

Learning path

PreviousTroubleshooting
Next