📚
DimX Bonfire & Sparks
  • 👋Welcome to Bonfire
  • đŸŽŸī¸Fundamentals
    • đŸ› ī¸Getting Started
      • 📘Bonfire Tutorial Videos
      • ⚡Supercharge Your Workflow with ChatGPT for Bonfire
      • đŸ“ĻInstallation Instructions
      • đŸ‘ĒAccount Setup
      • 🚀The Bonfire Launcher
      • 🎮Interface Guide and Controls
      • 🧱Core Concepts
      • âŦ‡ī¸Downloading Spark Content
      • đŸ–Ĩī¸Platform Support
      • 📖Bonfire Lite vs Pro
    • 🔨Builder
      • 🧰Start Building
      • 📖Menu
      • 🔧The Toolbar
      • đŸĒŸPanels
      • đŸ§™â€â™‚ī¸Built-in Content
      • đŸ§™â€â™‚ī¸User-Generated Content
      • 🏃Behavior Nodes
      • â„šī¸Traits
      • đŸ—’ī¸Presets
    • â–ļī¸Player
    • đŸ—ēī¸Mapifier
    • đŸŒŠī¸Sparkifier
    • ⚡Sparks
  • đŸ”ĨEmber
    • Base API
    • Extended API
      • Intrinsics
        • InvokeOutput
        • Mod
        • SparkRef
      • Return Types
        • Spark (ValMap)
          • Traits (ValMap)
    • Important Notes and Best Practices
  • â›ī¸Diving Deeper
    • Bonfire Best Practices
    • Workarounds
    • Tips and Tricks
  • Release Notes
    • Bonfire v1.18.8.1
    • Bonfire v1.18.7.3
    • Bonfire v1.18.6
    • Bonfire v1.18.5
    • Bonfire v1.18.4
    • Bonfire v1.18.3
    • Bonfire v1.18.2
    • Bonfire v1.18.1
    • Bonfire v1.18.0
    • Bonfire v1.17.0
    • Bonfire v1.16.0
    • Bonfire v1.15.0
  • Links
    • Support Site
    • Bonfire Tutorial Videos Playlist
Powered by GitBook
On this page
  • Focus
  • Coupling
  • Structured Architecture
  • “Interacted” and “Grabbed” Effects Require “Is Interactable” Trait
  • Setting UI Button Sort Order
  • Troubleshoot Missing Assets: Click ‘Spark’ Breadcrumb
  • Keep Utilization Under 200% for Optimal Performance in Bonfire Builder
  • Navigate Back to the Spark Browser Main Folder by Clicking the Hyperlinked Breadcrumbs
  • Right Size the Nodes or Chapter Clusters Using the "Zoom to Fit Selected" Feature
  • Customize Your Bonfire Builder Layout for a More Efficient Workspace
  • Manage and Save Your Workspace Layouts in Bonfire Builder Settings
  • Use the Search Bar to Find and Edit Sparks Across Multiple Windows
  • Use the "Report a Bug" Button to Submit Bugs or Feature Requests in Bonfire Builder
  • Managing Books with Share Codes
  • Opening Remote Books
  • Changing Share Codes
  • Using Custom Fonts in the Text Symbol Spark.
  • Managing Sparks Efficiently to Avoid High Utilization
  • Difference Between Using a Single Spark and Primitives in Utilization Performance

Was this helpful?

  1. Diving Deeper

Bonfire Best Practices

PreviousImportant Notes and Best PracticesNextWorkarounds

Last updated 1 month ago

Was this helpful?

Focus

Behavior nodes have a 1:1 relationship with their associated inputs/outputs within the behavior tree. Cause nodes should adhere to the Single Responsibility Principle, a vital part of the SOLID object-oriented design practices. If done correctly, the Cause node will be individually responsible for solely evaluating specific conditions. Similarly, using this principle with effect nodes means each node executes a single action.

Coupling

Coupling between nodes in code can lead to brittle behavior. Nodes should only communicate through input and output sockets; they should not depend on each other in code. This allows for easy modification and extension of the behavior tree without affecting other system parts, thereby conforming to the .

