Hi! and welcome back to part 6 of the Headjack 101 Crash Course. In this lesson, we will look closely at how to update your Headjack app once it is published and installed. One of the most powerful features of the Headjack CMS is the ability to add new content to your app without the need for sideloading or an app update through the store, which is the usual procedure.

With just a couple of clicks, an app save, and a restart of your app, it is possible to alter the following properties of your app:
- Add or Remove Projects
- Videos
- Spatial Audio tracks
- Titles and descriptions
- Subtitles
- Template settings
- Branding colors
- Logos and backgrounds
- The entire template (if you use Headjack Link)
Since you don’t need to update, build, and install the app every time you change your content, the iteration and approval process with your team or client can be much faster than the traditional app updating process.
Updating Content and Organizing Files
So now, let’s see how this works in practice. I just received the final edit for a new movie we have produced, and I want to release it to an existing application. I already uploaded this video and ran it through cloud transcoding, so I simply need to replace an old video with a new one. First, let’s have a look at how I organized the files in my account by navigating to the Content > Media folder. Here you can see all of my folders and projects; in this case, I am looking for Superstar, which is in my demo content folder. As you can see, there are two videos; the top one is currently present in my app, and the bottom one is the one I received from my editor, which I will replace it with.

There are two ways I could do this: alter the project on the project page or go directly into my app and replace it there. In this instance, I will go to the app page and change it there. So I navigate to the correct app and search for the project I need to change, select the video, and Save the app.

Now, head over to my Quest 2 and see how my headset processes the updated video. As you can see, the first video is already downloaded on this device; I need to restart the application to pull in the new updated version. So I need to close the application and start it again. Now when I select the same project, I see both a play and an update button. If I now click update, it will download the new video, or I can still choose to play the old one if needed. This system works for all apps and VR headsets simultaneously and on mobile or other devices; I built this app and installed it on it.
As discussed earlier, most assets can be updated dynamically. However, some assets are baked in the app package and can’t be updated with a simple application restart, requiring a new app build and installation or a new app update when your app is published in the store. The following assets can’t be updated dynamically
- App Icon
- App Name
- App Splash Screen
- App Templates (if you used cloud build)
Now you know how to update an app without reinstalling it; let’s look at Headjack Operator in the next lesson, our other companion app built to prepare, manage, and remote control large headsets fleets.