The CMS (Content Management System) is a structured data layer built into every 360Crafter project. Think of it as a spreadsheet that lives alongside your experience. You can store any information in it, such as product names, prices, descriptions, images, audio files, and locations, and then connect that data directly to hotspots, panoramas, and other elements in your tour.
This separation of content from design means you can update text, swap images, or change values without touching the visual layout of your experience at all.
Tables, Fields, and Records
The CMS is organized around three concepts:
Tables (also called collections or datasets) are the top-level containers. Each table holds one category of information. A project might have a “Products” table, a “Status” table, or a “Team Members” table.
Fields are the columns of a table. Each field has a name and a type (text, number, image, and so on). The field structure defines what kind of data a table holds.
Records are the rows of a table. Each record is one entry: one product, one status, one team member.
Built-in Tables
Every project automatically gets three tables that 360Crafter creates and keeps up to date for you:
Panoramas contains one record for each panorama in your project, with fields like name, thumbnail, file URL, dimensions, and order.
Hotspots contains one record for each hotspot, with fields like name, type, position, the panorama it belongs to, and its applied presets.
Group Hotspots contains one record for each hotspot group, with fields like name, type, panorama, parent group, and child count.
You cannot delete these built-in tables. They are regenerated automatically whenever you add, remove, or change panoramas or hotspots. You can add your own custom fields to extend them. For example, you could add a “Location” field to the Panoramas table or a “Product SKU” field to the Hotspots table.
Field Types
When you add a field to a table, you choose its type. The available types are:
| Type | What it stores |
|---|---|
| Text | Short plain text |
| Long Text | Multi-line or rich text |
| Number | A numeric value, with options for decimal places and formatting |
| Integer | A whole number |
| URL | A web address |
| Color | A color value |
| Image | An uploaded image (JPG, PNG, WebP) |
| Audio | An uploaded audio file (MP3, WAV, AAC, and others) |
| Date | A date, with configurable display format and timezone |
| Date & Time | A date and time |
| Switch | A true/false toggle |
| Single Select | A choice from a fixed list of options you define |
| Linked Field | A reference to one or more records in another table |
Linked Fields
A linked field creates a relationship between two tables. For example, if you have a “Products” table and a “Categories” table, you can add a linked field to Products that points to a row in Categories. Each product record then references its category.
When you set up a linked field, you choose whether it connects one record to one other record, or one record to many.
Linked fields work in both directions. If Products links to Categories, you can also access which products belong to a given category from the Categories side.
Localization
Text and URL fields can be marked as localizable. When a field is localizable, it stores a separate value for each language your project supports rather than a single value.
For example, a localizable “Description” field on a panorama might store “Kitchen” in English and “Küche” in German. When a viewer switches the tour language, all localizable fields automatically display the correct translation.
You configure which languages your project supports in the project settings. The active language in the editor can be switched at any time to preview how the experience looks in each locale.
Editing CMS Data
The CMS Page
Open the CMS page from the project sidebar to see and edit all your tables. The interface works like a spreadsheet: you can add and remove columns, edit cells directly, import data from a CSV or JSON file, and manage all records in one place.
Quick Edit from the Editor
When you select a hotspot in the editor, the Properties Panel includes a CMS tab. This tab shows the custom fields for that hotspot’s record and lets you edit them without leaving the editor. Changes are saved immediately and are reflected anywhere that field is used in the experience.
Using CMS Data in Your Experience
CMS data becomes useful when you connect it to visible content in your tour. You can reference any CMS field in a text field using the [table.field] token syntax.
For example, placing [hotspot.name] in a hotspot label inserts that hotspot’s name from the CMS. Placing [panorama.location] in a description inserts the location field from the Panoramas table for the current panorama.
This is covered in detail in the Dynamic Linking article.
Collection Lists
A collection list is a special skin component. It connects to a CMS table and renders one copy of its contents for each record in that table. This lets you build dynamic lists, galleries, or menus that are driven entirely by CMS data.
You can create a menu by having 3 text component A, B and C as their own duplicated menu items in the skin and linking them to panoramas A, B and C. Or you can put in a single Collection List with 1 text component. In which you link the collection list to the panoramas. Now when you import later panorama D, it is automatically shown up as well in the menu.
You can also configure filters and sorting on a collection list to control which records are shown and in what order.