What are Project Rules?
Persistent, reusable context that Bezi will apply to every prompt response in the project. Adding Project Rules is the best way to ensure Bezi’s assistance will be consistent with your project’s goals, preferences, and workflows.Project Rules only apply to the Unity project they’re set in. To apply the same Project Rules across multiple projects, finalize them in one project, then paste them into the other Project Rules pages.
How to access Project Rules:
To access your Project Rules, click the icon in the top left of your app to open the Sidebar then selectProject Rules
to open the page.
Project Rules comes with default rules. You can edit those or write your own from scratch.
What to use Project Rules for:
- Output and structural guidelines: define code syntax, input/UI systems, debug strategies, domain-specific knowledge, project-specific workflows, and more
- Communication preferences: set Bezi’s tone of voice, your proficiency level, how much instruction you want, and more
Project Rules writing guide
Project Rules can be written in natural languange. Like a prompt, an effective Project Rule is focused on a specific purpose. Do not try to pack too much into a single rule.You cannot make Bezi do something it’s incapable of doing via a project rule. Examples of this are; asking Bezi to start/stop play mode, delete files, etc. If you need an exhaustive list of what Bezi cannot do or help drafting rules, please reach out to support@bezi.com.
Things to do
- ALWAYS write direct, clear instructions: only use decisive verbs and be very specific
- GOOD: Follow code style rules defined in MyProjectStyle.md
- GOOD: NEVER use the Singleton design pattern
- BAD: write good code
- BAD: follow all SOLID principles
- Expand definitions with context and synonyms: Explain why the rule matters, if you want Bezi to identify something in your project give multiple examples, etc.
- Always add real, positive examples from the project: Find examples of situations that you want Bezi to mirror and list as many as possible, to help Bezi recognize the patterns
- Emphasize with strong language: Use caps and clear words like “ALWAYS,” “IMPORTANT,” and “CRITICAL” to signal importance
- Prioritize by importance: Place CRITICAL rules at the top, and move less important ones down
- Enrich references: provide library name, version, official website, and a direct link to scripting examples
- Update rules as the project evolves: Rules should be edited and improved, the fewer and clearer rules the better
Things not to do
- Do not write rules that use if or when: Rules must be set as universal principles
- Do not use vague language: Statements should be clear and decisive, “always” or “never”
- Do not use negative examples: If you are telling Bezi never to do something, define what it should do instead and give example(s) of the positive behavior
- Do not use negative examples: If you are telling Bezi never to do something, define what it should do instead and give example(s) of the positive behavior
- Do not have too much information in a single rule: Rules must be simple and clear. Write out the entire rule and, if there is too much information it in, break it into multiple rules and give it its own section
- Do not have contradicting rules or examples: Make sure your Rules serve a clear, well defined purpose and they all have relevant examples that will strengthen clarity
Project Rule Examples
Output and structural guidelines
Set code guidelines and logic
Set code guidelines and logic
Before you propose code-related changes, review all relevant scripts and analyze their code styles.Make sure all code-related changes you propose, to new or existing scripts, follow the project’s standard coding guidelines:
- Use camel case for naming
- Prefer long self-explanatory names for variables, methods, and types
- Add short summary comments for all methods only and for each step in complex algorithms
- Split long code statements into smaller ones
- Use constant fields instead of in-place constants
- Add logs for better debugging but avoid logs in extensively used methods (like Update)
Encode system preferences and project-specific knowledge
Encode system preferences and project-specific knowledge
- I’m developing a 2D game. Unity is configured for 2D development using sprites and an orthographic camera. Make sure to follow Unity’s best practices for 2D games.
- My project should use the old Unity Input System and old UGUI for interfaces; never suggest newer solutions. Always use Sprite Atlases.
- My project uses:
- Unity 6000.0 (aka Unity 6)
- new Input System for handling player’s input
- new UI Toolkit for user interfaces
com.unity.mobile.notifications@2.4.1
package for local notifications
Define how you want Bezi to approach debugging
Define how you want Bezi to approach debugging
_When I tell you that your solution does not work, provide additional, detailed debugging and troubleshooting steps based on best programming practices, so I can execute them, copy and paste the logs back to you, so you can identify the real cause of the issue and explain it to me. _
Define response steps and workflow requirements
Define response steps and workflow requirements
- When I ask you to suggest ideas, always check the web for relevant materials. Only suggest the latest, most popular, and proven solutions.
- When I ask you to debug something, always check http://stackoverflow.com for common solutions and known issues.
- When you generate scripts, give me clear and concise instructions on how to use them, which GameObjects to attach them to, and how to properly set them up.
- When you are unsure how to fix an issue, suggest adding logs for tracing a bug.
Communication preferences
Customize Bezi’s personality and responses
Customize Bezi’s personality and responses
- Make your tone less “eager-to-please”. All responses should be blunt and concise, yet friendly.
- Refer to me only as “buddy” in all responses moving forward.
- At the end of each message, add a motivational quote.
Match Bezi's response style and depth to your experience level
Match Bezi's response style and depth to your experience level
- I’ve been creating games as a hobby and want to learn professional game programming. Explain all software development and Unity-specific terms and concepts in detail. Include relevant project examples in your explanations as often as possible.
- You are a professional Senior Unity Gameplay Developer. Don’t explain basic things.
- I am a Game Designer looking to brainstorm new ideas. As we converse, don’t hesitate to suggest ideas for my game!