Elias Godot Plugin - Quickstart
Learn to quickly set up and use the Elias Godot Plugin
Download and install plugin and sample
1: Download Elias Studio
- Make sure to have Elias Studio installed. How to Install Elias
- You can find the plugin via the Open extras folder in Elias Studio. File > Open extras folder.
- Go to Integrations > Godot Plugin and you will find the location of the compressed plugin archive.
2: Install Plugin
- Unzip elias-godot-plugin-4.x.x.zip into your Godot project root.
- Confirm plugin files appear under res://addons/elias_godot_plugin
- Enable the plugin in Godot. Go to Project menu > Project settings.
- Inside the Project Settings window, go to Plugins tab and enable the installed Elias Godot Plugin.
3: Install Demo project
-
OPTIONAL At the moment, the godot demo project is not included in the plugin zip, but you can request a download link here.
Godot Setup: Quick start
- Create an Elias Asset Context resource in your project.
- Set its Elias project path ( .elias ) in the inspector.
- Add an EliasSession3D node to your scene.
- Use Initialize in the session inspector to copy project audio settings.
- Add an EliasListener3D node (usually on the camera).
- Add one or more EliasSoundInstance3D nodes and choose respective Patch or PatchConfig
assets. - Enter Play Mode and verify audio playback.
Godot Setup: Detailed instructions
1: Godot setup
- Create an Elias Asset Context resource in your project.
- In the FileSystem dock, create a new resource and select EliasAssetContext.
- Place it at the project root for a simple setup (for example: res://elias_context.tres).
- Open the resource and set project_path to your .elias project file.
- Click refresh in the inspector after changes to load latest models and parameters.
- Add an EliasSession3D node to your scene.
- Required for Elias playback.
- Holds runtime audio settings: sample rate, buffer size, channel count, instance limit
- Use Initialize in the inspector to copy project defaults.
- If you use multiple sessions, explicitly assign session on listener/sound/zone
nodes.
- Add an EliasListener3D node.
- Usually placed on the main camera.
- Represents listener transform for spatialization.
- If no explicit session is assigned, it falls back to a session found in the scene.
- Add an EliasSoundInstance3D nodes.
- Add a sound instance to all objects that should create a sound.
- The Sound Instance selects and plays a Patch or Patch-config.
- Runtime behavior is controlled mainly through parameters.
- If no explicit session is assigned, it falls back to a session found in the scene.
- Use Refresh if parameters or enums are changed in Elias Studio.
- Add one or more EliasZoneInstance3D OPTIONAL
- Uses a Zone asset from Elias.
- Defines zone geometry/volume in the scene.
- If no explicit session is assigned, it falls back to a session found in the scene.
- Zone editing supports:
- dragging handles to move vertices
- Shift + drag top handles to adjust zone height
- Cmd/Ctrl + click for edge/vertex editing actions
-
Test audio playback
- Enter Play Mode and verify audio playback.
- You can have you Elias Project open in Elias Studio at the same time, and test changes in real time.
2. Behaviour setup - Parameters
- Runtime behaviour is controlled mainly through parameters.
- You can create Global- or Patch-parameters in Elias Studio, and then use them for logic and events in Patches
- Supported parameter: Pulse, Boolean, Integer, Float, Enum
- In godot: Parameter and enum names added in Godot Engine must match Elias Studio definitions exactly.
- In godot: Global parameters are set on EliasSession3D
- In godot: Patch parameters are set on EliasSoundInstance3D
-
GDScript example:
gdscript extends Node3D @onready var session: EliasSession3D = $Audio/EliasSession @onready var footsteps: EliasSoundInstance3D = $Audio/Footsteps func on_jump() -> void: footsteps.send_pulse("jump") func set_swimming(value: bool) -> void: footsteps.set_boolean_parameter_value("swimming", value) func set_health(value: int) -> void: footsteps.set_int_parameter_value("health", value) func set_speed(value: float) -> void: footsteps.set_float_parameter_value("speed", value) func set_surface(material_name: String) -> void: footsteps.set_enum_parameter_value("Material", material_name) func set_music_intensity(value: float) -> void: session.set_float_parameter_value("MusicIntensity", value)
3. Workflow between Godot and Elias Studio
While working in Godot Editor:
- Open Elias Studio.
- Open the project associated with your Godot context.
- Enter Play Mode in Godot.
- Edit audio content in Elias Studio and hear updates live.
4. Exporting
- When exporting your Godot game, Elias runtime models are exported under: res://elias/assets
- Export content follows the selected export preset behavior.
-
IMPORTANT
If your preset exports selected scenes/resources, include all scenes/resources that reference Elias nodes/assets.
Missing referenced scenes/resources can cause missing audio in exported builds.
Troubleshooting
1. Version Compatibility:
- Ensure that your organization is using a single version of Elias for your project.
- The version of Elias Studio and the Plugin should come from the same installation on your local machine, and everyone in the team should use the same installer file to avoid version mismatch issues.
2: Platform Compatibility:
- Windows (x64 only)
- macOS (arm64 and x64)
- iOS (arm64 with simulator support for both arm64 and x64)
- Android (arm64, armv7, and x64)
3. Troubleshooting
- No audio in Play Mode
- Ensure an active EliasSession3D and EliasListener3D exist.
- Node is invalid
- Verify associated EliasAssetContext and selected .elias project.
- Re-select Patch/Config/Zone assets after project changes.
- Works in editor but not in exported build
- Verify export preset includes Elias-referencing scenes/resources.
- Unexpected behavior in team workflows
- Ensure all team members use the same Elias Studio + plugin version.