FuncGodot Map Node

A scene generator node that parses a Quake map file using a FuncGodotFGDFile. Uses a FuncGodotMapSettings resource to define map build settings.

To use this node, select an instance of the node in the Godot editor and select Quick Build, Full Build, or Unwrap UV2 from the toolbar. Alternatively, call manual_build() from code.


Signals

Signal Description
build_complete Emitted when the build process succesfully completes.
build_progress(step, progress) Emitted when the build process finishes a step. Progress is a value between 0.0 and 1.0.
build_failed Emitted when the build process fails.
unwrap_uv2_complete Emitted when the UV2 unwrapping is completed.

Properties

Property Type Description
Map
Local Map File String, Local File Local path to Quake map file to build a scene from.
Global Map File String, Global File Global path to Quake map file to build a scene from. Overrides Local Map File.
Map Settings FuncGodotFGDMapSettings Map settings resource that defines map build scale, textures location, and more.
Build
Print Profiling Data Bool If true, print profiling data before and after each build step.
Block Until Complete Bool If true, stop the whole editor until build is complete.
Set Owner Batch Size Int How many nodes to set the owner of, or add children of, at once. Higher values may lead to quicker build times, but a less responsive editor.


FuncGodotMapSettings

Reusable map settings configuration for FuncGodotMap nodes.


Property Type Description
Inverse Scale Factor Float Ratio between map editor units and Godot units. FuncGodot will divide brush coordinates by this number when building. This does not affect entity properties unless scripted to do so.
See Inverse Scale Factor for more information.
Entity Fgd FuncGodotFGDFile Resource file that translates map file classnames into Godot nodes and packed scenes.
Textures
Base Texture Dir String Base directory for textures. When building materials, FuncGodot will search this directory for texture files with matching names to the textures assigned to map brush faces.
Texture File Extensions Array File extensions to search for texture data.
Clip Texture String Optional path for the clip texture, relative to Base Texture Dir. Brush faces textured with the clip texture will have those faces removed from the generated MeshInstance3D but not the generated CollisionShape3D.
Skip Texture String Optional path for the skip texture, relative to Base Texture Dir. Brush faces textured with the skip texture will have those faces removed from the generated MeshInstance3D. If the FuncGodotFGDSolidClass collision_shape_type is set to concave then it will also remove collision from those faces in the generated CollisionShape3D.
Texture Wads Array[Resource] Optional QuakeWADFile resources to apply textures from. See the Quake Wiki for more information on Quake Texture WADs.
Materials
Material File Extension String File extension to search for Material definitions.
Unshaded Bool If true, all materials will be unshaded, ignoring light. Also known as "fullbright".
Default Material Material Material used as a template when generating missing materials.
Default Material Albedo Uniform String Sampler2D uniform that supplies the Albedo in a custom shader when Default Material is a ShaderMaterial.
Normal Map Pattern String Automatic PBR material generation normal map pattern.
Metallic Map Pattern String Automatic PBR material generation metallic map pattern.
Roughness Map Pattern String Automatic PBR material generation roughness map pattern.
Emission Map Pattern String Automatic PBR material generation emission map pattern.
Ao Map Pattern String Automatic PBR material generation ambient occlusion map pattern.
Height Map Pattern String Automatic PBR material generation height map pattern.
Save Generated Materials Bool Save automatically generated materials to disk, allowing reuse across FuncGodotMap nodes.
NOTE: Materials do not use the Default Material settings after saving.
UV Unwrap
Uv Unwrap Texel Size Float Texel size for UV2 unwrapping. A texel size of 1 will lead to a 1:1 correspondence between texture texels and lightmap texels. Larger values will produce less detailed lightmaps. To conserve memory and filesize, use the largest value that still looks good.
TrenchBroom
Use Trenchbroom Groups Hierarchy Bool If true, will organize Scene Tree using Trenchbroom Layers and Groups. Layers and Groups will be generated as Node3Ds. All structural brushes will be moved out of the Layers and Groups and merged into the Worldspawn entity. Additionally, any Layers toggled to be omitted from export in TrenchBroom will be freed on map build before the Layers' children can apply func_godot_properties or call _func_godot_apply_properties() and _func_godot_build_complete().