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

🔧How to Debug Common Issues

Table of Contents

My content won't run in Unreal.

If your content doesn't run during gameplay in Unreal, there are a few common issues that may be the root of the issue.

Bitpart Tip: If you're not seeing specific content run in your level we always recommend starting by disabling all content in your BDS asset except for the specific task you're looking to debug. This enables you to remove other variables and slowly add them back in (if required).

Review Authored Content

There are a few different pitfalls that can occur when authoring content that can lead to failures when starting gameplay in Unreal. We recommend reviewing the task at hand in Coppola for some of the following mistakes.

This one might seem silly to double check, but it's not impossible to forget a step integral to the completion of the task. Read through each line in the task to make sure you have all the required actions.

Sometimes we see an issue where one NPC picks up a prop and then another NPC is told to use the prop. In the example below you'll see the barkeep picks up the glass and then the bar patron is told to drink from the glass. The bar patron can't drink from a glass they have not picked up, so the task will fail.

This may not always appear specifically with pick up . Double check each step in a task to make sure the actions are taken by the right NPC.

This issue can also appear where one prop is picked up and then a different prop is used. Check to make sure you have the correct role and prop assigned in each step of a task method.

Review Smart Object Definition

Bitpart Tip: Issues with Smart Object construction often present in a very specific way. If the NPC is not interacting with the Smart Object in the first line of the content, you'll generally see the task begin to play out. The NPC will then pause briefly before getting replanned into another task (or sometimes the same task, depending on the way your content is set up).

Even if you're not seeing the replan mid-task, we recommend reviewing the following potential solves, just in case.

Double Check Tags in Smart Object Definitions

If there are multiple Smart Objects used in a single piece of content, you'll want to repeat this step for each prop.

  • Find the Smart Object Definition in the Content Browser and open it. Each slot will reference the necessary activity tags.

    • User Tag Filter: the tags here represent the props that are accepted by the Smart Object at hand. Using the above screenshot as an example, the PutsDown slot accepts any prop with the Bitpart.Prop.Glass tag. If you're trying to put an item down on a surface, make sure it's attributed prop tag is set here.

    • Activity Tags: there will be at least two activity tags used for a given slot—a Bitpart.Prop and a BitpartAnim tag. The former identifies the prop the Smart Object is attached to, and the latter identifes the action taken by the NPC.

  • Check both the user tag(s) and the activity tags to make sure they correlate accordingly. In the screenshot above, you'll notice that the Bitpart.Prop tag is incorrectly assigned. Bitpart.Prop.BarCounter has been assigned instead of Bitpart.Prop.HighTable .

  • If you're unsure what prop type tag should be used, use the Content Browse to find and open the prop blueprint. Select the BitpartProp component and navigate to Details → Bitpart → PropType → Anim Prop Tag. Make sure the tag you're using in the Smart Object Definition reflects what's selected here. Here's an example:

Missing Transforms and/or Tags

There are two different types of tags used for Transforms: Bitpart.Trait.Placement.Actor and Bitpart.Trait.Placement.Mesh . If you're unclear on what these tags do, we have documentation on both.

  • If you are attempting to place one prop on another, make sure you're not missing the Transform element in it's entirety. If it does exist, double check that you're not missing the tag at the bottom.

    • A Transform with the mesh placement annotation is used when the prop mesh should rest at a different orientation from the actor root — for example, a bottle laying on its side on a shelf. SO if the orientation of your prop is not changing, this element is unneccessary and therefore not present.

Why am I getting an action failure?

If you're not seeing your content play through the way you would expect, check the output log for the error above. Below are some of the reasons why this error might occur. Try them out! If they don't help resolve the issue, feel free to reach out to us on Discord for help.

Smart Object Issue

Often when this error appears it means there's an issue with the way a Smart Object is constructed. Let's walk through some steps you can take to confirm that's the problem and then how to proceed.

  • In your Command line, input log LogSmartObject Log and hit Enter. Hit play and let the content run through until it stops. Once it hits it's stopping point, pause the game and open the Output Log.

  • Search for Failed to find any acceptable SmartObjects in the Output Log. If it does not appear, then the issue likely lies elsewhere. If it does show up find the Smart Object the message points you towards.

  • Find the Smart Object in your Content Browser and open it. Now, some specifics to check:

    • Is there a slot on the Smart Object for the action you're trying to take?

    • If there is a slot, are you using the correct user tag filters and activity tags?

    • Is your user tag filter looking for ALL tags to match? If so, make sure the action you're taking would have all of those tags at work. It's possible you'll need to adjust the filter to use a different Root Expression.

    • Does the slot have a Behavior Definition set?

    • Are there any preconditions on the slot? If there are...

      • Are they set-up correctly?

      • Are they fulfilled by the action you're trying to take?

Last updated