⁉️Troubleshooting

Restart Instructions

When creating instructions that run over time, such as continuously rotating a GameObject, you may want to restart the instruction list to create a loop.

Important: Always Wait 1 Frame

Before restarting the instruction list, add a Wait 1 Frame instruction. This brief delay allows Unity to finish processing the current frame and ensures the loop continues smoothly.

Why This Matters

Restarting the list without waiting a frame can trigger an immediate infinite loop, overwhelming Unity’s update cycle. This can cause the editor or game to freeze, becoming unresponsive.

Open for Full Editing Support

After version 1.0.6, you cannot edit any of the references inside the Run Instruction Block List or Run Conditions Block List instructions of a prefab unless you:

  • Open the prefab in Prefab Mode, or

  • Have an instance of the prefab in the scene.

Why This Happens

This is due to a known Unity serialization quirk, often called the “Unity serialization being sneaky” problem. Unity prevents deleting a prefab asset if it is open in the Inspector due to how the references logic is set up. Because of this, editing references inside these specific block list instructions directly on the prefab asset is blocked to avoid conflicts.

What This Means for You

  • To edit these references safely, open the prefab in Prefab Mode or edit an instance of the prefab in your scene.

  • Attempting to edit references inside these block list instructions directly on the prefab asset without doing so is unsupported.

Updating from 1.0.5 to 1.0.6

There are some potentially breaking changes to how references are handled in this update. We’ve tried to make it as painless as possible, but because there are so many different ways to use LogicBlock, the safest way to update is:

  1. Take a backup of your project.

  2. Uninstall LogicBlock.

  3. Install LogicBlock again from the Package Manager.

  4. Restart Unity (this one’s important).

We normally avoid breaking changes, but this one was needed to fix an important issue where reference values could sometimes become linked.

What’s Changed

  • Fixed: New references made after 1.0.6 will no longer link their values together.

  • Backwards Compatibility: We’ve added a system to try to keep your current reference values as they are. That said, there may be edge cases where you’ll need to re-assign some.

  • Important: The fix won’t touch old linked references from 1.0.5. This is to avoid accidentally deleting or changing your existing data.

Caveat

Before making new references, you must have inspected the GameObjects with the Run Instruction/Condition List instruction at least once. This triggers the backwards compatibility check and marks the old references as safe.

If you spot missing references, try to unload the scene and load it again (don’t save before doing this).

Tip: To unlink a shared reference value, simply change the property type on the last reference.

Note: If you run into major issues and need to roll back to 1.0.5, let me know. I’d love to hear what went wrong and can provide you with the previous version.

Last updated