# AeThex Language Integration AeThex Engine includes deep integration with **AeThex Lang**, a cross-platform scripting language that compiles to multiple game engine targets. ## Overview AeThex Lang allows you to write game logic once and deploy it to: - **Roblox** (Luau) - **UEFN/Fortnite** (Verse) - **Unity** (C#) - **Web** (JavaScript) - **AeThex Engine** (Native VM) ## Language Features ### Reality Blocks (Modules) ```aethex reality MyGame { platforms: [roblox, uefn, unity, web] // Module content } ``` ### Journey Functions Cross-platform functions that work identically across all targets: ```aethex journey calculateDamage(baseDamage: Number, multiplier: Number) { reveal baseDamage * multiplier } ``` ### Beacons (Signals) Events that can be emitted and listened to: ```aethex beacon onPlayerDied(playerId: String) beacon onScoreChanged(newScore: Number) // Emit a beacon emit onPlayerDied("player_123") ``` ### Artifacts (Classes) Object-oriented classes: ```aethex artifact Player { let health: Number = 100 let name: String = "Player" journey takeDamage(amount: Number) { health = health - amount when health <= 0 { notify `${name} died!` } } } ``` ### Control Flow ```aethex // Conditionals when condition { // true branch } otherwise { // false branch } // Loops traverse item in collection { notify item } while isRunning { // loop body } ``` ### Cross-Platform Sync ```aethex // Sync data across all platforms sync playerData across all // Sync to specific platforms sync inventory across [roblox, uefn] ``` ### Platform-Specific Code ```aethex @platform(roblox) journey robloxOnly() { // Only runs on Roblox } @platform(unity) journey unityOnly() { // Only runs on Unity } ``` ## Type System | AeThex Type | Roblox | UEFN | Unity | JavaScript | |-------------|--------|------|-------|------------| | Number | number | float | float | number | | String | string | string | string | string | | Boolean | boolean | logic | bool | boolean | | Array | table | array | List | Array | | Dictionary | table | map | Dictionary | Object | | Vector2 | Vector2 | vector2 | Vector2 | {x,y} | | Vector3 | Vector3 | vector3 | Vector3 | {x,y,z} | ## Built-in Functions | AeThex | Description | |--------|-------------| | `notify(msg)` | Print to console/log | | `reveal value` | Return from function | | `emit beacon(args)` | Emit a signal | | `await task()` | Async wait | | `sync data across targets` | Cross-platform sync | ## Using in Editor 1. Create a new file with `.aethex` extension 2. Write your cross-platform code 3. The editor provides syntax highlighting 4. Export to any target platform using the Export menu ## Export Targets ### Roblox Export Generates `.lua` files compatible with Roblox Studio: ```lua -- Generated from player.aethex local Player = {} function Player.takeDamage(amount) -- Implementation end return Player ``` ### UEFN Export Generates `.verse` files for Unreal Editor for Fortnite: ```verse # Generated from player.aethex using { /Fortnite.com/Devices } player_device := class(creative_device): TakeDamage(Amount : float) : void = # Implementation ``` ### Unity Export Generates `.cs` files for Unity: ```csharp // Generated from player.aethex using UnityEngine; public class Player : MonoBehaviour { public void TakeDamage(float amount) { // Implementation } } ``` ### Web Export Generates JavaScript bundle: ```javascript // Generated from player.aethex const Player = { takeDamage(amount) { // Implementation } }; export default Player; ``` ## Module Structure ``` modules/aethex_lang/ ├── register_types.cpp/h # Module registration ├── aethex_script.cpp/h # Script resource class ├── aethex_tokenizer.cpp/h # Lexer ├── aethex_parser.cpp/h # AST parser ├── aethex_compiler.cpp/h # Bytecode + cross-platform compiler ├── aethex_vm.cpp/h # Virtual machine ├── editor/ │ └── aethex_highlighter.cpp/h # Syntax highlighting ├── export/ │ └── aethex_exporter.cpp/h # Cross-platform export └── examples/ └── cross_platform_player.aethex ``` ## Integration with AeThex Ecosystem - **AeThex Studio**: Templates use AeThex Lang for cross-platform logic - **AeThex Forge**: Marketplace assets can include `.aethex` scripts - **AeThex Launcher**: Build and deploy AeThex Lang projects