Codea Roadmap - Current Version 3.4.6

Codea 3.4.6

STATUS: Approved December 2021

  • Fixed screen recording in the viewer
  • Improved editor code saving
  • Improved closing the viewer when Lua code is unresponsive
  • Improved jump to next symbol key behaviour around comments

Codea 3.4.5

STATUS: Approved December 2021

  • Autocomplete now shows up for dependent projects, and works better with symbols from other tabs
  • Fixes a crash in pastboard.copy(image) (thanks @jfperusse!)
  • Re-jigged order of frame and fixed updates
  • Fixes a bug where the current project could show as a selectable dependency when closing and re-opening Codea
  • Linked scene fixed update loop to physics simulation
  • Fixed bug where Cmd+Right Arrow would not jump to end of line if autocomplete bar was visible and caret placement style was set to ‘exact’ in editor preferences
  • Added deltaTime parameter to update(dt) entity callback
  • Added fixedUpdate(dt) entity callback
  • Fixes a bug where running and closing a project caused a memory leak if the project had dependencies
  • Changed how rigidbody awake property sets/gets
  • applyForce/applyTorque family of methods now wake up sleeping rigidbodies

Codea 3.4.4

STATUS: Approved October 2021

  • When using the undo button, autocomplete will not re-show
  • Show function argument help earlier when typing (after opening parenthesis, rather than on first argument value)
  • Updates the code editor so the status bar is always visible
  • Should make the multitasking button on iPadOS 15 easier to avoid!

Codea 3.4.3

STATUS: Approved September 2021

Here’s some new stuff for you while we work on the next big version of Codea!

You can now:

  • Create subfolders inside your project asset folders, just hit the “+” button in your project asset
  • View assets right from the code editor. Select Do > Assets
  • On iPhone you get an undo button right above the keyboard, you’re welcome


  • Big changes to the way your projects read and save, this should make things more reliable
  • Asset UI now supports light and dark modes
  • Project sorting wasn’t sticking. It sticks now
  • Improved memory use
  • Little UI tweaks here and there

Codea 3.4.2

STATUS: Approved July 2021

  • Fixes an issue with asset pickers

Codea 3.4.1

STATUS: Approved July 2021

  • Fixes a crash in Shader Lab

Codea 3.4

