Sparks
Sparks are reusable components or modules. They have 3D characteristics and self-contained functional logic. They are the building blocks of an experience. They can be visual or non-visual elements added into an experience with modifiable Traits. Sparks are defined by their modifiable Traits.
Most Sparks have common Traits like ‘Altitude,’ ‘Position,’ ‘Rotation,’ and ‘Scale.’ Other Sparks have unique Traits like ‘Grabbable,’ Interactable,’ or ‘Collidable.’
A Spark (file) is composed of two things:
Asset: Audio, Geometry, Image, Video
Logic: Traits and Behaviors (Causes and Effects)
When a Spark is created, it packages the Assets and Logic into a standalone, self-contained unit (the Spark file). These Spark files can be created in Bonfire:
Bonfire Builder: An 'import' option allows creators to ingest models, audio, etc., directly into Bonfire and associate them with defined behaviors. This enables non-technical creators to generate custom Sparks from a source asset.
Types of Sparks:
Living - While any Spark can be given lifelike characteristics (e.g., run, walk, fall, jump, sway), it is most intuitive to think of these Sparks as humans, animals, plants, or mythical creatures.
Non-living - Sparks typically described as non-living might be environmental or structural elements to a scene (e.g., buildings, rocks, rivers, streets, vehicles, furniture, equipment)
Invisible - These are a particular type of Spark that enables experience changes. Creators can find these sparks within the Configuration (Config) folder within the Spark Browser. They include a countdown timer, an inventory counter for items collected, a modifier, and more.
Environmental - These Sparks control the weather, lighting, or audio (e.g., Sun, Skies). Every experience requires both the Sun and the Sky. These Sparks can be replaced but cannot be deleted. Once dragged into the Map Editor, the Sky or Sun Sparks are configurable from within the Configuration panel (bottom right).
History - A special kind of Spark called a State Machine keeps track of the state. An example of using this Spark is to track whether a door is open or closed. That becomes useful for creating other behaviors based on the state. For instance, if the door's state is closed, then using the ‘Approached’ Cause, the door Spark can be configured to open automatically.
Graphical User Interfaces - Bonfire supports graphical components (e.g., buttons, text, shapes etc.) to create menus and other graphical interfaces. These graphical components are referred to as Symbol Sparks. They include standard default shapes (e.g. square, triangle, circle, oval, parallelogram, diamond)
Deleting Sparks in Spark Browser
When a Spark is deleted from the Spark Browser, it is replaced with placeholder primitives. This applies to all imported Sparks and downloaded assets in Asset Config if reset.
In the video above, a Spark from "My Sparks" is placed into the Map Editor. The Spark is then deleted from the Spark Browser, followed by Play/Stop Play Mode. As a result, the Spark is replaced with a placeholder primitive. Deleting a Spark from the Spark Browser is not recommended unless necessary, as it may affect its availability within the current session.
In the video above, a Spark downloaded through the Assets Config is placed into the Map Editor. The Assets Config is then reset, followed by entering and exiting Play Mode. As a result, the Spark is replaced with a placeholder primitive. Resetting the Assets Config is not recommended unless necessary, as it may affect the availability of Sparks within the current session.
Deleting a Spark: If an imported Spark or a downloaded asset from Asset Config is removed from the Spark Browser and then played in Map Explorer, this results in the Spark being replaced with placeholder primitives upon reloading the scene.
Do Not Delete A Spark in the Spark Browser
Important Note: Deleting a Spark from the Spark Browser while it is in a scene is HIGHLY NOT RECOMMENDED, unless fully understood.
If removal is necessary, publish the Book beforehand to ensure it is stored on the cloud server. When the Book is reopened remotely via Share Code in Builder—without the Sparks in the Spark Browser—it will automatically retrieve them from the cloud and store them in the Downloads folder. This process may help prevent unintended data loss in the project.
Last updated
Was this helpful?