Custom Editor Build Workflow - Coming from Unreal Engine

Hi everyone,

I’m coming from Unreal Engine and trying to understand the typical workflow / project structure for making changes to the Defold editor/engine itself while developing a game.

In Unreal Engine, when we need to modify the editor or core engine functionality, we build the engine from source and maintain our own version. The typical structure looks like:

root/
  ├── Engine/      (UE source, with our modifications)
  └── MyGame/      (game project using our modified engine)

I see that Defold’s editor and engine source is available on GitHub. What I’m trying to understand is:

  1. Is building the editor from source a common thing to do in the Defold community? Or do most people stick with the distributed editor + .editor_script extensions?

  2. For those who ARE building the editor from source and working on games: How are you structuring your development environment? I’d love to hear about your folder organization and workflow.

  3. What’s your typical workflow for:

    • Building and iterating on editor changes

    • Using your modified editor with your game projects

    • Version controlling both editor changes and game projects - Do you keep everything under the same repository? Do you keep things in different repositories?

Any insights would be greatly appreciated!

Thanks!

1 Like

This is not a common thing. Most developers never build the engine or the editor.

If you need to extend the engine functionality you typically do it through native extensions.

If you need to extend the editor then editor scripts is usually your best bet. But it is also limited in terms of what you can do. We are actively working on expanding the editor script capabilities based on user feedback. Did you already have specific changes in mind?

I would expect developers to maintain a separate fork or copy with their changes, build the engine, tools and editor from the modified source. To further complicate things you also have the native extensions mentioned above. If you plan to use native extensions and maintain a custom version of the engine then you’ll also need to run your own build server (local or online) so that your build server can link your custom engine with native extension code.

Since none of this is frequently done by Defold users there’s bound to be a lot of rough edges and I would caution you to not go down this road unless you really really have to.

3 Likes

Thanks - that’s a great answer and makes a lot of sense!

I can definitely start as a regular user and see how much I can extend when needed and only go to source code change if really needed.

I was mostly thinking about integrating Defold with an AI CLI agent - like claude-cli or gemini-cli - for me to be able to approve / deny things directly from Defold

1 Like

Yeah, you don’t really need a super tight integration in the editor for that. There’s several recent discussions about using AI assisted development here on the forum.

1 Like