Structured Architecture

Behavior nodes cannot be Unity MonoBehaviors. They are Plain Old C# Objects (POCO). This practice of using POCOs creates a more structured application architecture that makes nodes platform-agnostic, performant, reusable, easier to control, and easier to troubleshoot. While MonoBehaviors are tightly coupled with Unity's lifecycle and primarily used for GameObject components, behavior tree nodes operate independently of Unity's GameObject architecture. To leverage Unity's lifecycle events, the SparkSDK offers the class.

“Interacted” and “Grabbed” Effects Require “Is Interactable” Trait

When adding an "Interacted" or "Grabbed" Behavior Node to a Spark, ensure that the "Is Interactable" trait is checked. It is common for new creators to overlook this step, leading to confusion about the inability to grab or interact with Sparks.

Setting UI Button Sort Order

When configuring UI buttons, make sure the Sort Order of the button is set higher than other UI elements within the same container (such as a Billboard or Screen Space UI) if symbols or elements overlap the button, as shown in the image. This ensures the button stays on the top layer, making it clickable and fully functional.

If no other UI elements overlap the button (like in the image below), having the same Sort Order is fine and should work as expected.

Troubleshoot Missing Assets: Click ‘Spark’ Breadcrumb

If a downloaded asset doesn’t appear immediately, try clicking the breadcrumb labeled "Spark" at the top of the interface to ensure the asset is properly loaded.

Keep Utilization Under 200% for Optimal Performance in Bonfire Builder

Always monitor the Utilization Bar in the Bonfire Builder and ensure it does not exceed 200%. Exceeding this limit can cause performance issues and lead to lag within your Book.

Navigate Back to the Spark Browser Main Folder by Clicking the Hyperlinked Breadcrumbs

To quickly navigate back to the main folder while in a sub-folder within the Spark Browser, simply click the breadcrumb labeled "Spark" at the top of the interface. This will immediately take you back to the main Spark directory, saving time and making navigation smoother.

Right Size the Nodes or Chapter Clusters Using the "Zoom to Fit Selected" Feature

In the Behavior Window and Chapter Window, use the "Zoom to Fit Selected" button to fill the screen with the specific behavior nodes or chapters in view. This button automatically adjusts the view to right size and center on the selected item, making it easier to find and edit nodes or chapters in complex layouts.

Customize Your Bonfire Builder Layout for a More Efficient Workspace

You can customize your window layout in the Bonfire Builder to suit your workflow preferences. Adjusting the layout can help you manage your workspace more efficiently when creating or editing Books.

Manage and Save Your Workspace Layouts in Bonfire Builder Settings

In the Settings window of Bonfire Builder, you can easily reset, save, and open your saved layout configurations. This feature allows you to customize your workspace and maintain your preferred setup across sessions.

Use the Search Bar to Find and Edit Sparks Across Multiple Windows

In the Chapter Window, Behavior Window, Spark Browser, Map Browser, Config Window, Entities Window, and Symbols Window, you can use the search bar to quickly locate or modify specific Sparks.

Use the "Report a Bug" Button to Submit Bugs or Feature Requests in Bonfire Builder

To make your report clear:

  1. Be Specific: Describe exactly what happened or what you want.

  2. Test Before Reporting: Make sure the bug happens more than once.

  3. Provide Details:

    • Steps to Reproduce: List what you did before the bug appeared.

    • Screenshots or Videos: Include visuals if possible.

    • System Info: Add your device and Bonfire version.

This helps the team understand and fix issues faster!

Managing Books with Share Codes

In Bonfire Builder, users can remotely access books created by other authors and review their code, provided they have the book’s share code. However, these remotely accessed books cannot be edited or republished under the same share code, ensuring the original author’s work remains intact. Additionally, users cannot save remotely pulled books from other authors locally.

If a user wishes to build upon an existing book, they can do so by selecting the Change Share Code button. Once the share code is changed, the book can be edited, published as the user’s own work, and saved locally.

