https://code.blender.org/2022/11/blender-apps/ Toggle navigation * Features * Download * Support * Get Involved * About * Jobs * Store * Donate * Blog * Developer Portal * Wiki * Forum * About * * * Features * Download * Support * Get Involved * About * Jobs * Store * Donate * Blog * Developer Portal * Wiki * Forum * About * * Blender Apps * November 2nd, 2022 * General Development, General Updates * Pablo Vazquez This document describes the vision for a new way to create and share content with Blender through Blender Apps. What are Blender Apps? In a nutshell, Blender apps are "Experiences Powered by Blender". Blender Apps can do anything that Blender can, plus so much more when extended. They are designed to be portable, and focused on specific usage. Examples Use-cases range from education, to production pipeline, final products or even small games. Let's go through a couple examples. "As a studio TD, I want a cross-platform solution that can visualize everything from image sequences to videos and 3D files, and annotate on top of such media so that I can give notes to colleagues." Combining Blender's Video Sequencer, Image Editor, Annotation tools, making a nice UI for it and stripping out the rest of the functionality you don't need would be a good example of a Blender App. A version of this example (using Application Templates) is already in use at the Blender Studio weekly meetings. "As an architect, I want to send a client a project so that they can navigate around and experience it by themselves." In this case, the app should be easy to run even if the client has never heard of Blender or 3D software before. You could prepare the scene, add basic navigation controls, and bundle the project .blend files together with Blender itself. The client would receive a .zip file with a single executable file inside (more on that in Distribution). Just like apps on your phone, Blender Apps can be shipped as standalone, without the need of having Blender installed. They can be designed in a way that require no previous knowledge of Blender. Blender 101: Monkey App prototype by Dalai Felinto --------------------------------------------------------------------- Creating a Blender App To get started, a template will be provided for download on blender.org. Alternatively, it's possible to copy and modify any existing app. Editing Workflow Editing an app is an incremental process. In other words, you start with a blank slate and add only the functionality you need. Authoring principles: * You have full control: Start with an empty canvas, and add the components and functionality as you need it. * Fast iteration: as you edit any part of the app, you should be able to get a live preview of the changes. How do you edit an app? Ideally, you would run Blender in an "app development" mode, where Blender watches the content of your app's folder and reflects any changes live. While this is the ideal scenario we aim for, in large/ complex apps (with lots of editors, assets, etc.) live updates can become slow so there should be a way to reload your app on demand. Editing the files (mostly Python) that make the app should be possible with your IDE of choice. Boilerplate templates will be provided to achieve core functionality (drag and drop, window management, etc) without the need of typing everything yourself. --------------------------------------------------------------------- Running Blender Apps To make it easier to differentiate between .blend files that are a Blender App, and regular .blend files, a new extension is introduced: .blendx. Having a dedicated extension brings many benefits: * Blender can run its contents in a "run app" mode to look for specific configuration files. * Dedicated icon to tell them apart, and Blender could use it to detect when dragged onto it. * Recognized by the operating system as a Blender file. There are two ways to run a Blender App. Single File App The simplest way to Running a Blender App that has been distributed packed as a single file (see Distribution), should be as easy as double clicking on an {app_name}.blendx file. Bundle It should be possible to run a Blender App without the need of having Blender installed. For this reason, a Blender App can bundle Blender and a small executable (e.g. {app_name.exe}) that will check for an / /app/app.blendx file and run it with the Blender version included in the bundle. --------------------------------------------------------------------- Technical Details Many of the features needed for creating Blender Apps are already in place for years. Blender 2.80's "Application Templates" is a good place to start, but some key development features must be addressed. Inside a Blender AppInside a Blender App. Templates Templates are inspired by the existing Application Templates system, which allows users to start Blender with a custom layout (such as 2D Animation mode, Sculpt, Video Editing). The main difference is that now Templates are stored as part of a Profile. Profiles A Profile is a way to group templates, keymaps, theme, add-ons, and asset libraries for a specific workflow or hardware setup. You could have a graphics tablet profile, a VR profile, a profile for recording tutorials, etc. Profiles are a key requirement for apps, and an important usability improvement for Blender. --------------------------------------------------------------------- Distribution Ways to distribute a Blender AppWays to distribute a Blender App. There are three ways to distribute an app: * Single file: a .blend file packed as .blendx + Easy to launch. + Requires having Blender installed. * Zip project: a .blendx file plus the app's content inside a folder. + Allows for packing a larger collection of files/libraries. + Requires having Blender installed. * Bundle: contains everything needed to run the app + The most portable option. + Can be heavy (since Blender alone is ~200MB for each platform) + Does not require having Blender installed, because it is bundled in. License Just like add-ons, the code of Blender Apps inherits the same license Blender has, General Public License v2 or later. Assets such as textures or shaders can be distributed under a license of your choice. --------------------------------------------------------------------- Conclusions The initial design of Blender Apps has been developed by Ton Roosendaal, Francesco Siddi, Dalai Felinto, Campbell Barton and Pablo Vazquez. With feedback from Jeroen Bakker, Sergey Sharybin and other core developers. Feedback on the current proposal is welcome before development starts. Blender Extensions Platform 4 comments 165 views 1. + AnityEx + November 2, 2022 Lovely proposal, I got some questions though does this mean there's a possibility of making executables on other platforms like mobile phones or tablets a reality? Since blender apps aren't blender on itself but a stripped down version for specific purposes, a client might not have a computer at all And also does this imply the game engine "replacement" or the interactive mode is in order? Would be cool to make some games with modern blender capabilities but it is not detailed in this post how this would be done for the blender apps (unless the answer is just python which is not very interactive for an user that prefers nodes for logic like me) + Reply + o Pablo Vazquez Author o November 2, 2022 Blender Apps run anywhere Blender can. So in the future if Blender is supported on Android, iOS, iPadOS, or other platforms, apps should run there just fine. I really hope that with the introduction of Blender Apps, and being able to build experiences using Blender's powerful viewport and Python extensions, developers from the community will get inspired to make the so called "interactive mode". Standalone apps are the perfect scenario for something like that. o Reply o # Francesco "Zeirus" Sorrentino # November 2, 2022 I have always been waiting for such a possibility to create an educational application, which gives the possibility to modify the Blender interface, up to simplifying it to the minimum terms! Thank you for granting my wish! # Reply 2. + anselemnkoro + November 2, 2022 Brilliant! + Reply 1. Leave a Reply Cancel reply Your email address will not be published. Required fields are marked * [ ] [ ] [ ] [ ] [ ] [ ] [ ] Comment * [ ] Name * [ ] Email * [ ] [Post Comment] [Submit Comment] [ ] [ ] [ ] [ ] [ ] [ ] [ ] D[ ] SHARE THIS STORY ON * Facebook * Twitter * Reddit * LinkedIn Download * Latest Blender * Blender LTS * Release Notes * Requirements * Previous Versions * Experimental Builds * Source Code Articles * News * Press Releases * User Stories About * Blender Foundation * Blender Institute * Blender Studio * License * Logo & Trademark * Credits * Website * Privacy Policy Organization * People * Jobs Get Involved * Dashboard * Development * Documentation * Education Donate * Development Fund * One-time Donations Blender Studio * Studio Blog Blender Conference Developers * Blog * Forum * Wiki * Developers Portal * Python API Support * Community * Manual * FAQ * Tutorials Blender Benchmark - Open Data Follow Blender * YouTube * Twitter * Instagram * Facebook * LinkedIn Artistic freedom starts with Blender The Free and Open Source 3D Creation Suite