For the complete documentation index, see llms.txt. This page is also available as Markdown.

🧠Domains

Changing Domains & Creating New Domain Assets

Domain are the language of representation for expressing behaviors, from high-level tasks to low-level actions. A domain consists of a set of actions (the atomic units of behavior), a set of tasks, a set of methods for each task, and a specification of steps for each method.

Table of Contents

Bitpart Domain Setting (BDS) vs. Bitpart Domain Asset (BDA)

If you're browsing through our archetypes, you may notice there are two different types of Bitpart domain data assets. The BDA asset holds the domain content in json, whereas the BDS asset provides additional settings or overrides for how the linked BDA is used.

At the moment you will not need to have more than one BDA or BDS asset, as the settings that would inspire additional assets are not yet implemented. The idea is that by separating the settings into their own asset type allows multiple instances of settings to use a shared BDA without needing its own copy.

Switching a Map's Domain

You can switch out which domain content a level is using in the corresponding GameMode.

  • Open your Game Mode blueprint.

  • Click into the BitpartGameplayManagerData component.

  • In the details panel, scroll to Bitpart → Startup Domain.

  • Click into the Startup Domain drop down and select the data asset for the domain you would like to start when loading up the level.

Enabling & Disabling Specific Tasks

When you open a Bitpart Domain Setting (BDS) asset, you have the ability to enable and disable different tasks within the domain.

Isolating a singular task by disabling all of the others is a great way to test and troubleshoot specific content.

To make adjusments, open the domain your level is using and toggle on/off tasks in the Task Selection section. Save your changes once you're finished, and you're good to go.

Updating Existing Domain Assets

As you're tweaking and adding content to a Coppola project, you'll need to update it's corresponding Bitpart Domain Asset (BDA) in Unreal. An out of date BDA will result in old content appearing during gameplay.

To start, find the corresponding domain asset in Unreal. If you're looking to update content for one of our archetypes, you can find the domain assets in the Demo folder of the specific archetype. Open the BDA. It should look something like this:

  • Before you make any changes in Unreal, export your content from Coppola.

  • Once you've exported the content, click the Import From Json File button at the bottom of the BDA editor. You'll be promoted to import a file. Choose the content you exported and hit Open.

  • If the file uploads properly, you will see the message above appear, validating the success. The JSON preview should now show your new content. Be sure to save the asset!

  • When uploading a new JSON file it's best practice to refresh any corresponding BDS assets. Refresh Task List will ensure any changes you've made are reflected in gameplay. Tasks can also be enabled or disabled to your heart's content.

Creating New Domain Assets

So, you've created brand new content in Coppola. Let's walk through the steps required to move that content into Unreal so it can be used during gameplay.

  • Once you have the content exported, we're going to move the process into Unreal. Open the project you'd like to add the new content into. Within the folder structure, determine where you'd like to place the new BDA and BDS assets.

Adding a New BDA
  • Right-click in the Content Browser, choose Miscellaneous → Data Asset → Bitpart Domain Asset and name the asset.

Bitpart best practice is to name the asset using BDA_ in front of the name for consistency and ease.

  • When opened, the new asset should look like the above.

  • While it is not mandatory to fill out the blank fields, it can be helpful to do so for future identification.

    • Domain Id: The domain id is found within Coppola. When you open your project, there will be a string of letters and numbers next to the project name that can be copied. Copy and paste that string into the first field in the new asset

    • Description: A high-level description of the content to give context at a glance.

  • Next click Import from Json File and choose the .json file from the exported Coppola domain. You will see the above message once it finishes uploading.

  • The domain asset should look like this once the content has successfully uploaded.

  • Save the asset before navigating back to the Content Browser

Adding A New BDS
  • Once again, right-click in the Content Browser and choose choose Miscellaneous → Data Asset → Bitpart Domain Setting and name the asset.

Bitpart best practice is to name the asset using BDS_ in front of the name for consistency and ease.

  • Open the new asset. The fields with an asterisk below are not mandatory for the asset to work, but we do recommend filling them out.

    • *Bitpart Domain Name: Generally the name of the project in Coppola.

    • *Bitpart Domain ID: This should be the same ID as the corresponding BDA. You can either copy it directly from there, or you can grab it from the Coppola project.

    • Bitpart Dialogue Choices Request Strategy:

      • Combined: Offers all available dialogue options to the player

      • Prefer Direct Responses: Offers only dialogue options that are relevant to each choice the player makes when conversing during gameplay

    • Domain Asset: Links to the corresponding BDA. Search for the name in the drop-down. Once you choose a domain asset, you should see the Task Selection field fill out with each of the available tasks in your content.

      • You can either leave all tasks enabled, or you can disable specific tasks. This feature is particularly helpful if and when you are testing your content.

  • Save the asset.

  • You've successfully created the necessary domain assets. In order to use them in gameplay, you'll need to plug the Bitpart Domain Setting into the BitpartGameplayManagerData component of your Game Mode.

  • Once you've gotten the BDS inputted into the BitpartGameplayManagerData component, hit play to see the content come to life.

Last updated