Game-Engine Scripting & Level-Description Languages Family Index
type: language-family-index family: game-engine-scripting languages_catalogued: 24 tags: [language-reference, family-index, game-engine-scripting, level-design, blueprint, unity, unreal, godot, source, usd]
Game-Engine Scripting & Level-Description — Family Index
Family overview
There are two utterly different question a “game language” can answer. The first is how does this character behave in this fight? — gameplay code, AI scripts, dialogue trees, ability rules — and that is the territory of game-scripting (Lua, UnrealScript, GDScript, Papyrus, Squirrel, AngelScript, QuakeC, etc.). The second is what does this level look like, what entities live in it, what types are those entities, and how do designers wire them together? That is engine-side description: brush-based map files, prefab/scene serialisation formats, entity-definition languages used by level editors, visual node-graph scripting that compiles to engine bytecode, and asset/material graph DSLs. This index is the catalogue of that second class.
The lineage of the brush-based plain-text map file runs through every major Western FPS engine for thirty years. Quake’s .map (1996) — convex brushes defined by the planes that bound them, plus key/value-pair entity blocks — was the template; everything from Quake III’s .map, Half-Life’s .rmf/.bsp entity strings, Source’s .vmf (Valve Map File, 2004), and idTech 4’s .map is recognisably the same format with elaborations. Source 2’s Hammer (Half-Life: Alyx, 2020; Counter-Strike 2, 2023) finally broke the brush pattern with a mesh-centric workflow, but .vmap retained the same human-readable, KV-pair entity philosophy. Sitting alongside the map format is the FGD (Forge Game Data) file, a small entity-definition DSL that tells Hammer “an npc_zombie has these properties of these types”; FGD is what lets one editor support every Source-engine game by just swapping the FGD.
Unity, Unreal, and Godot took different paths. Unity ships scenes and prefabs as YAML-serialised asset files (one document per object, GUID references between them) — version-control-friendly by design, with the explicit goal that two designers can merge changes to a scene in git. The companion concept is the ScriptableObject, a deliberate data-as-code pattern: a designer defines a WeaponConfig C# class, the engine serialises instances of it as authored assets, and gameplay code reads those assets at runtime. Many shipping Unity games are 60–80% data in ScriptableObjects with thin C# orchestration on top. Unreal descends from a different lineage: .t3d text scene format from UE1, evolving into .uasset/.umap binary packages, with DataTable as the structured tabular-data primitive and Blueprint Visual Scripting (introduced in UE4, 2014) as the dominant “designer-authorable code” surface. Blueprints compile to a stack-based bytecode (UnrealScript VM lineage) and live alongside C++ — most shipping Unreal games use both. Godot uses .tscn and .tres (text scene / text resource), simple human-readable INI-flavoured formats; its VisualScript was deprecated in Godot 4.0 (announced August 2022, removed from core), an instructive cautionary tale about visual scripting at scale.
Cross-engine, USD (Universal Scene Description, Pixar, open-sourced 2016) is the rising lingua franca for asset and scene description outside the games-engine sandboxes. The Alliance for OpenUSD (Pixar + Adobe + Apple + Autodesk + NVIDIA, founded August 2023) standardises it; NVIDIA’s Omniverse uses it as its foundational layer; Unreal supports .usd/.usda/.usdc/.usdz import (still officially “experimental” through UE 5.6 in 2026); Unity has both first-party and Omniverse-Connector USD packages. Materials, shader graphs, and the visual scripting layers (Unreal Material Editor, Unity Shader Graph, Godot VisualShader) are also part of this family — they are textual-DSL-replacement node graphs that compile to GPU shader code, and they share the same design tensions as Blueprint: graph readability vs. textual maintainability, version-control friendliness vs. visual authoring.
In our deep library
These engine-side description formats and node graphs do not have standalone deep-library notes — they exist inside their host engines and are documented per-engine. Cross-reference adjacencies:
- game-scripting — the complementary family. Gameplay scripting languages (UnrealScript, Wren, AngelScript, Squirrel, Pawn, GDScript, Papyrus, QuakeC, Lua-as-game-script, MoonScript, Ren’Py, Lingo) live there; this index covers everything around them.
- visual-dataflow — Houdini VEX, TouchDesigner, vvvv, and the broader node-graph-programming heritage. Blueprint and Shader Graph share lineage with this family.
- config-and-dsl — Unity scene YAML, Godot
.tscn,.vmf, FGD all live in the broader “structured-config / declarative-data” DSL space. - gpu-and-shaders — Material Editor, Shader Graph, VisualShader all compile to HLSL/GLSL/SPIR-V; they are visual frontends to that family.
- lua — Source 2 VScript embeds Lua (Half-Life: Alyx); many engines pair a description format here with Lua over there.
- python — USD’s primary SDK is C++ + Python (
pxr.Usd); Houdini, Maya, Blender all script USD via Python. - notation-spec — formats like USD that describe rather than execute are notation-adjacent.
Tier 3 family table
| Format / Language | First appeared | Origin | Engine | Type | Status (2026) | URL |
|---|---|---|---|---|---|---|
Quake .map | 1996 | id Software (John Carmack, John Cash) | Quake / id Tech 1–4 and every descendant editor (TrenchBroom, J.A.C.K., GtkRadiant, NetRadiant) | Plain-text brush + entity level format | Foundational; still readable by every modern Quake-lineage tool; TrenchBroom 2.x active | https://quakewiki.org/wiki/Quake_Map_Format |
| Doom WAD lump format | 1993 | id Software | Doom / Doom II / Heretic / Hexen / GZDoom / dsda-doom | Binary container of named “lumps” (THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SECTORS, etc.) | Active in source ports; GZDoom is the dominant modern runtime; UDMF (Universal Doom Map Format, 2008) is the textual-successor lump | https://doomwiki.org/wiki/WAD |
| Build Engine MAP | 1995 | Ken Silverman | Build (Duke Nukem 3D, Blood, Shadow Warrior, Ion Fury, Wrath: Aeon of Ruin) | Binary sector-portal-based level format (not BSP) | Active in source ports (EDuke32, Raze, NBlood); Ion Fury (2019) and Phantom Fury (2024) ship Build maps | https://moddingwiki.shikadi.net/wiki/MAP_Format_(Build) |
GoldSrc .rmf / .map + halflife.fgd | 1998 | Valve (Worldcraft / Hammer 3.x) | GoldSrc (Half-Life, Counter-Strike 1.6, TFC, DoD) | Text + binary level formats; FGD entity definitions | Legacy-active; modding still occurs (Black Mesa, Sven Co-op) | https://twhl.info/wiki/page/halflife.fgd |
Source .vmf (Valve Map File) | 2004 | Valve (Hammer 4) | Source (HL2, Portal, L4D, TF2, CS:GO, Garry’s Mod) | Plain-text KV-pair level format with brush solids and entity blocks | Active; Hammer++ (community, 2021+) is the de facto editor for Source 1 mapping in 2026 | https://developer.valvesoftware.com/wiki/VMF_(Valve_Map_Format) |
Source 2 .vmap | 2015 (Dota 2 Reborn) / 2020 (Alyx public) | Valve | Source 2 (Dota 2, Half-Life: Alyx, Counter-Strike 2, Deadlock) | Binary level format with mesh-centric workflow; replaces brush model | Active; Counter-Strike 2 launched September 2023, Deadlock playtest ongoing through 2026 | https://developer.valvesoftware.com/wiki/Source_2 |
| Source FGD (Forge Game Data) | ~1996 (WC) / 2004 (Source) | Valve | GoldSrc / Source / Source 2 | Entity-definition language for Hammer; declares entity classes, key/value types, helpers, and visual hints | Active; per-game FGD shipped with each title (e.g. halflife2.fgd, csgo.fgd, hlvr.fgd, cs2.fgd) | https://developer.valvesoftware.com/wiki/FGD |
idTech 4 .map | 2004 (Doom 3) | id Software | idTech 4 (Doom 3, Quake 4, Prey, Brink) | Plain-text brush + patch + entity format; superset of Quake .map with curved patch surfaces | Legacy-active in idTech 4 modding (Dhewm3); idTech 5+ moved to MegaTexture asset workflow without a public map format | https://modwiki.dhewm3.org/MAP_(file_format) |
| Quake III BSP entity strings | 1999 | id Software | idTech 3 (Quake III Arena, RTCW, Wolfenstein: ET, Soldier of Fortune II, Jedi Academy) | Embedded text entity-string lump inside compiled BSP | Active in modding (ioquake3, OpenJK, ET: Legacy) | https://www.mralligator.com/q3/ |
Unreal .t3d (Text 3D) | 1998 | Epic Games | Unreal Engine 1–3 / UDK | Textual scene/map export format (clipboard format in modern UE) | Active as clipboard/copy-paste serialisation; replaced as on-disk format by .umap (binary) | https://docs.unrealengine.com/udk/Three/UnrealScriptT3D.html |
Unreal .uasset / .umap | 2014 (UE4) | Epic Games | Unreal Engine 4 / 5 / 5.6 (2026) | Binary asset/level package format with editor-only metadata | Active; UE 5.6 shipped 2025; UE 5.7 in 2026; UE6 (UE5+UEFN unification) targeted 2027–2028 | https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5-6-release-notes |
| Unreal Blueprint Visual Scripting | 2014 (UE4 launch) | Epic Games (Tim Sweeney, Kismet → Blueprint) | Unreal Engine 4 / 5 | Visual node graph compiled to stack-based UnrealScript-VM bytecode via FKismetCompilerVMBackend; UFunction holds bytecode in Script array | Dominant; co-equal with C++ in shipped UE titles; nativised-to-C++ option deprecated in UE5; Verse coming in UE6 | https://dev.epicgames.com/documentation/en-us/unreal-engine/blueprints-visual-scripting-in-unreal-engine |
| Unreal DataTable / CurveTable | ~2014 (UE4) | Epic Games | Unreal Engine 4 / 5 | CSV/JSON-backed UStruct row tables; designer-authored gameplay data | Active; the canonical “designer data” surface in UE alongside Blueprints | https://dev.epicgames.com/documentation/en-us/unreal-engine/data-driven-gameplay-elements-in-unreal-engine |
| Unreal Material Editor (graph) | 2008 (UE3) / 2014 (UE4 modern form) | Epic Games | Unreal Engine | Visual node graph compiled to HLSL/Metal/Vulkan shaders per-platform | Active; primary material authoring path in UE5/5.6 | https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-material-editor-reference |
Unity scene .unity / prefab .prefab (YAML) | 2010 (Unity 3) — text serialisation default ~2014 | Unity Technologies | Unity 4 / 5 / 2017–2022 / 6 (2024+) | YAML-serialised GameObject + Component graph; one document per object; GUID references | Active; Unity 6.x (Unity 6000.x) ships 2024–2026 with this format unchanged in concept | https://docs.unity3d.com/6000.6/Documentation/Manual/yaml-prefab-serialization.html |
| Unity ScriptableObject pattern | 2012 (Unity 4) | Unity Technologies | Unity 4 / 5 / 2017+ / 6 | Data-as-code DSL: C# class deriving from ScriptableObject, instances serialised as .asset files, edited in Inspector | Idiomatic; standard pattern for designer-authored config in modern Unity | https://docs.unity3d.com/6000.1/Documentation/Manual/class-ScriptableObject.html |
| Unity Visual Scripting (formerly Bolt) | 2015 (Bolt) / 2021 (acquired, renamed Visual Scripting) | Ludiq → Unity Technologies | Unity 2021+ / 6 | Node-graph visual scripting; Flow Graph (event-driven) and State Graph variants | Active but lower velocity; less central to Unity’s strategy than Blueprint is to Unreal | https://docs.unity3d.com/Packages/com.unity.visualscripting@1.9/manual/index.html |
| Unity Shader Graph | 2018 (preview, SRP) | Unity Technologies | Unity 2018+ / 6 (URP, HDRP) | Visual shader-graph compiling to HLSL via SRP shader system | Active; required for SRP-based pipelines (URP, HDRP) in Unity 6 | https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/index.html |
Godot .tscn / .tres (text scene/resource) | 2014 (Godot 1.0) | Juan Linietsky, Ariel Manzur / Godot Engine | Godot 1 / 2 / 3 / 4 / 4.x (2026) | Plain-text INI-flavoured scene tree and resource serialisation; sibling binary .scn/.res | Active; flagship format of a rapidly growing open-source engine; Godot 4.4 stable 2025, 4.5 in 2026 | https://docs.godotengine.org/en/stable/engine_details/file_formats/tscn.html |
| Godot VisualScript | 2018 (Godot 3.0) | Godot Engine | Godot 3.x only | Node-graph visual scripting | Removed from core in Godot 4.0 (announcement August 2022); maintained as optional out-of-tree module (godot-visual-script repo) for those who compile it in | https://godotengine.org/article/godot-4-will-discontinue-visual-scripting/ |
| Godot VisualShader | 2018 (Godot 3.0) | Godot Engine | Godot 3 / 4 / 4.x | Visual shader-graph compiling to GLSL/Vulkan SPIR-V | Active through Godot 4.x; survived the VisualScript culling because shader graphs proved their worth | https://docs.godotengine.org/en/stable/tutorials/shaders/visual_shaders.html |
| Source 2 VScript (Lua / JS / TypeScript / Pulse) | 2020 (Alyx, Lua) / 2023 (CS2, JS) | Valve | Source 2 (HL: Alyx Lua VScript; CS2 cs_script JavaScript + VScript2 TypeScript + Pulse visual scripting) | Multi-language abstraction layer over Source 2; per-game scripting picks the language | Active; CS2’s Pulse is Valve’s first first-party visual-scripting solution | https://developer.valvesoftware.com/wiki/Counter-Strike_2_Workshop_Tools/Scripting |
| CryEngine Flow Graph | ~2004 (Far Cry) | Crytek | CryEngine 2 / 3 / V | Node-graph level-scripting | Deprecated in favour of Schematyc; Crytek’s stated direction is “users will gravitate towards Schematyc by default and Flow Graph will continue to be deprecated” | https://docs.cryengine.com/display/CEMANUAL/Scripting |
| CryEngine Schematyc | 2017 (CryEngine V) | Crytek | CryEngine V (5.x / 5.7 LTS) | Component-system-aware node-graph scripting; transition graphs for state machines | Active; CryEngine 5.7 LTS (2022) is the current support line through 2026 | https://docs.cryengine.com/display/CEMANUAL/Schematyc |
| Bethesda Creation Engine ESM/ESP/ESL + Creation Kit | 2002 (Morrowind ESM/ESP) — Creation Engine since 2011 (Skyrim) | Bethesda Game Studios | Creation Engine (Skyrim, Fallout 4, Fallout 76, Starfield, ES VI in dev) | Binary record-based plugin/master file format; Creation Kit GUI authors the data; Papyrus scripts attach to forms | Active; Starfield (2023) and ongoing Skyrim/Fallout 4 modding ecosystems; Papyrus is in game-scripting | https://en.uesp.net/wiki/Skyrim_Mod:File_Format |
| RPG Maker MZ event editor | 2020 (MZ) | Kadokawa / Gotcha Gotcha Games | RPG Maker MZ | Visual event-driven scripting via “Event Commands” stored in JSON map files | Active; RPG Maker MZ is the current entry; community plugins extend it heavily | https://store.steampowered.com/app/1096900/RPG_Maker_MZ/ |
| GameMaker DnD (Drag-and-Drop) | 1999 (Game Maker 1) — modern GML/DnD parity 2017+ | Mark Overmars / YoYo Games | GameMaker (current: GameMaker LTS, GameMaker 2024.x) | Visual block-based scripting; compiles 1:1 to GML (GameMaker Language) | Active; YoYo Games rebranded to GameMaker Inc. 2022, post-Opera spinout | https://manual.gamemaker.io/lts/en/Drag_And_Drop/Drag_And_Drop.htm |
| Construct 3 event sheets | 2017 (C3, browser) — lineage from Construct Classic 2007 | Scirra | Construct 3 (browser-based) | Tabular condition-action “event sheet” scripting; not a graph but a domain-specific spreadsheet-like DSL | Active; major web-game authoring platform | https://www.construct.net/en/make-games/manuals/construct-3/project-primitives/events |
Roblox Place file (.rbxl / .rbxlx) | 2006 (Roblox Studio) | Roblox Corporation | Roblox Studio / Roblox client | Binary .rbxl / XML .rbxlx place + model serialisation; Luau scripting attaches as Script instances | Active; massive (175M+ DAU range as of 2024–2025); Luau (Roblox Lua fork) is the script language | https://create.roblox.com/docs/projects/files |
| Houdini VEX (engine-graph-adjacent) | 2003 (Houdini 6.5) | SideFX | Houdini, Houdini Engine (Unreal/Unity plugin) | C-like procedural-shader/SOP language inside a node graph; cross-classified with visual-dataflow | Active; Houdini 20.5 (2024) / 20.6 (2025); Houdini Engine for Unreal/Unity actively used in AAA | https://www.sidefx.com/docs/houdini/vex/ |
| USD / OpenUSD (Universal Scene Description) | 2012 internal Pixar / 2016 open-source | Pixar Animation Studios → Alliance for OpenUSD (2023) | Cross-engine: Maya, Houdini, Blender, Unreal, Unity, NVIDIA Omniverse | Layered, composable scene-description format (.usd binary, .usda ASCII, .usdc crate, .usdz zip-archive) with a Python/C++ SDK | Very active (2026); AOUSD founded August 2023 (Pixar + Adobe + Apple + Autodesk + NVIDIA); UE USD importer still officially “experimental” through 5.6 | https://openusd.org/ |
Notable threads
-
The Quake
.mapformat’s outsized influence — the “convex-brush + KV-entities” pattern survived 30 years. Every brush-based engine for a quarter-century descends from Carmack/Cash’s 1996 design: a level is a list of{ "classname" "..." ... }entity blocks plus a list of brushes, each brush a list of planes that bound a convex solid. Quake III’s.map, GoldSrc’s.rmf/.map, idTech 4’s.map, and Source’s.vmfare recognisably the same format with elaborations (curved patches, displacements, instances). Source 2’s.vmap(Half-Life: Alyx, 2020; Counter-Strike 2, 2023) is the first major break — mesh-centric, no brush solids — but even there the entity-block half of the format is recognisably Quake-lineage. The key insight that survived was “keep the level format human-readable so modders can hand-edit it”, an ethos modern AAA largely abandoned in favour of binary.uasset/.umap(Unreal) and binary.scn(Godot, optional). -
Why Source’s
.vmfis plain text and Unity’s scene format is YAML — version control, not just legibility. Both Valve (Hammer, 2004) and Unity (text-serialisation flag, ~2014) decided that level/scene data must be diff-friendly because teams of designers merge the same scene in git. Unreal’s binary.uasset/.umaprepresents the opposite philosophy (“the editor owns the asset, the source-control system locks it”) and Unreal projects routinely use Perforce instead of git for exactly this reason. Godot’s.tscn/.tresfollow the Unity/Valve philosophy. The trade-off is real: text formats are slower to load and bigger on disk, but they don’t require lock-based source control, which is a huge productivity win for distributed teams. -
Blueprint vs. C++ in Unreal — and the Verse/UE6 endgame. The perennial UE community debate (“should I learn Blueprint or C++?”) has a boring real answer: shipped UE games use both, with C++ for systems and performance-critical paths and Blueprint for designer-authorable gameplay logic. Blueprint compiles to a stack-based bytecode (UnrealScript-VM lineage from UE3) via FKismetCompilerVMBackend, stored in
UFunction::Script. UE5 deprecated the “nativise to C++” feature that briefly existed in UE4 because it created more bugs than it solved; the runtime VM is now considered fast enough. Looking forward, Verse (Epic’s new functional-logic language, first shipped in UEFN March 2023) is positioned as the unified scripting language for Unreal Engine 6, which Tim Sweeney describes as “UE5 + UEFN + Verse” and targets 2027–2028; UE 5.7 (2026) is the last UE5-line release before that pivot. -
Unity’s
ScriptableObjectis a data-as-code DSL hiding in plain sight. Most discussions treat ScriptableObject as just a “serialised C# class,” but it’s better understood as Unity’s deliberate decision to make designer-authorable, type-safe data a first-class concept. A studio that uses ScriptableObjects well will define aWeaponConfig,EnemyArchetype,DialogueLine,LootTable— each a C# type — and ship dozens or hundreds of instances as.assetfiles that designers create and edit in the Inspector. The runtime is then a thin C# orchestrator; the content is in the ScriptableObjects. This is a DSL pattern: the type definition is the grammar, and the asset files are programs in that grammar. It’s why ScriptableObject deserves a place in this index alongside.vmfand.tscneven though it’s “just” a C# class. -
USD as the cross-engine convergence point — and why games-engines were late to it. Pixar open-sourced USD in 2016, but games-engine support stayed lukewarm for years because USD’s rich layering / variants / composition model is overkill for a typical level (and undercut by every engine’s own native scene format). The 2023 founding of the Alliance for OpenUSD (Pixar, Adobe, Apple, Autodesk, NVIDIA — and indirectly via Omniverse, much of the broader DCC ecosystem) finally pushed it past games-engine resistance. As of 2026, Unreal supports
.usd/.usda/.usdc/.usdzimport (still officially “experimental” through 5.6), Unity has both first-party and Omniverse-Connector USD packages, and the practical use case is “DCC-tool-to-engine asset interchange” rather than “USD as the runtime scene format.” USD’s natural home is digital twins, simulation, and previz pipelines more than gameplay — but the convergence is real and growing. -
FGD (Forge Game Data) is a fascinating self-describing entity-type DSL. Hammer doesn’t know what an
npc_zombieis; it learns from the FGD file shipped with the game. The FGD declares:@PointClass base(BaseNPC) studio("models/zombie.mdl") = npc_zombie : "An ordinary zombie." [ spawnflags(flags) : "spawnflags" : 0 = [ ... ] additionalequipment(string) : "additional equipment" : "" ... ]. The format is small, declarative, and powerful enough that one editor (Hammer) supports every Source-engine game (HL2, Portal, L4D, TF2, CS:GO, Half-Life: Alyx, Counter-Strike 2) just by swapping the FGD. This is the same insight that made Bethesda’s Creation Kit moddable — the editor reads the data definitions from the game, not the game from the editor. -
The Godot VisualScript deprecation (announcement Aug 2022, removed in Godot 4.0) — a cautionary tale for visual scripting at scale. Visual scripting works well for small, local logic — UI animations, simple triggers, dialogue branches. It scales badly: large graphs become unreadable noodle bowls; refactoring is brutal; version control is pathological. Godot’s team concluded after years of effort that VisualScript “never gained traction and the path to improve it was never clear” and removed it from core in 4.0; it survives only as an out-of-tree module. The contrast with Blueprint is instructive: Blueprint succeeds because (a) Unreal invested vastly more engineering into editor UX, debugging, and refactoring tools, (b) Blueprint integrates tightly with UE’s reflection system and component model, and (c) it’s the primary designer surface, not a secondary one. Bolt/Unity Visual Scripting sits between these two extremes — alive but never central. The lesson: visual scripting is engine-strategic; you either commit to it as the dominant authoring path (Unreal) or it gets killed (Godot) or it withers (Bolt).
-
The Source 2 scripting menagerie shows Valve still hasn’t picked a side. Half-Life: Alyx (2020) used Lua VScript. Counter-Strike 2 (2023) ships three scripting systems:
cs_script(JavaScript), VScript2 (TypeScript), and Pulse (Valve’s first first-party visual scripting solution). Source 2’s “vscript” is an abstraction layer that can host Lua, Squirrel, GameMonkey, Python, JS, or TS depending on the game. This is not indecision so much as Valve’s traditional “pick the right tool for this game” stance, but it does mean modders moving from Alyx to CS2 have to relearn most of the scripting surface.
Citations
- Quake .map format reference (QuakeWiki): https://quakewiki.org/wiki/Quake_Map_Format
- Source VMF (Valve Map File) — Valve Developer Community: https://developer.valvesoftware.com/wiki/VMF_(Valve_Map_Format)
- Source FGD reference: https://developer.valvesoftware.com/wiki/FGD
- Source 2 overview (Valve Developer): https://developer.valvesoftware.com/wiki/Source_2
- Source 2 / CS2 Workshop Tools scripting: https://developer.valvesoftware.com/wiki/Counter-Strike_2_Workshop_Tools/Scripting
- Half-Life: Alyx Lua VScript: https://developer.valvesoftware.com/wiki/Half-Life:_Alyx_Workshop_Tools/Lua_Scripting
- Unreal Blueprint Visual Scripting (UE 5.7 docs): https://dev.epicgames.com/documentation/en-us/unreal-engine/blueprints-visual-scripting-in-unreal-engine
- Unreal Blueprint Compiler Overview: https://dev.epicgames.com/documentation/en-us/unreal-engine/compiler-overview-for-blueprints-visual-scripting-in-unreal-engine
- Unreal DataTables: https://dev.epicgames.com/documentation/en-us/unreal-engine/data-driven-gameplay-elements-in-unreal-engine
- Unreal Material Editor: https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-material-editor-reference
- Unreal Engine 5.6 release notes: https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5-6-release-notes
- Unreal Engine 5.6 announcement: https://www.unrealengine.com/news/unreal-engine-5-6-is-now-available
- Unity ScriptableObject (6000.1 manual): https://docs.unity3d.com/6000.1/Documentation/Manual/class-ScriptableObject.html
- Unity YAML serialisation of prefabs (6000.6 manual): https://docs.unity3d.com/6000.6/Documentation/Manual/yaml-prefab-serialization.html
- Unity Visual Scripting (formerly Bolt): https://docs.unity3d.com/Packages/com.unity.visualscripting@1.9/manual/index.html
- Unity Shader Graph: https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/index.html
- Godot TSCN file format: https://docs.godotengine.org/en/stable/engine_details/file_formats/tscn.html
- Godot VisualScript deprecation announcement (Aug 2022): https://godotengine.org/article/godot-4-will-discontinue-visual-scripting/
- Godot VisualShader tutorials: https://docs.godotengine.org/en/stable/tutorials/shaders/visual_shaders.html
- CryEngine Schematyc + Flow Graph: https://docs.cryengine.com/display/CEMANUAL/Scripting
- OpenUSD official site: https://openusd.org/
- Alliance for OpenUSD launch (CG Channel, Aug 2023): https://www.cgchannel.com/2023/08/pixar-adobe-apple-autodesk-nvidia-launch-alliance-for-openusd/
- NVIDIA OpenUSD developer hub: https://developer.nvidia.com/openusd
- Doom WAD format (Doom Wiki): https://doomwiki.org/wiki/WAD
- Build Engine MAP format: https://moddingwiki.shikadi.net/wiki/MAP_Format_(Build)
- Quake III BSP entity strings reference: https://www.mralligator.com/q3/
- idTech 4 .map format: https://modwiki.dhewm3.org/MAP_(file_format)
- Bethesda ESM/ESP/ESL formats (UESP): https://en.uesp.net/wiki/Skyrim_Mod:File_Format
- Roblox place file documentation: https://create.roblox.com/docs/projects/files
- Houdini VEX reference: https://www.sidefx.com/docs/houdini/vex/
- GameMaker Drag-and-Drop manual: https://manual.gamemaker.io/lts/en/Drag_And_Drop/Drag_And_Drop.htm
- Construct 3 event sheets: https://www.construct.net/en/make-games/manuals/construct-3/project-primitives/events
- RPG Maker MZ on Steam: https://store.steampowered.com/app/1096900/RPG_Maker_MZ/