Defold Source Code Community Ideas

Post ideas here that someone in the community may now be inspired to tackle. They can be things you want to do or you hope someone else will investigate and improve. There are many skilled and motivated people out there but they may not know what to work on or what is wanted.

I’ll start: Figure out how the editor CSS is generated, and make it possible to load custom theme CSS for the editor, or at the very least make it easier to theme and include more themes with the editor.


From Github Issues (I guess we should move the engine related issues to engine’s github)

  • Including only selected chars into the font sheet #2760 [Engine]
  • Sprite masking/clipping #2173 [Engine]
  • Programmatically generating tilemaps (DEF-3430) #1837 [Engine] . I’m sorry but build-in tilemap editor sucks, we need this.
  • Manual grid size and Snapping are not working #1477 [Editor]. I don’t undrestand how people work without it :slight_smile:
  • Sprite textures with locale coordinate(for shader) . [Engine]
  • Better build-in desktop support(Full screen, resolution change, native cursor, window title etc…) [Engine]

Edit: I’m planning to begin to develop one of them as soon as I have time. But I don’t have much time to investigate the editor and engine source these days. Shitty freelance works took a lot of time :frowning:


a tool for automatically creating animations! (if someone else builds it, i don’t have to…)


This is a great initiative!

BTW, We had plans to label some issues as “good-for-beginners” to help new developers get familiar with the code while still being productive, but unfortunately we haven’t had time to do it yet. I’ll try to make this happen soon.


I suppose it depends on the goals of the community but i’d definitely say that beginners need more help. It can be difficult when there’s a difference between their learning goals (“I want to make a game similar to Legend of Zelda”) and their level (“how do you make the man walk?”) but it’s something that would definitely help a lot of people.


My wishlist of features would be:

  • support of newly announced Epic online free services
  • export to consoles PS4, PS Vita, Xbox, Switch
  • ARM bundle for Linux (being really wishful here :sweat_smile: )

A lot of indies could use that additional revenue from consoles.
Easier implementation of online services would inspire more ambitious projects.
Exports for Raspberry Pi4 (arm SBCs) would be great for hobbyist /school projects / teaching game dev.


I think this is super important now and if the focus can be put on making those features as soon as posible it would be great! We have so many new people here, that will eventually spot those problems and could be disaffected at start. I would even think about making a prioritized list of features, based on users votes (but apparently voting on Github isn’t so comfortable nor useful, so I would search for alternative solution maybe?)

consoles can be very good for developers. The mobile market is ad based, but if you can get a game on Switch it’s more like the old-fashioned business model of people paying for things and then owning them (frankly I think nintendo should go OpenSource under the apache 2.0 license but whatever).

The other thing I would say about the new users is that they aren’t necessarily going to check API documentation or the manuals even when that information is clearly available, so it’s important to keep in mind that there will always be questions which have answers available simply and quickly. It’s a question of getting users used to checking API documentation so they can help themselves (… what I mean to say is that even if you have many new users posts simple questions on the forum, it doesn’t mean defold isn’t easy to learn, it just means the help that people need involves a little bit of time on the forum if that makes sense)


Here are some things that I think could benefit a lot of people.

  • Support multi-line dependencies #384
  • Hotkey editor (MVP could be read from a textfile) #492

We should also encourage people voting (:+1:) on tickets they want to see implemented or fixed, that way people can easier see what the community want.


Support to other consoles is good especially because the market there is not so vast and devastated as on PC and mobile. Being able to publish on consoles gives a lot of opportunities for Defold users and will attract a lot of people for sure! That’s what I’m hoping the most after going open :wink:

My most vexing issues: (I also started voting with [:+1:] )

Issue: Undo/Redo actions are shared between the open tabs
Issue: GUI templates does not respect layouts.
Issue: Shift + Click + Drag from Tile Map Palette
Issue: Tools in the tilemap editor
Issue: Automatic name of new created collection( not “default”)
Issue: Option to drag images into atlas
Issue: No autocomplete for self properties
Issue: [SUGGESTION] Alt+left/right arrow in Editor to go through cursor positions history.
Issue: [SUGGESTION] Allow to control width of names and fields columns in Properties pane

It could help really with prioritizing, nevertheless I think rather than pointing out issues to solve, we could perhaps gather by there and think what we could start contributing to, as @Pkeod originally wanted? And the example you provided could actually solve one of the current most voted up issue #1448 Light theme

We should definitely diverge between editor issues and engine issues - for me it’s easier to understand editor issues, however I’m not familiar with Clojure/Java enough, so that’s what holding me :confused:


Ooh, unless I’ve missed an update:

An option for “Un-linking” a prefab GO from the saved GO file when adding it to a scene manually. As it stands the last time I checked, if you add multiples of the same saved GO object to a scene and then change certain parameters on one of them (such as deleting the collision object, changing the sprite, etc) it affects all of them. It would be nice to have an option (maybe a pop-up when you add it “do you want this to be editable or always update to the saved GO?”) to use GOs as a sort of higher level prefab.

This is probably already possible with “collections” vs “GOs”, but my 2nd request would be to get rid of collections-as-prefabs/collection factories and just stick with regular GO factories, and allow saved GOs to have child GOs the same as they can in the collection/scene. I realize that behind the scenes this likely would just be a “collection,” but I think the whole idea of Collection Factories, Collection Proxies, using a Collection File to create something that in a scene Collection you can make by stacking GOs…is a confusing thing, especially for beginners, which makes the idea/definition/usage of Collections pretty blurry. IMHO Collections should be for Proxies (new levels, new physics worlds, etc) and prefabs should be able to be built as multi-level GO files and added to Collections as pre-built GO hierarchies.

1 Like

My wish list would be rather long here, but here are some things I would like to see in Defold:


  • Selecting multiple tiles from the tilemap editor.
  • Drag and drop for game objects in collections. It would be very useful for making large levels where tilemaps can’t be involved.
  • Nesting of GOs in the prototype GO, just as @ryanscottlandry mentioned (I think this should also be under the editor section).
  • Editing joints within the editor.
  • Auto tiling, and it’s already in the road map this year :slight_smile:
  • And as @selimanac mentions, Snap to grid. Life is so hard without it.

Engine :

  • Better support for dynamic physics.
  • Creating/configuring collision objects at runtime.

Uh… That’s all for now. I am currently trying to go through the engine code for some time, but it will be quite a while before I finally begin to understand it :wink:


Yes, please start adding your votes. We will encourage this!


Something like this would be a good (and, I think, simple) addition:

local x, y, z = go.get_position_ext()
go.set_position_ext(x, y, z)

This functions are self-contained, they don’t violate backward compatibility and, most importantly, don’t generate garbage.
And they are easy to implement!