Note that enterprise users will get their own dedicated domain, ensuring their books are accessible only to accounts within that exclusive domain. This setup prevents public users from viewing or making changes to their books, keeping everything secure and private.

Opening Remote Books

Books can be accessed and modified using a Share Code. To open a shared Book, navigate to the Remote Book window and enter the provided Share Code. Once accessed, the Book can be used and modified as needed.

Changing Share Codes

Selecting the Refresh icon next to the Share Code in the Book title tab generates a new Share Code for the published Book. Updating the Share Code allows the Book to be downloaded along with its assets and saved as a new creation.

Using Custom Fonts in the Text Symbol Spark.

In Bonfire Builder, custom fonts can be used in the Text Symbol Spark by importing them through the Sparkifier.

The Sparkifier is required to use custom fonts in Bonfire Builder. To create a new Text Symbol Spark, select Advanced, choose Symbol, and set the Symbol Type to Text Viewer and press the Select This Type button.

Then, navigate to Additional Data to import custom fonts.

Assign a name to the custom fonts, then build the Text Symbol Spark.

In Bonfire Builder, custom fonts built in the Sparkifier can be used by importing them into the Builder. Click the import icon, then select the custom fonts generated by the Sparkifier. Imported custom font Sparks can be found in "My Sparks."

Drag the Custom Font Symbol Spark into the UI Editor, then update the Font Name. The Text Symbol Spark will reflect the imported custom fonts in the Builder.

Managing Sparks Efficiently to Avoid High Utilization

In Bonfire Builder, it’s pretty common for creators to use primitives to highlight objects and help guide users. For example, when emphasizing an interactive table, some creators build the table entirely from primitive Sparks. However, using multiple primitives to construct a single object can significantly increase utilization, which may lead to performance issues and result in a more time-consuming setup process.

To reduce utilization, consider using a pre-made table Spark or cloning an existing table Spark instead of assembling one from primitives. Adjusting the color and alpha traits can achieve a highlighted effect similar to primitives while maintaining efficient resource usage. This approach minimizes the number of Sparks required, ensuring better performance within a Book.

The video above demonstrates how a single Spark can be highlighted by adjusting the color and alpha values in Spark Traits. The RGBA values are set as follows: R = 0 (Red), G = 0 (Green), B = 1 (Blue), and Alpha = 0.5.

The video above illustrates the difference between using a single Spark and multiple primitive Sparks for highlighting, along with a comparison of their utilization performance.

In the picture above, a table Spark is modified to create a highlighted effect using the Spark Value Traits in the Color property. The RGBA values are set as follows: R = 0 (Red), G = 0 (Green), B = 1 (Blue), and Alpha = 0.5. Adjusting these values allows the Spark to maintain its structure while visually standing out, similar to a highlighted primitive. This method reduces the need for multiple primitives, optimizing performance and lowering utilization.

Difference Between Using a Single Spark and Primitives in Utilization Performance

In the image above, the Table entity Spark is highlighted by adjusting its color and alpha properties. This configuration results in only 3% utilization, ensuring stable performance.

In the image above, multiple primitive entities are combined to form the Table Spark. This setup results in 4% utilization, which is higher compared to using a single Spark.

Important Note: Using multiple primitive Sparks to create a highlight effect is not recommended, as this approach increases utilization and may impact performance stability. For optimal results, use a single Spark rather than combining multiple primitive Sparks.

If you find a bug or want to request a new feature in Bonfire Builder, click the button.

The Remote Book feature provides access to Books that have been published or shared. Entering a valid Share Code makes the Book available for use and modification.

A Share Code is required to access a published Book. Once entered, the Book becomes available for editing and customization.

When a Share Code is changed, the Book can be saved as a Local Book. Opening the Local Book window and saving the Book locally assigns ownership. Once saved, the Book can be published with a newly generated Share Code.

In Supplemental Data, click the icon in the top right corner to import the custom font file, then select the Browse button and select the desired Font File Type (either TTF or OTF).

â›ī¸
"Report a Bug"
Open/Closed Principle
Lifecycle