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) | |
|---|---|---|
| Status | Complete | Complete |
| Implementation | Expression Emit + three-table indexer | C++ stub + native indexer |
| C#→Lua | GetFunction<T> + Delegate bridge | Same as left |
| Performance | Day-to-day iteration | Benchmark against Player (see Performance comparison) |
| Generate | No per-type C# Wrap; Editor does not need Generate | ZLua/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
| Previous | Troubleshooting |
| Next | — |
Related
- Build workflow
- Third-party native modules — Editor dynamic / Player static differences also apply to C modules
- Dual runtime
- Comparison
- Troubleshooting