Defold 1.12.0 BETA

Yes I can totally understand that. Could it be ok to just add an optional parameter “is_last_call” to the function or set it in action.is_last_call, so the change is kind of minor? This way we could just test if action.is_last_call then … at the end of input function.. so we gather states in each call and at the last call we use state to do the actual work..
V1.12.1 :grimacing:?

An ”is_last_call” is not likely to happen as you can simply handle input first in the update function.

Richtext spaces no longer rendering it seems :thinking:

1.11.2:

1.12.0:

Pinging @britzl as it’s potentially Richtext related!

3 Likes

Please create an issue!

1 Like

I created one in the Richtext repo ([Defold 1.12.0] Richtext no longer rendering spaces · Issue #97 · britzl/defold-richtext · GitHub), but please let me know if you meant I should do it in the Defold issues instead/as well.

1 Like

We’ve now finally pushed the latest update to beta (it should be available in an hour or so)
I’ve updated the release notes for the Lua update order to reflect the changes.

Please give it another go and let us know how it works out!

9 Likes

The documentation will also be updated soon and old diagrams will be replaced with new ones :wink:

8 Likes

I know this is the longest beta we’ve ever had, but it includes many significant changes we want to ship.
We would really appreciate it if you could test it on your projects and make sure everything works as expected.
Thank you!

8 Likes

I’ve been really looking forward to this update, but if only it had come a bit earlier (just one week) - I’m currently on vacation and don’t have the free time and technical means to test all our projects that use fixed_update logic. So, I believe in the deep experience of the Defold team and our supportive community! :handshake:

However, I checked a small project, and everything seems okay, i.e. game objects “tied” to physics running on a fixed timestep will now need to be moved in late_update. Everything seems logical (though personally, instead of such complex PRs and changes, I would have simply swapped update and fixed_update, leaving everything else untouched - i.e., not introducing PreUpdate, which now runs the script’s update, and which, in my opinion, will likely cause confusion later…).

Just one question: I quickly looked into the PR, and it seems that the PreUpdate cycle will be unavailable for third-party components, meaning it’s a private API - why is that? So, it won’t be possible to create a component that does something before the script’s update.

P.S. If anyone is using the object interpolation component, I’ll update it to match the reworked game loop in early January.

6 Likes

Wold be very nice to read a blog post about the rationale behind those big changes.

1 Like

Thanks for the quick test at least.
We haven’t yet decided if the beta will go on over the holidays, or not.

The word “simply” doing a lot of heavy lifting here :wink:
We had long meetings about this and this was the approach that fixed the issue while also maintained the current feature set.

it seems that the PreUpdate cycle will be unavailable for third-party components, meaning it’s a private API - why is that?

Mainly, because it’s an internal detail so that we could implement the feature, and also maintaining the previous feature set.
Keeping it private helps to keep explanations simple, as most users don’t have to worry about that implementation detail. And we don’t really foresee any users needing access to the PreUpdate function to be honest. And if there will be requests in the future, we can have discussions around it then, but for now, we’d like to keep it internal.

We will however add the LateUpdate function to the dmsdk, we just didn’t decide on the proper name in time.

4 Likes

Thanks for the push - have been bad at this lately :sweat_smile:

Just did a big 30 minute run in my game and everything works fine :100:

6 Likes

Something happens with the fonts, when rendering GuiNodeText or Label Text they are not displayed… :face_with_monocle:

Font:

Render:

Console:

Captura desde 2025-12-20 11-48-48

Defold main version:

:face_with_raised_eyebrow:

1 Like

Hi!
Do you have a test project you can share with us?
I’d like to take a look at it tomorrow.

Of course, the following file has the same structure: camera, guinode, text label, and was created with the same version from an empty template… :face_with_monocle:

Empty Project.zip (4.5 KB)

1 Like

hello!
I’m not sure how much of this is intentional, but i find that the update order of the transforms is still not suitable for simulations where the force that one would want to apply to an object depends on the current position/velocity of the object, because the change of “apply_force” is only reflected in late_update. Consider the example of a spring mass system, the force that the spring exerts on the object depends on the current position of the object. Same thing with gravity/magnetism between two objects. This is a problem if fixed_update is ran more than once in a frame:
If i set the fixed update frequency to 120, and lock the rendering to 60 fps, fixed update will be called twice at the beginning of the frame. In the second call, go.get_position() would not return a result that would reflect the effects of an “apply_force“ from the first call, so the force that I would calculate based on current position would be incorrect.

2 Likes

Got the same issue. I only have the profiler(no gui, no other text/font usage).

ERROR:RENDER: Unknown glyph compression: 3 for glyph (P / 49) in font /builtins/fonts/debug/always_on_top.fontc

No font no profiler :slight_smile:

Build time2025-12-20T13:51:31.891120
Defold channelalpha
Defold editor shafaa0d003e0d432502ad1633c34452ddba065c7b8
Defold engine shafaa0d003e0d432502ad1633c34452ddba065c7b8
Defold version1.12.1
GPUApple M2 Pro
GPU Driver2.1 Metal - 89.4
Java version25+36-LTS
OS archaarch64
OS nameMac OS X
OS version15.7.2
2 Likes

I can’t reproduce it in 1.12.0 Beta
But now I also noticed neither of you are using Defold 1.12.0 Beta, but the 1.12.1 alpha. :wink:

But, I’ll check it out ofc.
Edit: I’ve pushed a fix to the dev branch, and you should have a new build in an hour.

1 Like

Oops, I keep doing this over and over, sorry. I forgot that I’m on the alpha branch.

2 Likes

It’s work, Thank you! :+1:

Defold Engine 1.12.1 (33ef424).

We make sure everything works properly in future releases! :sweat_smile:

3 Likes