Start typing to search...

News updates for Koji developers

To help developers stay up to date, this digest summarizes relevant updates to the Koji platform, packages, and developer site.

If you have thoughts, questions, or feedback, please reach out to the developer community or the @Koji-Team on our Discord server.

Recent highlights

We are pleased to highlight the following recent updates for Koji developers. For the complete digest, see recent-updates.html.

Core package updates

  • The following contexts are deprecated: admin, about, and sticker. Apps can provide admin interfaces by managing roles with Identity.

  • The estimatePoses option is no longer supported for video captures ( Apps can process camera input directly, if needed.

  • Bug fixes

Koji platform updates

  • When you edit an app that has already been published, remix.encryptValue and remix.decryptValue can now read and write values from the app’s keystore.

    This allows apps that use secret values, such as locked photos, to be customizable.

  • Anonymous users can no longer customize apps.

  • Bug fixes


  • New ways to contact us:

    • You can reach the Koji team through a chat icon at the bottom right of the main Koji website and other Koji websites.

    • The Help Center is updated.

    • The support page is deprecated.

For a comprehensive list of changes and versions, see the package release notes in Github.

Highlights earlier in 2021

We are pleased to highlight the following updates for Koji developers from earlier in 2021. For the complete digest, see 2021-updates.html.


Developer site updates

Koji platform updates

  • The platform navigation has been updated to support the Koji Profile as a central home for a creator’s Koji apps. Related changes include:

    • The Koji button has been replaced with a new floating menu on profiles and a top navigation bar on app. This new navigation is less invasive and brings the experience of managing a profile or app much close to the app itself.

    • Creators can no longer remix apps directly. Instead, when viewing someone else’s app, creators can tap the app name to view the App Store listing and preview or use the app from there.

      App Store listing
  • You can now make withdrawals from your Koji account without any fees, so you can retain more revenue from your apps.

Core package updates

  • In the withkoji-koji-core.html package, the new metadata object provides a reference to the creator’s current username and profile picture. Apps no longer need to collect this data from the user as a configuration option, and users can update their information at the platform level and have it automatically applied in all apps.

    At runtime, these values are managed by two new environment variables: KOJI_CREATOR_USERNAME and KOJI_CREATOR_PROFILE_PICTURE.

  • Apps can use the new iap.refundTransaction method to refund unsettled transactions. == April

New developer game tutorials

On the developer site, a new set of tutorials are available to help developers quickly learn how to build games on Koji.

Integrated Core reference docs

The reference documentation for the @withkoji/core package is now integrated into the Koji developer site.

Freeze Keys for data caching

Freeze Keys enable you to cache and purge content in Koji’s CDN, dramatically improving the speed and reliability of backend data requests in your Kojis.

File uploads from Koji frontends

The new Koji.ui.upload class enables file uploads from the frontend of your Koji directly to your project’s CDN. You can use this method to upload media created or captured by the user as part of the template experience. For example, recording a video or drawing on a canvas.

Additional changes
  • Define products that hold transactions in a pending state until you manually capture them.

  • Add watermarks or specify cropping constraints for uploaded videos.

  • In-app purchase products are now registered or updated on any deploy, instead of only when you publish the template from the Koji editor.

  • In the debugger, you can now drill into the details of in-app purchase products and receipts.

  • Template developers can now determine the fee percentage for in-app purchases in their templates. The developer receives 60% of the fees collected for all of these transactions.


March 17

  • The following usability improvements are now available on the Koji platform.

    • Creators can now automatically upgrade their Kojis to the latest version of your code. When an upgrade is available, the creator can tap Upgrade this Koji on the Koji’s analytics page.

    • Your Koji profile page has been updated to a new link-in-bio profile that is powered by a Koji template. The new profile builder features fully customizable backgrounds, buttons, and fonts and provides the same powerful analytics that are built into your Kojis.

  • Paid remixes are a new way for developers to monetize their work through Koji. You can set the remix price when you publish a template in the store, and then earn when someone remixes your template.

  • You can now hide the default action for cancelling a remix, enabling the template to implement its own navigation controls. To hide the default action, enable the new InstantRemixingNativeCancel entitlement. To implement a custom cancel action, use the new remix.cancel method in the @withkoji/core package.

  • The following features are now available in the @withkoji/core package.

    • The new ui.navigate.edit method enables a template to programmatically enter an edit experience.

    • In PlayerState, two new methods (onFocus and onBlur) and one new property (hasFocus) enable templates to respond to the focus state of the Koji.

March 2

  • On the developer site, a new set of quick start tutorials are available to help developers get going quickly on Koji.


February 22

  • A new guide is available to help you upgrade your code to the @withkoji/core package. See migrate-koji-core.html.

  • The following features are now available in the @withkoji/core package.

    • You can now use initialValue to set a starting value for color, range, and select captures.

    • The new frontend/navigate module provides methods for controlling navigation in your Kojis.

    • The new custom method in frontend/capture enables you to capture values with custom VCCs.

February 1

  • The new @withkoji/core package includes everything you need to easily access platform services in your Kojis.

  • The new Template Details page provides a place for remixers to learn about a template before they create their own version.


  • A new Help Center is now available for finding answers to general platform questions, such as how withdrawals work.

  • For template developers, the following new features and navigation updates are available.

    • The new project overview page lets you access key information about your templates without loading them in the Koji editor.

    • The new CustomMetadata entitlement enables a custom title and description when sharing a Koji on social media. See thumbnail-image.html.

Highlights in 2020

We are pleased to highlight the following updates for Koji developers in 2020. For the complete digest, see 2020-updates.html.

December 23

November 24

  • On the Koji platform, you can now manage plugins and custom domains directly from a Koji, without opening the code.

November 5

  • It’s now easier to withdraw funds from your Koji wallet. Simply tap your profile picture, and then tap Wallet > Withdraw. Follow the on-screen instructions to process the desired withdrawal amount.

  • You can now request a refund within 72 hours of a purchase through a Koji. From your Koji wallet, tap the transaction, and then tap Refund transfer.

October 29

  • The Koji platform now allows you to edit a Koji you created and republish it to the same URL.

  • The Koji platform now enables template developers to control the timing of the rich preview screenshot with the window.kojiScreenshotReady property.