Agent Mode is in beta and active development. If you’re weary of how Agent Mode will work with your project, we recommend testing it in an example project first.

What is Agent Mode?

Agent Mode is Bezi’s actionable setting. It understands your entire Unity project and can create and modify scripts directly, simplifying the suggestion to implementation process. You can accept or reject proposed code, compare diffs, and immediately test suggestions in-Unity.

To enter Agent Mode, select the mode dropdown (below the prompt textbox) and select Agent. When you’re in Agent Mode, it will look like this:

How’s Agent Mode different than Ask Mode?

Agent Mode will directly implement changes in Unity on your behalf, while Ask Mode cannot. Consider Agent Mode as automatic implementation and Ask Mode as manual implementation.

How do I use Agent Mode?

Agent Mode suggestion states

We recommend you accept or reject suggestions as you work. Allowing suggestions to remain undecided may lead to unintentionally accepting suggestions that you did not want implemented.

Proposed changes (i.e. suggestions) from Agent Mode can exist in three states.

Undecided: Suggestions that have not been accepted or rejected

Accepted: Suggestions that have been accepted, this can happen in two ways

  • Directly Accepted: You reviewed suggestion(s) and pressed Accept or Accept All button
  • Indirectly Accepted: You left suggestion(s) undecided and accepted a future suggestion that iterated on it

Rejected: Suggestions that have been rejected, by pressing the Reject or Reject All button

  • Suggestions cannot be indirectly rejected. If you want to reject a suggestions, make sure to do so manually and ideally as soon as you realize you don’t want it implemented

Code generation and modification

All Agent Mode suggestions are implemented by default so you can test them in context before deciding to accept or reject them. When you receive a suggestion in Agent Mode, it’s best practice to test the suggestion(s) in Unity, return to Bezi to accept what you like and/or reject what you don’t, and then prompt again to iterate.

When Bezi suggests a script with the Accept or Reject option, it’s been created and is viewable in Unity. This is what happens if you select either option:

  1. Accept / Accept All: this will not change anything, the script already exists in Unity and will stay as-is
  2. Reject / Reject All: this will remove any Bezi changes, either deleting new files created or reverting any changes made to an existing file

Accepting or rejecting a suggestion is a non-reversible action. Once either button is clicked, you can’t return to the undecided state. If you wish to implement a suggestion you rejected, you can return to that section, copy it from the chat or in canvas, and manually implement it (as you would in Ask Mode).

Diffs

We use diffs to indicate exactly what changes are being to files:

  • red highlights: deletions made within a file
  • green highlights: additions made within a file

In chat, modifications are shown compressed to be glanceable.

To view in the context of the entire script, open the script in Canvas (diffs will remain highlighted). This is intended to be a clearer way to show suggested changes in the script as a whole, so you can:

  • Compare the update to the original, for confidence that Bezi’s doing the right thing
  • Identify exactly where a change is being made, versus receiving a snippet out of context and having to guess where it fits into the larger script

Asset Drawer

The Asset Drawer lists all created and modified files. It sits above the prompt box so you can view all changes made in the duration of a thread in one place and bulk accept or reject a response’s suggestions.

Restore Checkpoint

Once a suggestion is accepted or rejected, that suggestion cannot be reverted back to an undecided state.

If you wish to revert the entire project to a overall prior state, select the Restore Checkpoint button to go back to a specific conclusive state, identified by a Bezi response.

For example, if you go down a rabbit hole working on a particular mechanic, only to get feedback that your second iteration is the right direction; you can restore to that response and continue to iterate from there.

Restore Checkpoint does not revert actionable code to undecided. It returns you to a conclusive point in time, erasing any new code and/or code modifications made by Bezi after the point.

This functionality is similar to the Edit Prompt functionality, but it allows you to return to a specific response without anything regenerating (whereas with Editing, you have to modify a prompt and therefore regenerate it’s results to return to that point).