EPOK DOCUMENTATION
Build your first world.
Then go deeper.
Guided tutorials, C++ / Blueprint / Lua gameplay, native APIs and a source-mapped catalog of every implemented feature.
Learn by doing
01 / VISUAL GAMEPLAY
Build your first Blueprint
Find the editor controls, connect typed pins and inspect a running Actor.
Start the Blueprint tutorial Keep the reference nearby02 / SCRIPTED GAMEPLAY
Build your first Lua class
Create an Actor, expose Inspector properties, move it in Tick and choose how the same source runs on PSX.
Start the Lua tutorial Open the complete reference03 / VISUAL EFFECTS
Create and animate an effect
Choose layers, tune emission, edit curves and preview a repeatable effect.
Open the VFX editor guide Explore scene timelines04 / PUT IT TOGETHER
Make a playable spell
Spawn an effect, apply damage at Impact and handle completion or cancellation.
Follow the spell tutorial Troubleshoot your result01
Start here
Getting started Complete feature catalog What's new in v0.2.0 Projects The editor Content Browser Settings File formats & migration02
Create your world
Blockout modeling Third Person template 2D worlds, 3D worlds & UI Importing models Skeletal characters Textures03
Render & animate
Lighting & shadows Environment effects Palette animation04
Build gameplay
Actors & Components Existing projects & Actors Scene Blueprints Your first Blueprint Blueprint reference Your first Lua class Lua scripting reference C++ scripting Input & collision Runtime services Cameras Shared resources Memory Card05
Timelines & VFX
Using the VFX editor Timeline reference Connect a spell to gameplay RPG spell example Sprites & particles Blueprint & VFX troubleshooting06
Sound & interface
MIDI, SoundFont & PSX music Assets & audio HUD & UI Procedural UI preview07
Build, run & ship
Build, measure & iterate Play targets & loading Performance Geometry streaming Standalone runtime Release process08
Extend & understand
Lua VM runtime AI / MCP Architecture Testing 2.5D example09
API reference
C++ API reference Epok runtime API PsyQo API10
Project
License Third-party notices Runtime noticesBEFORE YOU BUILD
Know the current limits.
- Experimental on Windows x64, macOS Apple Silicon and Linux x86_64. Builds and emulator execution are verified. Blueprint reflection and authoring are available on Windows and Linux; macOS does not yet include that toolchain. Broader physical-console validation is ongoing.
- Lua is a bounded profile.
epok-luav1 is statically checked and intentionally omits general Lua features such as coroutines, metatables, standard libraries and dynamic tables. - Two skeletal playback formats. Rigid GTE and compressed baked vertex frames are available per model. Skeletal textures, blended skin weights and animation blending remain future work.
- Focused editing tools. Blueprint graphs/templates, timelines, effects, Blockout geometry and MCP scene batches have Undo/Redo. Actor multiselection remains future work.
- PSX rendering constraints. Intersecting polygons can still produce sorting artifacts. Capacity limits are not frame-rate guarantees.
- Bounded simulation and resources. Fixed 60 Hz steps, conservative AABB collision and resident data that must fit PSX RAM. Optional editable-mesh geometry streaming uses bounded CD pages; required reads may stall rendering and restart XA music. It is off by default, not general-purpose map or texture streaming.
- Release artifacts. Tagged releases publish a Windows x64 portable archive. macOS and Linux development editors are built from source.
Documentation snapshot: 8ba2896. Updated from committed engine documentation.