What Defold 1.14 Changed for Console Indies - 2026
![]()
If you searched defold 1.14 after 12 October 2026, you do not need another “Xbox is free now” hype paste. You need a map of what the public engine actually changed, who gets the Xbox target, which scripts and CI lines break, and what stays a Lua no-op.
Defold published Defold release 1.14.0 and the forum thread Defold 1.14.0 has been released. Xbox sits behind Microsoft approval plus a Defold middleware access request; the public download does not include an Xbox build target. The same release cuts 32-bit Windows artifacts, makes shared Lua mandatory, introduces generational game-object handles for native code, adds cubemap render targets, defaults Metal on macOS, and ships editor/Material Editor work aimed at everyday console-and-desktop indies.
This page is the what-changed read. It is not the queued Win32 Stop, not the free upgrade-checks listicle, and not an Xbox access lab worksheet. Those own refusal, numbered gates, and fill-in evenings. This URL owns the 1.14.0 change map.
Why this matters now
Console-curious Defold studios heard “Xbox support” and scheduled an upgrade night. The win is real for approved developers — and it is gated. Meanwhile every project that upgrades inherits Win32 removal, mandatory shared Lua, accelerometer default flip, and a native ABI change even if you never touch Xbox.
Direct answer: Read the breaking list before you bump engine / editor on a live branch. Commit first. Test every platform you ship. Treat Xbox as a separate access track, not as proof that 1.14.0 is a one-click console ship.
Who this read is for
| Audience | Use it to… |
|---|---|
| Beginners | Name Xbox vs Win32 vs shared Lua in plain language |
| Developers | Know which breaks hit Lua vs C++ vs CI |
| Creators | Paste a Discord upgrade brief without promising Xbox tomorrow |
| Companies | Diligence — ID@Xbox + Defold access ≠ public download |
Time: 30 minutes to read. Upgrade evening: separate, version-controlled.
Honest limit: defold.com and the forum release notes are authorities. A later hotfix (Xcode / plist) may land after the day-one post — re-check the thread before you freeze a build.
Non-repetition
| URL | Job |
|---|---|
| Defold 1.13.1 lights evening | Prior-version lights lab |
| Defold guide | Platform hub |
| Queued: Stop bundling Win32 after 1.14 | Refusal spine (not this URL) |
| Queued: 12 free 1.14 upgrade checks | Numbered kit (not this URL) |
| This URL | What 1.14.0 changed |
Pair a Discord paste with 25 free game development Discord servers. For Bob/editor networking under corporate TLS pain, keep Roblox package-manager 403 help only as a reminder that proxy certs break toolchains across engines — Defold’s fix path is still Defold docs + your IT team.
The one-paragraph version
On 12 October 2026, Defold 1.14.0 shipped. Headlines: Microsoft Xbox for approved developers (public build has no Xbox target), iPhone Duo readiness work, cubemap render targets, redesigned Material Editor, generational game object handles (up to 1,048,576 objects per collection, native ABI change), editor CPU reductions, better text shaping, Metal default on macOS, shader storage buffers in dmSDK, tab shortcut and .defignore / .defunload wildcards. Breaking: shared Lua always on, 32-bit Windows gone (x86-win32 → x86_64-win32; Bob win32 aliases 64-bit), accelerometer off by default, editor plugin resource-type API changes, native SetRenderTarget cubemap-aware params, iOS links need updated IAC. Lua gameplay code does not migrate for generational handles; native extensions do.
Highlight map (console + everyday)
| Area | What changed | Indie meaning |
|---|---|---|
| Xbox | Supported for approved orgs with Defold Xbox resources | Not in the public download; two approvals |
| iPhone Duo | Lifecycle, links, GUI safe-area / rotation work | Start point for Duo testing |
| Cubemap RTs | Render into cube faces; samplerCube |
Reflections / env capture in custom pipelines |
| Material Editor | Clearer sections + focused forms | Faster day-to-day material edits |
| Handles | Generational; larger collection capacity | Safer native retains; rebuild dmSDK libs |
| Editor CPU | Less work on resize / idle multi-tab | Measured ~34% / ~25% on Defold’s workloads |
| macOS | Metal default | OpenGL/Vulkan still via App Manifest |
| dmSDK | Storage buffers | Native graphics/compute extensions |
Xbox — what “support” actually means
From the 1.14.0 release post:
- Your organization must be approved by Microsoft for Xbox console development.
- Sign in to the Xbox middleware page with an org-linked account, find Defold, request access.
- After Defold verifies status, you get Xbox-specific resources and tool instructions.
- The standard public Defold download does not include an Xbox build target.
Creator Discord line: “1.14 has Xbox” means “the engine family can target Xbox for approved partners,” not “Bundle → Xbox appeared in my editor this morning.”
Company diligence: Budget ID@Xbox (or equivalent) timelines, NDA tooling, and likely kit hardware until Microsoft tells you otherwise. Do not put “Xbox on Defold next sprint” in a partner deck from the public blog alone.
Defold also noted a dedicated Xbox blog for how-to detail — treat that as the access playbook when you qualify; this URL stays the release map.
Breaking changes (read before upgrade)
1. Generational game object handles (native)
Game object and collection handles are generational. Native extensions may retain opaque handles; Defold rejects handles to deleted objects/collections instead of resolving into reused storage. Collections can hold up to 1,048,576 game objects (subject to capacity settings and resources).
Migration: Rebuild prebuilt dmSDK libraries. Stop treating opaque handles as raw pointers; use handle-sized storage. Prefer HGameObject in C++ (HInstance remains a compatibility alias).
Lua: Regular Lua game-object code does not need handle migration for this change.
2. Shared Lua state is mandatory
One Lua state is always shared across .script, .gui_script, and .render_script. The Shared State project setting and debugger warning are removed.
Migration: Only projects that disabled shared state must refactor. Globals and loaded-module caches are now shared across those script types. Projects already on the long-standing default need no action.
Prep (still useful): Enable shared state on 1.13.x, test globals/modules, file issues before you bump if something blocks you.
3. 32-bit Windows removed
No more 32-bit Windows runtime, editor, Bob, native-extension, or dependency artifacts. Windows is x86_64. Bob’s legacy win32 name remains a compatibility alias for x86_64-win32.
Migration: Change build scripts using x86-win32 to x86_64-win32. Do not confuse the Bob alias with “32-bit still ships.”
The dedicated Stop in this cluster owns the refusal tone; this page owns the fact.
4. Accelerometer off by default
Previously on by default; now disabled unless you enable it in game.project.
Migration: Mobile games that read acceleration must flip the setting back on and re-test. Games that never used it need no change.
5. Editor plugin resource-type API
Plugins that register resource types need new reader/loader signatures. See Defold’s extension-simpledata migration example in release notes.
Migration: Only editor-plugin authors. Game Lua unaffected.
6. Native render-target binding API
Old SetRenderTarget(context, target, transient_buffer_types) removed in favor of cubemap-aware RenderTargetBindingParams (transient types + cubemap face).
Migration: Native C++ graphics code. Lua render scripts using ordinary render targets are called out as not requiring this C++ migration — but cubemap Lua APIs are the new surface when you adopt cube targets (render.set_render_target(rt, { face = ... }) pattern in the notes).
7. iOS links / IAC
UIScene lifecycle work means custom-scheme URLs and universal links need an updated IAC extension. Test links that launch the app and links that arrive while running. Requires Defold/Bob 1.14.0+.
Cubemap render targets (feature depth)
You can create a cubemap render target from a render script or as a .render_target resource, then select which of six faces to draw into. Color attaches sample as samplerCube. Faces must be square and equally sized. Initial implementation: no cubemap multisampling.
Indie use: Real-time reflections, environment capture, point-light shadow-style captures — implemented in your render pipeline, not a one-click glass material.
Lab tip: Start from Defold’s cubemap notes/demo; verify face order on your graphics backend after the OpenGL cubemap face-order fixes called out in the release list.
Editor and tooling changes worth the upgrade even without Xbox
| Change | Why indies care |
|---|---|
| Material Editor redesign | Fewer lost settings in a crowded form |
| Lower editor CPU on resize / multi-tab idle | Laptop builds during Discord calls |
| Tab switch/reorder shortcuts | Faster script ↔ collection loops |
Wildcards in .defignore / .defunload |
Monorepo / repeated folder trees |
| Complex script / emoji / bidi text shaping | Localization-heavy UI in editor |
| Metal default on macOS | Matches modern Apple path; override via App Manifest if needed |
| Android R8 can shrink unused resources with Java | Smaller packages when enabled in your flow |
| Storage buffers in dmSDK | Extension authors doing compute/graphics data |
Defold reported about 34% less JavaFX CPU during a resize workload and about 25% less total process CPU on a tested GUI idle multi-tab workload. Treat those as their measured workloads, not a warranty for your project.
Beginner upgrade path (non-Xbox first)
Prerequisites: git (or other VCS), a branch you can throw away, and a list of platforms you actually ship.
- Commit / tag current
1.13.x(or whatever you are on). - Read this map + the official post.
- Grep CI and Bob scripts for
x86-win32. - Confirm
script.shared_state— if disabled, plan a refactor before or as part of the bump. - Note accelerometer usage; plan
game.projectflip if needed. - List native extensions; schedule dmSDK rebuilds.
- Install 1.14.0 editor on a copy branch.
- Build desktop + any mobile targets you ship; run a 20-minute smoke.
- Only then talk Xbox access as a parallel track.
Common mistakes
- Enabling Xbox hopes in the same PR as a blind engine bump.
- Assuming Bob
win32means 32-bit still exists. - Skipping IAC update while testing Duo / iOS links.
- Rebuilding game Lua for generational handles (unnecessary).
- Shipping accelerometer-dependent controls without re-enabling the input.
Working-dev verification table
| Check | Pass if… |
|---|---|
| VCS | Clean tag before bump |
| Win32 scripts | No x86-win32 left (or consciously migrated) |
| Shared Lua | Either already shared, or globals/modules retested |
| Accelerometer | Explicitly enabled if used |
| Native extensions | Rebuilt against 1.14 dmSDK |
| Editor plugins | Resource-type API updated if you ship any |
| Native RT code | New SetRenderTarget params |
| iOS links | IAC updated; cold start + warm link tested |
| macOS | Metal default acceptable or App Manifest set |
| Hotfix notes | Forum thread checked for Xcode/plist follow-ups |
Discord brief (creators)
Defold 1.14.0 (Oct 12): Xbox for approved Microsoft + Defold access only —
not in the public download. Also: Win32 32-bit gone, shared Lua mandatory,
accelerometer default OFF, native generational handles (rebuild extensions).
Upgrade on a branch; test every ship platform before live.
Console portfolio framing
| Platform family | 1.14 angle |
|---|---|
| Xbox | New for approved partners; gated tools |
| PlayStation / Switch | Still part of Defold’s console story — do not assume 1.14 changes their access model; re-read current manuals |
| iOS / Duo | Explicit readiness work this release |
| Desktop / HTML5 / Android | Win32 cut + Metal default + Android shrink options matter more than Xbox for most indies Monday |
“Console indies” in the title means the audience who care about Xbox headlines and the breaks that hit every ship path — not “this article is Xbox-only.”
Failure modes
| Failure | Symptom | Fix |
|---|---|---|
| Xbox expectation | “Where is the Xbox target?” | Read access steps; public build has none |
| Silent Win32 CI | 32-bit job fails or vanishes | Retarget x86_64-win32 |
| Shared Lua surprise | Globals collide across GUI/GO/render | Refactor modules; stop relying on isolation |
| Dead accelerometer | Mobile tilt broken after upgrade | Enable in game.project |
| Stale native libs | Crashes / bad handles after delete | Rebuild dmSDK extensions |
| iOS link miss | Universal links fail on cold start | Update IAC; retest both paths |
| Cubemap MSAA hope | Quality settings ignored | Unsupported in initial cubemap RT |
Hotfix awareness
Forum follow-ups after day one mentioned a 1.14.0 hotfix involving Xcode 27.1 and plist updates — if you use a custom plist, confirm it matches the hotfixed engine. Always re-open the release thread before you call a build final.
Worked upgrade evening (90 minutes, no Xbox)
- Branch
upgrade/defold-1-14from a tagged 1.13.x tip. - Grep the repo for
x86-win32,shared_state, and accelerometer-related input. - Inventory native extensions (folder list + which are prebuilt
.a/.lib). - Install 1.14.0 editor; open the branch; resolve any project-setting removals (shared state UI gone).
- Rebuild extensions against the new dmSDK; fix compile errors from handle sizing or
SetRenderTarget. - Bob bundle desktop (and mobile if you ship it) once.
- Smoke: boot title, one GUI screen, one gameplay loop, one save/load if you have it.
- Mobile-only: toggle accelerometer if needed; test one cold-start deep link on iOS after IAC update.
- Log wall-clock and blockers; do not merge until the verification table is green.
PASS = smoke green + Win32/Lua/accel/native rows checked. FAIL = “editor opens” alone.
Solo vs studio RACI
| Role | Owns on 1.14 week |
|---|---|
| Tech lead | Engine bump PR; native rebuild order |
| Gameplay | Shared Lua global/module audit |
| Build/CI | Target string migration; Bob channel |
| Mobile | Accelerometer + IAC / Duo checks |
| Producer | Xbox access track separate from bump |
| Art | Material Editor familiarity; cubemap experiments optional |
Solo: wear tech lead + gameplay + CI in one evening, but still keep Xbox as a calendar item, not a same-night dependency.
What “ready for iPhone Duo” does not mean
It means Defold invested in lifecycle, links, and GUI safe-area/rotation behavior so Duo is a supported testing starting point on 1.14. It does not mean your game is Duo-certified, that layouts auto-perfect, or that you can skip device testing. Schedule a Duo (or simulator-equivalent) pass after the desktop smoke, not instead of it.
Free vs not free
| Free | Not free / not automatic |
|---|---|
| Public 1.14.0 editor/engine download | Xbox target binaries in that download |
| Cubemap RT API in public engine | A shipped reflection look without render work |
| Metal-default macOS | Zero App Manifest surprises for Vulkan/GL holdouts |
| Larger GO capacity ceiling | Infinite objects without memory cost |
| Reading this map | Skipping the breaking list |
Sibling map (cluster)
| Need | Status |
|---|---|
| Facts (this page) | You are here |
| Win32 refusal | Queued Stop — Stop Bundling Defold Win32 After the 1.14 Cut |
| Numbered upgrade kit | Queued listicle — 12 Free Defold 1.14 Upgrade Checks |
| Xbox / native labs | Parked worksheets in plan when restored |
Opinion spine (quotable)
Stop treating Defold 1.14 as “the Xbox release” alone. For most teams Monday, it is the Win32 cut, the shared Lua lock, and the native handle rebuild — with Xbox as a gated bonus if Microsoft and Defold both say yes.
Key takeaways
- 1.14.0 shipped 12 October 2026.
- Xbox for approved developers; not in the public download.
- Win32 32-bit artifacts removed; use
x86_64-win32. - Bob
win32aliases 64-bit — not a 32-bit lifeline. - Shared Lua is mandatory; separate states are gone.
- Generational handles — rebuild native extensions; Lua GO code OK.
- Up to 1,048,576 game objects per collection (capacity permitting).
- Accelerometer default is now off.
- Cubemap render targets for custom reflection/env pipelines.
- Metal default on macOS; IAC update for iOS links.
- Commit, bump on a branch, test every ship platform.
- Primary keyword: defold 1.14.
FAQ
What is new in Defold 1.14 for console indies?
Xbox support for approved Microsoft developers with Defold access, plus iPhone Duo readiness work, cubemap render targets, and the breaking platform/script changes above. Source: Defold release 1.14.0.
Does the public Defold download include Xbox?
No. You need Microsoft Xbox developer approval, then a Defold Xbox middleware access request. The public build has no Xbox target.
Do I need to change my Lua game object code for generational handles?
No. That migration is for native C++ / prebuilt dmSDK libraries. Lua gameplay code is not the handle ABI customer.
What happened to 32-bit Windows?
Removed. Retarget scripts from x86-win32 to x86_64-win32. Bob’s win32 name aliases the 64-bit target.
Why did my tilt controls break after upgrading?
Accelerometer input is disabled by default in 1.14. Enable it in game.project if you use it.
Is shared Lua new?
Sharing has been the default for a long time. What is new is that disabling it is no longer possible.
Where are the full notes?
defold.com/2026/10/12/Defold-1-14-0/ and forum release thread.
Where to leave it
Tag your pre-1.14 build. Upgrade on a branch. Clear Win32, shared Lua, accelerometer, native rebuilds, and iOS IAC before you celebrate Xbox. Use the Defold guide for ongoing engine orientation. When the Win32 Stop and upgrade-checks listicle ship, pair them with this map — facts here, refusal and checklist there. Paste the Discord brief if your team only reads one message. Re-check the forum thread for hotfixes the morning you merge.