STATUS: Approved July 2021

  • Brand new project browser design
  • You can drag-and-drop projects between collections
  • New “Jump to Next Symbol” key. The software tab key will contextually turn into this symbol which allows you to quickly navigate to the next symbol, and quickly jump over operators and syntax
  • You can now dismiss autocomplete by hitting escape or backtick (`) on your hardware keyboard
  • Fixed: line numbers over 999 are no longer truncated
  • Improved: Codea’s launch time should be slightly faster

Codea 3.3.3

STATUS: Approved June 2021

  • saveProjectTab and readProjectTab should interact much better with the project currently being edited
  • readProjectTab will ensure the editing changes are saved before use
  • saveProjectTab should ensure the open project updates to reflect its state
  • Same goes for readText/saveText functions

Codea 3.3.2

STATUS: Approved May 2021

  • Adds extra spacing around color annotation marks in the editor
  • Re-indenting now preserves the editor caret position
  • Pasting when ‘Format Code on Paste’ no longer shifts the caret to the end of the line
  • Improved autocomplete results when nested members are partially completed
  • ‘else’ and ‘elseif’ will indent after being typed
  • Fixes a bug that could cause a wrapped line to disappear
  • Update documentation for Craft getMaterial and other methods
  • Update documentation for smooth/noSmooth

Codea 3.3.1

STATUS: Approved April 2021


  • Find button / Cmd+F focuses the find field
  • Console output shows an approximate (+) indicator


  • Improves stability of code editor
  • Fixes context menu when used on projects on main screen while filter is active
  • Disable smart quotes and dashes on find/replace fields
  • Scope formatting now correctly accounts for multi-line strings and comments containing scope-defining keywords

Codea 3.3

STATUS: Approved April 2021

tldr: Autocomplete is completely re-written, there’s a brand new editor settings panel, all new line wrapping, and tons of bug fixes


  • The old autocomplete bar is gone, welcome the new autocomplete bar
  • Color coded, sorted, keyboard accessible and respects editor font size
  • Long press any underlined items in the autocomplete bar to get instant help
  • When used with asset keys (asset.*) you’ll see icons indicating file types
  • Long press any asset in the list to get an instant preview of the asset


  • The editor now indents wrapped lines, instead of leaving them hanging at the left margin
  • Wrapped lines display a wrapped line indicator on the left
  • Access advanced editor settings by selecting Do → Preferences when editing code
  • Exact caret placement puts the cursor exactly where you tap
  • Disable line wrapping entirely
  • Change font size, theme, tab width and more while editing
  • Search for dependencies in the dependency pane


  • Xcode export automatically picks up assets specified with asset keys
  • Lots of bug fixes and updates to the export process
  • You’ll now need to run the “Download Frameworks” target first in your exported project before building


  • Fixed various scrolling bugs in the editor
  • Lots of additional dark mode UI support
  • Editor better maintains your scroll position
  • Paste on last line places cursor one character short of end
  • Placing cursor near top of keyboard is jumpy

Codea 3.2.12

STATUS: Approved March 2021

  • Fix for occasional crashing issue
  • Updates Brick Out for Lua 5.4
  • Remove deprecated table.maxn function

Codea 3.2.11

STATUS: Approved March 2021


  • Updates all example projects for Lua 5.4

Codea 3.2.10

STATUS: Approved March 2021

New Features

  • Updates to Lua 5.4. Up to 70% faster in some cases!
  • New const and close local variable types


  • Editor gutter better resizes with code editor font size
  • More advanced editor configuration options available from the “Editor Configuration” panel in the sidebar


  • parameter.integer sometimes would not trigger its callback
  • Improved text editing experience
  • Fixes an Air Code crash bug


  • Xcode export project updated

Codea 3.2.9

STATUS: Approved January 2021

New Features

  • pinch gesture callback for pinch gestures on trackpads
  • Gesture type adds pinchScale and pinchVelocity
  • New viewer.share() function to share image or text content


  • Integer division (//) support for vec types
  • alert has been renamed viewer.alert

Bug fixes

  • Tab names containing accents or special characters should work properly
  • saveImage respects the image.premultiplied flag
  • image:copy copies the premultiplied flag setting

Codea 3.2.8

STATUS: Approved December 2020

  • Fixes bug in image:copy / get / set API

Codea 3.2.7

STATUS: Approved December 2020

  • Usability improvements when running as an iOS app on Mac

Codea 3.2.6

STATUS: Approved September 2020

  • New viewer API, see the documentation in the Display chapter
  • Calls like displayMode, backingMode are deprecated. Use viewer.mode now
  • You can now set your preferred frame rate with viewer.preferredFPS
  • You can now capture the contents of your scene with viewer.snapshot()
  • Resizing the editor window will maintain your scroll position
  • Fixed some bugs! BUGS!

Codea 3.2.5

STATUS: Approved September 2020

  • Case sensitive code search: tap the little “Aa” button in the search bar
  • Pasting code automatically indents it. Isn’t that nice?
  • The line gutter width now follows your dynamic type size
  • Fixed some bugs
  • Updated some example projects to remove deprecated APIs

Codea 3.2.4

STATUS: Approved June 29, 2020

  • readImage sometimes incorrectly displays wrong sprite
  • Fixes negative dimension bug for vector sprites
  • Fixes long-standing bug with project browser background images
  • Fixes long-standing bug which could cause a crash in the code editor
  • Internal improvements to copy/paste

Codea 3.2.3

STATUS: Approved June 10, 2020

  • Shader Lab once again re-evaluates shader on edit
  • Drag-drop into code uses new asset syntax
  • Asset files in the pickers are now listed in alphabetical order (not sure how this bug existed for so long!)

Codea 3.2.2

STATUS: Approved May 7, 2020

Here comes a big change to undo! It now happens per-tab, and flipping between tabs will allow you to undo and redo changes specific to those tabs

Global changes like deleting and inserting tabs can still be undone until you make any further code edits

Other fixes include:

  • Autoscrolling continuing after lifting your finger
  • Added missing worldRotation property to Craft entities
  • Fixes “Replace All” crash
  • Crash after opening project from if it was already open
  • Craft’s material.preset works with asset keys
  • Highlight list/Local/Global/ProjectData calls correctly

Codea 3.2.1

STATUS: Approved April 28, 2020

  • Select All now shows editing menu
  • Dragging and tapping on gutter now shows editing menu
  • Long press on tab name adds “Copy” option to copy tab contents to clipboard
  • Fixes janky scrolling when hiding keyboard through tab context menu interaction
  • Updated documentation with information about gestures and events
  • scroll and hover events now accept a gesture parameter
  • See gesture in the “Touch & Gestures” chapter of the docs
  • Craft Cameras and Touches examples updated to handle hover and scroll
  • OrbitViewer can be rotated with trackpad scrolling
  • Fixed text field for new text document having the wrong text colour in dark mode
  • Fixed inability to tap editor screen after using floating cursor from software keyboard

Codea 3.2

STATUS: Approved April 26, 2020

Codea’s code editor has been re-written to take advantage of iOS pointer support

It’s now compatible with your trackpad or mouse

Codea 3.1

STATUS: Approved March 20, 2020

New Features

  • Asset keys. See below!
  • Fancy new color picker
  • Significantly enhanced autocomplete
  • Printing the same message twice now aggregates in the output pane
  • Image format support for floating point textures and more


  • Improved Codea sound interop with other apps playing music or sounds
  • Fixes crash when assigning large (> 100) arrays to shader uniforms
  • Generative sound() effects getting increasingly laggy after multiple playbacks
  • Argument help understands nested expressions and only shows help based on cursor location, e.g., parameter.color(“Name”, color(255, 255, 0)) will show help related to the deepest expression at the cursor location
  • Updates World Generator example to use new image formats for higher precision textures
  • Scrolling when typing near the bottom of the page
  • Bugs with the code editor in landscape on iPhone
  • Tapping at the top row of input keys could occasionally drop the cursor further down the page. No more!
  • DeltaTime calculation was sometimes incorrect and could cause frame hiccups, this is fixed

Asset Strings are Deprecated

  • You’ll get a warning when using strings like “Documents:MySprite”
  • assetList is deprecated
  • What’s the alternative? Asset keys

Codea 3.0.1

STATUS: Approved January 6, 2020


  • Rename projects: long press on projects to rename them
  • Make Templates: long press on a project to turn it into a template, where it will be available to use from >the Create New Project screen
  • Xcode export updated to support Swift 5.1, Xcode 11 and the latest Codea runtime


  • Adds blendEquation function for more control over blend modes


  • Adds support for HDR textures and cubemaps
  • Updates behaviour to be more consistent and useable
  • Added entity.activeInHierarchy


  • Fixes a camera authorization bug

Codea 3.0

STATUS: Approved September 19, 2019

Codea runs on your iPhone too

We’ve spent the last year taking every piece of Codea and making it work beautifully in the palm of your hand

There’s a brand new code editor that scales with your screen. All example projects have been touched up for iPhone. Everything from the Shader Lab to the color picker has had a makeover

Oh, we’ve also added support for the latest features in iOS:

  • Automatic setting for your editor theme to follow the system theme
  • Support for context menus and card style UI

(And there’s a new icon)

Codea 2.8.1

STATUS: Approved August 2019

• Updates LPeg to latest version
• Updated Lua parser
• Preview settings in sidebar

Codea 2.8

STATUS: Submitted June 17 2019

• Redesigned Shader Lab, works better in compact environments
• Allows dependent projects to use their own project-level assets
• cameraSource() returns whether the camera is accessible

• Fixed find and replace bugs
• Improvements for compact environments
• Fixes a bug when exporting Xcode projects for projects with spaces in their name
• Fixes loading obj files which used a texture with the same name
• Fixes a crash when using spriteSize(CAMERA) when camera permission was denied

Codea 2.7.6

STATUS: Approved May 11 2019

• Apple Pencil API support, see the new fields on the touch type in the docs
• See the new example “Pencil Case” to demo them
• Xcode export now supports all types of Codea projects, including ones using the Craft API

• Old touch APIs are renamed, see the docs for details but in general: expect vector types where you had scalars before. E.g., touch.x and touch.y are now touch.pos

• Fixes a bug where opening an external Codea project for editing could result in a blank editor
• Fixes a bug where NSRange could be inserted into the code editor when selecting a sprite using the photo picker

Codea 2.7.5

STATUS: Approved February 11 2019

We squashed many bugs for you this version

• Fixes a large memory leak that could occur when working with voxels
• Fixes a… smaller but still not nice memory leak that could occur when working with voxels
• Improves resilience of code editor
• Includes Dropbox.assets in project export exclusion list
• Removes one very old Codea API (you’ll never know what it was)

Codea 2.7.4

STATUS: Approved February 8 2019

• Codea now supports open in-place
• Navigating up/down while autocomplete is active now cancels autocomplete
• Fixes autocomplete overlapping keyboard popups
• Export all projects now only exports your own projects (not examples and craft)
• Asset list now displays correctly on iOS 10

Codea 2.7.3

STATUS: Approved January 2019

• Fix ?+/ keyboard shortcut
• Adds documentation for worldToScreen

Codea 2.7.2

STATUS: Approved January 16 2019

• Air Code more reliably establishes a server connection
• Duplicating projects from examples now go into your documents

Codea 2.7.1

STATUS: Approved January 12 2019

• Larger recording indicator for video
• Camera shutter sound plays when capturing screenshots

Codea 2.7

STATUS: Approved January 8 2019

Check out the new AR Face example
Cover your face in bricks, get some glowing eyes or build anything you want… on top of your face

Face AR
• Full AR face tracking API available on devices with a TrueDepth camera

Re-written Project Management
• Completely re-written project management, Codea’s project browser will stay in sync with the Files app
• Codea now supplies nice looking icons for its projects to the rest of the system

OSC Module
• Open Sound Control (OSC) module for connecting to multimedia and other devices
• See the Network chapter of the documentation for details

Layout Module
• Layout module exposing size classes and safe area insets for applicable devices
• See the Display chapter of the documentation for details

• Codea now uses the system font and has updated typography
• Code editor font sizes can now be set much smaller and larger (11pt - 24pt)
• More support for Dynamic Type across the app
• Status bar more elegantly transitions when opening and closing projects
• Improved undo and redo in the code editor
• Craft is no longer needed explicitly, it’s enabled for all projects
• Polished UI and animations
• orientationChanged is now sizeChanged

• Improved code editor stability
• Bug where saveProjectTab couldn’t overwrite Main tab
• Codea disconnecting your bluetooth headphones and putting your music on public display when playing sounds in the app, sorry about that!
• Bug where using noSmooth + line could cause a crash
• Bug where action parameters defined in global scope did not correctly run on first load of project
• Memory leak in code editor
• Bug where a project’s buffer order could be incorrectly loaded if it received an automatic dependency fixup
• Bug where the in-editor documentation layout could mess up
• Projects not saving changes sometimes after using replace all
• Add to asset pack screen not showing asset pack names and icons
• Bug that duplicated a tab when you renamed it
• Crash bug when using the comment keyboard action in an empty file
• Parenting bug in Froggy example

Important Note

If you previously had project names beginning with a period (.) they will now be hidden in the project browser. To get them back please rename them in the Files app on your device

Codea 2.6.1

STATUS: Approved November 2018

This version of Codea has new autosave and document handling

• Codea projects can be edited in external editors (e.g., Working Copy) while open in the Codea editor
• Autosave no longer aggressively writes out projects at regular intervals, only changes
• Camera example updated with depth sensing for those of you lucky enough to have new devices


• Tint color over-multiplying when used with image-based-sprites rendered with setContext
• Undo and redo improvements in the code editor
• supportedOrienatations deprecated
• Search in reference issues resolved
• Duplicate Material packs showing in the asset picker on each project run
• Crash in asset picker when showing a blend file with no geometry
• Sound playback preventing microphone API from functioning
• Music playback being stopped when Codea starts

Codea 2.6

STATUS: Approved November 2018

We’re back with more Codea!

What’s new
• Complete re-write of the project browser
• Finally, support for split-view and slide-over on your iPad
• Supports the newest devices and screen sizes
• Craft supports even more 3D model formats
• New mic library to sample your device microphone frequency and amplitude

The future
• Codea now supports shaders from our upcoming app, Shade

Bug Fixes
• Too many to count. Uncountable
• Probably countable but we won’t do it

Codea 2.5.2

STATUS: Approved 2 Feb 2018


• Autocomplete now completes from dependencies as well as your main project. How did we not have this before?


• Fixed a Find/Replace crash on iOS 9
• Some editor scrolling bugs came to light and were fixed, especially relating to selecting results from the find/replace sidebar
• Invoking find/replace from the keyboard shortcut should work now
• Hides the Materials pack from the Shader Lab. Shader Lab isn’t built to handle those, yet

Codea 2.5.1

STATUS: Approved 27 Oct 2017

Check below to see if your favorite bug has been fixed

  • Craft project templates now add your project name to the top of the file. How else would you know which project you were editing? You wouldn’t, that’s how.

  • The dark editor theme background color got messed up. You sent many complaints. We fixed it so your eyes can rest easy

  • Importing projects crashed Codea. Due to careless last-minute feature adding. Was it us? Who knows, maybe

  • Fixes the search results randomly dismissing in the full screen reference view. Man that was annoying

  • The search keyboard in the in-project documentation now matches the selected editor theme. Yay, consistency

  • Air Code was crashy. Especially with physics code. It’s less crashy now. Especially with physics code

  • Air Code works with your craft projects

  • repeat … until loops now indent correctly. Someone reported this. You know who you are

  • The code editor should be faster to catch up to your code for indentation and autocomplete

  • When duplicating a project that used a non-square icon image the image would bleed past the edges of the view. Not anymore. We put a stop to that

  • When duplicating a project we showed the project template selector. Why? Who knows. We shouldn’t have. Now we don’t

  • Codea will no longer export the “Inbox” folder when exporting all projects

  • Craft didn’t run on 32-bit devices. It does now and we are sooo sorry. Not really that sorry, I mean bugs happen sometimes. Don’t hold us accountable*. It’s fixed now anyway stop complaining

  • Changed the default constructor for quat to (1,0,0,0) and its toString() prints (w,x,y,z) instead of (x,y,z,w). If you know what this means then please tell us.

  • Added normalize(), normalized(), len(), lenSqr() and conjugate() methods to quat. Bet you didn’t see that coming.

(*) You should probably hold us accountable for bugs

Codea 2.5

STATUS: Approved 4 Oct 2017

Craft: Create 3D worlds, ARKit and more!

  • Craft is a new module for Codea
  • Cameras, dynamic lighting and materials
  • Augmented Reality via ARKit
  • Voxel rendering and collisions
  • 3D model loading (OBJ format with more to come)
  • 3D physics
  • New 3D Assets including hundreds of 3D models

Other changes

  • You can now choose a template when starting new projects
  • Codea shows in the Files app
  • Improved screen recording


  • Fixes hardware keyboard navigation in code editor
  • Fix sound generator layout issues in iOS 11

Codea 2.3.8

STATUS: Approved 17 Aug 2017


- Supports 10.5" iPad Pro 
- Find and replace in editor has been improved. Editing your code does not clear your search results
- Keyboard shortcuts added to viewer. You get Close (Cmd+W), Pause (Cmd+P), Restart (Cmd+R) and Capture Screen (Cmd+C)


- Fixes some keyboard layout bugs when using hardware keyboard (or switching between hardware and software)
- Fixes "Set Icon" functionality
- Code editor has major internal changes to fix bugs


- Removes "Made with Codea" watermark when recording video. I know some of you don't like it, now it's goooone.

Codea 2.3.7

STATUS: Approved 21 Jun 2017

Codea can now import projects!

Codea 2.3.6

STATUS: Approved 13 Apr 2017

Dropbox sync has been rewritten. If all goes well, you won't notice. 

You will need to re-link your account once you update Codea. And to be cautious, back up your Apps/Codea Dropbox folder before you sync. 

We had to do this to move to the v2 API, before Dropbox pulls the plug on v1.

Codea 2.3.5

STATUS: Approved

Woah! We broke the Xcode export feature in the last release.

Sorry about that. This release fixes it. The developer responsible has been punished… severely.

Codea 2.3.4

STATUS: Approved 18 Mar 2017

Another small update for you while we work on the Big One™

Updates Codea to the latest Lua 5.3.4

• Fixes some crashes that could occur due to data race conditions in the editor and runtime
• Fix potential crash in the text editor code completion backend
• Fix potential crash in `text` function when using invalid font
• Fix editor crash when tapping the last line in the gutter area to paste
• Stop displaying old assetpack format

Codea 2.3.3

STATUS: Approved 8 Mar 2017

It has been way too long without an update! Here's what we've been up to.

This release of Codea has undergone major internal surgery. We've modernised most of the code and architecture, and fixed lots of bugs. Why was this necessary? Well, it makes Codea much more pleasant to work on. And because we value our sanity and emotional stability as much as anyone, this code cleanup was necessary.

That means you won't see too many brand new features this release. Major new stuff is coming.


• You can import project zip files from other applications (pending Apple approval, but we're hopeful)
• You can export all your projects and assets as a single zip archive from the settings menu
• Project creation API: see createProject, deleteProject and listProjects in the docs


• Code editor now shows argument label help for partial parameter lists as-you-type (i.e., the closing parenthesis is not required)


• Fixed possible crashes in a number of APIs such as `textSize`, `music`
• Fixed some potential crashes in code editor
• Also fixes some potential crashes in runtime
• You're seeing a pattern here. Fixed some potential crashes in shader compilation.
• And so on 

Codea 2.3.2

STATUS: Submitted 30 October 2015, Approved 4 December 2015

It's been a while since the last update, but there's plenty more to come!

This update focuses on iOS 9 improvements. 


• Spotlight search support. Your projects will show up in Spotlight and you can tap them to go straight to editing.
• Ability to export a plain zipped project archive
• Improved error messages with stack trace
• Support for OpenGL ES 3.0
• Mesh instances: efficient rendering of multiple meshes
• Support for settable voices and language in speech API
• Matrix attributes (mat4) supported in shaders
• Matrix uniform arrays supported in shaders
• Support for iPad Pro


• Revamped Xcode export with support for Xcode 7 and Bitcode
• Better support for iOS 9 features, such as two-finger caret dragging
• Support for iOS 9 bluetooth keyboard shortcut hints (hold the command key when using an external keyboard)
• Disables the default iOS 9 input assistant bar


• Fixes matrix * vec4 bug
• Fixes incorrect initial camera orientation under iOS 9
• Allows saveText() to delete assets when passing nil
• Fixes possible crashes when using bad parameters with camera()
• Fixed bug in Cargo-Bot example (requires example project restore)
• Code editor optimisations

Codea 2.3.1

STATUS: Approved 22 April 2015

Hi Everyone. Routine bug-fix release. Nothing to see here. Move along please.

• Adds Lua 5.3 support to Air Code
• Fixes an issue with parameter.number and huge values
• Improves compatibility with iOS 8.3
• Fixes to orientationChanged callbacks

Still reading? Do you like Codea and want to help us out? please consider leaving a review telling everyone what you think. It really helps and we love to read your feedback!

Codea 2.3

STATUS: Approved 21 March 2015

LUA 5.3

Codea 2.3 brings you Lua 5.3 support!

• Native integer type, new integer division operator (//)
• Bitwise operations
• New goto statement
• table.move / pack and unpack
• string.pack / unpack
• Yield across pcalls
• New utf8 library
• Cleaner math functions
• setfenv / getfenv removed

You may need to migrate your code if you are using deprecated features. Don't panic — it's not hard!

Note that you will be asked to migrate some example projects over to Lua 5.3. This will ensure that they are compatible. You can restore example projects at any time by pressing the settings icon in the top right.


• New integrated JSON library (uses dkjson with lpeg backend internally) 
• json.encode / json.decode
• Checkout the Storage docs for more info


• saveText correctly creates files when they do not exist
• WIDTH and HEIGHT can now be set again
• duplicate "COPY" button issue resolved

Codea 2.2

STATUS: Released 25 February 2015


• Great new text-to-speech API, make your iPad talk!
• Just use speech.say("something") to test it out
• New example project called Speakeasy
• Check the Sound docs for in-depth help
• Impulse-based methods added to physics.body


• CPU-based computation sped up significantly
• Many more performance improvements and bug fixes


• Portuguese language support added

Codea 2.1.1

STATUS: Released 21 December 2014


• New code editor tab bar styling


• Fixes performance issues
• Fixes overlapping API help text
• Fixes project sort option not being remembered on first load

Codea 2.1

STATUS: Released 8 December 2014


• Completely redesigned project browser
• Threaded Renderer
• What this means: all Lua code is executed on a separate thread, you should be able to write an infinite loop and still exit your project
• Opens up possibilities for more interesting features in the future


• Support for plain-text asset files
• Create and edit text assets directly from the asset picker
• Use them in your code with text asset API
• Useful for separating game level data from code, and so on
* You can now set an icon for your project from the screenshot panel


• Shader preview: shader assets now use a preview of your actual shader in the asset picker
• Re-worked asset creation / editing UI
• New tab bar design in code editor
• setContext can now optionally use a depth buffer
• Optimized code editor for pasting / deleting / editing large sections of text


• Fixed issue where tab bar could remain hidden after deleting large blocks of code
• Fixed keyboard colour issue for dark theme
• Improved handling of elseif chains in editor
• Fixed Shader Lab autocomplete selection
• Renaming a tab to the same name in a different letter case now works
• Multi-line comment parse issue when multi-line comment occupied single line
• Lots of other fixes

Codea 2.0

STATUS: Released


- Codea now features a unified asset system that supports sounds, music, sprites and shaders
- Music API for playing background music in common formats
- Three fantastic new sound and music packs for you to use in your games — composed especially for Codea


- Brand new design for iOS 7
- Fully supports 64-bit CPUs


- Completely rewritten Code Editor with the following features:
- Intelligent autocomplete picks up all your variables, locals and includes nested types
- In-line errors show up live as you code
- Smart indentation and scope completion
- More keys including smart comment / uncomment
- Support for multi-line comments 


- Find and Replace
- Location API
- Pasteboard API 
- displayMode(OVERLAY) for a transparent sidebar in your projects
- Shader Lab can bind arrays, and will tell you about failed bindings


- Codea now uses double precision floating point
- Codea has lost weight: Codea 2.0 is 23 MB, vs 36 MB for the old version
- Shader compilation errors are printed as warnings in your projects
- Air Code respects your editor theme choice


- Many, many fixes, including the wrapped line issue in code editor

Codea 1.5.5

STATUS: Approved 8 September 2013

We're still working on the next big update. But for now, here are some smaller fixes and improvements.


• Multi-page PDF assets are supported in readImage


• Major memory usage and stability improvements

Codea 1.5.4

STATUS: Approved 13 June 2013


• Air Code now displays a tabbed editor


• Air Code handles <tags> better
• Air Code now informs you when there are no projects
• Air Code now behaves better when editing files across different projects
• Air Code orientation fix for iOS 5.x
• Xcode Project Missing Framework Bug
• Sprite batching issue relating to line()

Codea 1.5.3

STATUS: Approved 29 June 2013


• Air Code: develop on your Mac or PC and see your Codea project update in real-time

• tween.delay() function for delaying animations and callback functions
• alert() function for presenting the native alert box
• restart() function to restart the your project
• openURL now has the option to open a URL using an in-app browser


• sprite() optimization: all uses of sprite() significantly sped up. Consecutive calls to sprite() using the same texture (and style state) are automatically batched similar to using a mesh. In ideal scenarios, such as particle systems, sprite is now as fast as mesh.
• Added worldCenter, localCenter and joints properties to physics.body


• Fixed potential readProjectTab() crash bug
• Fixes mirrored camera stream image
• Custom .spritepack folders placed in the Documents/ folder will now be recognized
• Maximum imported image size increased to 2048px

Note: Juice library was removed from this release because it is not yet ready. Development will continue and it will be integrated in a future release. In the mean time we will be open sourcing its development to get your feedback.

Codea 1.5.2

STATUS: Submitted April 7 2013


Xcode Export 

Export straight to Xcode from Codea. The new export feature lets you easily take your projects into Xcode on a Mac — turning your Codea projects into native iOS applications. 

Just touch-and-hold your project, then choose "Export" to get started. 


• Adds swipe left/right editing gestures to Shader Lab 
• Deleting the currently open shader now closes the shader 
• You can tap outside the shader picker to close it 
• Camera images are flipped, no longer requires UVs to be flipped when rendering camera texture through a shader 
• Fixed vec3/4 constructors getting turned into vec2 in the bindings tab when interacting with the vector popover in the Shader Lab 
• Fixes a crash that could occur when typing a closing brace into some function arguments 
• Fixed clip() when used in recording 

Codea 1.5.1

STATUS: Approved March 1 2013


• Swipe left/right in the editor to shift the caret
• Added float support to mesh custom vertex attributes
• Triple tap emergency exit behaviour restored
• Search and function browser now match the selected theme


• Issue where heavy use setContext and image allocation could cause rendering to freeze
• Over-caching of sprites drawn with an explicit width and height
• Rounding bug on negative minimum values of integer parameter sliders
• Sprites and images now load in the same orientation. This will affect your shader code if you were flipping your vertical texture coordinate. 
• Fixed bug where pressing the view mode button didn't trigger a change in return value from displayMode()
• textSize() function now takes into account newlines, even if textWrapWidth is not set
• Fixed complex rendering bug that involved bad caching of model view matrices. This caused some issues when using setContext() in setup().
• All built-in shaders no longer use the 1.0 - texCoord.y correction


• Fixed Romanian Shaders & Mesh chapter title getting cut off

Codea 1.5

STATUS: Approved February 16 2013


• Shaders: Full access to GLSL shaders from the mesh class. 
• Shader Lab: A full-featured GLSL shader editor with live preview and live variables. 
• Camera: Stream from the cameras on your device straight into a sprite, capture them into an image, or even input them into a shader. 
• Brand new Parameter system. Make buttons, color pickers, text boxes and more for the Codea sidebar. 
• Vector sprite rendering. You can now load PDF files as sprites, which can be rendered at any size and still look sharp. 
• Two great new vector sprite packs by 
• Tween: The new tween library provides you with easy to use animations, paths, sequences and more. 
• Blend Modes: Use the new blendMode() function for additive and multiplicative blending, or even set completely custom blend modes using the advanced parameters. 
• Brand new Documentation Browser, copy sample code and use the sidebar for reference as-you-type. 
• Completely re-architected Code Editor with built-in API guides. 
• New Tools menu from the main screen lets you manage your assets. 
• REPL built into the viewer. Type and execute simple expressions while your code is running.


• Six new example projects. 
• saveProjectTab(), readProjectTab() and listProjectTabs() allow you to edit your own projects from code. 
• isKeyboardShowing() function. 
• Access to the device Gyroscope (if available) via the RotationRate global. 


• Video recording speed improved. 
• setContext() speed is much improved for common use cases. 
• Improved autosave. 
• New tab bar that scrolls off the screen to so there's more room for your code. 
• Multiple Undos now supported (press the .?123 key on the keyboard to show the Undo button). 
• Many UI improvements. 


• Codea's UI is now translated into the following languages: German, French, Spanish, Czech, Catalan, Danish, Romanian, Finnish, Italian, Japanese, Dutch, Polish, Russian, Slovak, Swedish, Chinese (Simplified), Chinese (Traditional), Portuguese (BR), Bahasa Indonesia, and Thai. 
• Documentation is now available in Chinese (Simplified) and Romanian. 
• If you would like to help translate Codea into your language, or make corrections, please join us at: 


• setContext can now be used to render outside the viewport dimensions. 
• Editor now scrolls to the first error message. 
• Fixed issues that could arise when recording video on retina devices while using setContext(). 
• saveProject/Local/GlobalData no longer aggressively converts strings to numbers. 
• Fixed bug in physics.raycast. 
• Fixed bug in triangulate. 
• Syntax highlighting on wrapped lines. 
• API consistency improved. 
• So many more.

Codea 1.4.6

STATUS: Approved September 21 2012


• Vastly improves editor speed for long files
• Improved rendering speed
• Fixes several physics bugs
• And a lot of other bugs!
• Previous version accidentally included broken beta functionality, this has been removed.

Previous Versions

Codea 1.4.5

STATUS: Approved August 31 2012


• Paste-into-project: if you copy a project using the touch-and-hold copy option, you can more easily paste it into new project without having to paste individual tabs
• isKeyboardShowing() function


• Fixes sprites and text sometimes not rendering
• Improved editor stability
• Improved block-indenting speed, operation can be undone
• Fixes Physics Lab Test 9 bug (you'll need to re-add the test to try it until next version)

Codea 1.4.4

STATUS: Approved August 15 2012


• Undo now works properly for all editor operations 
• Use the .?123 key on the keyboard to show the standard undo button 
• Brickout example now has enhanced graphics, effects and improved controls 


• Codea is now built using ARC 


• Fixed image.copy bug when using raw sizes on retina devices 
• Fixed mesh memory bug

Codea 1.4.3

STATUS: Approved July 24 2012


• You can now add dependencies to your projects 
• This allows you to develop library style code 
• Use this feature from the plus (+) button in the editor 


• Project dependencies 
• Adjustable font size in code editor 
• Tap or drag in the line gutter to select lines 
• Enhanced color type with blend, mix, and arithmetic operations 
• listGlobal/Local/ProjectData functions added 
• Fantastic new demo project (it's Cargo-Bot)


• Project name is added as a comment on the first line of Main 
• Smooth project browsing — swipe to navigate through lots of projects 


• Fixed bug with spriteSize results on retina devices in some circumstances 
• Fixed line numbers in search results 
• Fixed image.copy bug with retina images 
• Fixed data store cleanup bug 
• Fixed mesh bug that could cause triangles to be repositioned on re-allocation 
• Documentation corrections and updates

Codea 1.4.1

STATUS: Approved June 22 2012


• Search all your code from the function browser key on the keyboard


• Fixes intermittent crash when opening projects


• http.get renamed http.request (http.get is kept for compatibility)

Codea 1.4

STATUS: Approved May 25 2012


• You can import custom sprites via Dropbox 
• Or your photo library 
• You can save images into your sprite packs 


• Text selection: Touch and drag the new buttons above the keyboard to select and position the cursor 
• In-line help: select an API term in the editor then choose "Lookup" to see specific help immediately 
• Networking API: see the documentation chapter. Has special support for images. 
• Project quick search: tap the new quick search icons next to the projects lists 
• Keyboard Gestures: Drag directly on the keyboard to position the cursor, hold shift and drag to select text. This feature must be enabled from the settings panel. 


• Tabs now turn red when they contain an error 
• Updated credits page 
• Improved documentation 
• Improved autocomplete 


• Fixed some major crashes, memory leaks and bugs

Codea 1.3.6

STATUS: Approved March 29 2012


• Fixes video recording on Retina display
• Fixes vec3 methods not working
• Fixes mesh.color — arguments are now in the range 0-255
• Fixes held-backspace deleting from end of file
• Fixes clip() on Retina display
• Consistent noSmooth() line width on Retina display

Codea 1.3.5

STATUS: Approved March 20 2012


• Full support for the new iPad Retina display
• Codea can now render 3D graphics
• Two new 3D example projects
• Perspective and Camera functions for setting up 3D scenes
• 4x4 Matrix class. Can be loaded as the current transform, or multiplied against it
• Ability to control and position the camera and customise the projection
• vec3 now has arithmetic operators and methods
• Mesh renders with 3D vertex positions
• Included Lua Debug library


• image class supports Retina display through rawGet and rawSet methods
• mesh includes more optimal accessor methods for vertices, texCoords and colors
• Small World sprite pack updated for Retina display


• Updated autocomplete with global Lua functions (tonumber, type, etc.)
• Fixed issue 109: Errors not reporting during collide() callback
• spriteSize works with images, correctly returning their dimensions
• Fixes held-backspace deleting from end of file
• color(r,g,b) defaults to alpha 255 now
• Optimized background art

Codea 1.3.1

STATUS: Approved February 29 2012


• Visual makeover for the project browser
• Codea Dark editor theme (IAP)


• User projects can be copied to clipboard from the project browser
• New settings panel accessible from Project Browser
• soundbuffer objects allow you to create sounds from raw data
• sound(ENCODE, table) encodes a sound table into a high-precision string
• Can be played with sound(DATA, string)
• soundBufferSize( sizeInMB ) function added to control sound caching
• watch() can now accept arbitrary Lua chunks
• deviceMetrics() function will return a table of device properties
• Added inertia and mass properties to physics.body
• saveProjectInfo and readProjectInfo functions. These allow you to get and set metadata for your projects.
• For example saveProjectInfo( "Description", "My New Project Description" ) will set a description that appears under your project in the browser.


• Single letter tab names are easier to delete — editor tabs now have a minimum width of 88 pixels 
• Codea now allows underscores to be used in class / tab names
• Disables the three-finger triple-tap emergency exit gesture if buttons are already visible on the screen
• Fixed documentation for physics.body
• Fixed video recording with setContext
• Physics pause/resume fixed
• Physics field fixed
• mesh.texCoords no longer flipped vertically
• The news line on the project browser resizes correctly
• Fixed a bug that occurred when pasting code with tab characters
• Many other bug fixes

Codea 1.3

A Huge Update.

STATUS: Approved January 26 2012


• All new Physics API, check out the new "Physics Lab" example project and Physics documentation 
• Text rendering. The new text(string,x,y) function allows you to render text anywhere on the screen. It supports all the fonts provided by iOS and its colour is affected by the current fill() color. 
• Video capture! Record your projects straight from your device and share them on YouTube 
• Screenshot capture right from the viewer 
• Five amazing new example projects 
• Audition and create your sound effects right inside the code editor. Just type sound() and tap it. 
• Choose fonts from right inside your code. Type font() and tap on it to bring up the picker. 
• Codea viewer now supports all orientations, you can use supportedOrientations() to limit them 
• Great new keyboard API lets you bring up the native keyboard or respond to a bluetooth keyboard in your games and simulations 
• Mesh API. The mesh type lets you manage and render arbitrary vertex arrays, you can control vertex positions, colors and texture coordinates. Really fast. 
• Hugely improved autocomplete. It now picks up your class variables and class names. 


• New clearParameters() function to clear the parameters and watch list 
• New clearOutput() function to clear the print buffer 
• Codea Forums linked right on the main page, as well as announcements 
• Parameter sliders track when their variables change 
• Images support a premultiplied flag 
• Polygon triangulate(points) function 
• spriteSize() function to get a sprite's pixel size
• Sound function now accepts a volume parameter 


• Rendering speed hugely improved 
• Improved and updated documentation, new overview sections give a more thorough explanation of Codea 
• All style functions now return the current style values when called without arguments 
• Runtime errors exit fullscreen mode 
• Shifted editor keys for more natural placement 
• Sound caching system improves performance 
• Bit Invader project gets a make-over 


• Fixed animation not resuming when app is brought into foreground 
• Changed the way setup() gets called. You are now be able to do drawing in setup() 
• Fixed bug when using setContext(image) in your setup function. 
• Fixed noSmooth line opacity bug 
• Shader adjustments and fixes 
• Fixed bug where Codea would crash when over 22 parameters were specified 

Mesh Rendering to draw 11,000 textured polygons: (iPad 2 can easily render 50,000 at 60 frames per second, but slows down due to recording the video stream and iterating the polygons in Lua to modify their positions.)

Sound Picker:
Font Picker:

Codea 1.2.7

STATUS: Approved January 4 2012

Due to a notification from Apple, Codea 1.2.7 removes the project sharing feature. We will work with Apple to try and make it available again in the future so you can share your creations.

New Features
- Reorder your tabs by drag-and-drop
- setContext( image ) function for drawing into images
- New editor gestures:
-- A one finger swipe left or right shifts the caret by one character
-- A two finger swipe left or right shifts the caret up or down
-- A one finger flick up or down on the caret positioning buttons shifts the caret up or down

- Number sliders are now much harder to trigger accidentally

- iparameter() now works with negative minimum values
- displayMode(FULLSCREEN_NO_BUTTONS) state is correctly reset
- clip() state is correctly reset
- Mysterious no-drawing bug fixed
- Fixed function browser crash with anonymous functions
- Gravity vector initialised before setup() is called
- Fixed output window clipping behind debug buttons

Codea 1.2.5

STATUS: Approved December 10 2011

New Features
- Adds new clip() and noClip() functions for constraining drawing operations
- New space shooter-themed sprite pack
- Adds saveGlobalData() and readGlobalData() functions

- Fixes premultiplied blending issue with image class
- Fixes displayMode() not setting WIDTH immediately when called in setup()
- Correctly removes status bar from application
- Uses lower left corner as 0,0 in image() coordinates (thanks Bortels, Bee)
- Updates Mandelbrot example

Codea 1.2

STATUS: Approved December 6 2011

New Example: Includes Phillip Alvelda's Mandelbrot explorer, which makes use of the new image class for drawing 

New Features 
- Image class, allows you to draw pixels directly into an image 
-- Render images to the screen with sprite() 
-- See the Graphics documentation for details 

- Fullscreen mode 
-- See the displayMode() API in the Display documentation 

- New tab bar in the editor 
-- Much easier to tap, much nicer looking 

- Retained backing 
-- See the backingMode() API in the Display documentation 
-- You can use this for painting and drawing projects 
-- Or for static drawing in setup() 

- Close function 
-- You can now close the viewer by calling close() 

- sprite() now respects noSmooth() and smooth() 
- Use noSmooth() for blocky magnification of sprites 
- spriteMode() is now available 
- vec2:angleBetween now works correctly 
- Version number now shows on Credits screen 
- Cancelled touch state supported 
- Many more fixes and documentation updates

Codea 1.1.2

STATUS: Released December 1 2011

Codify is renamed Codea. We feel this best represents its philosophy: a combination of Code and Ideas. 

- Community & Help section includes links to the new Codea user forums. Join up to get assistance and share your stuff! 

- New Example: Includes Andy Newton's fantastic Brickout game 

New Features 
- Brand new persistent storage API, see Storage docs for details 
- Useful for keeping highscores and other types of data 
- New time and date functions (Lua's os.time,, os.difftime, os.clock, and os.setlocale)

Bug Fixes 
- Fixed numerous vec2 issues 
- Fixed parentheses crash bug 
- Fixed frame buffer clearing 
- Fixed single-letter project issue 
- Changed default project template to include background() call in draw()