
Publisher
smorty
Gopilot Assist
Gopilot allows for AI code completions, refactoring and chatbots with agentic capabilities within Godot! WARNING: Depends on "Gopilot Utils" plugin Supported LLM APIs are: - ollama - mistral-codestral - groq (experimental) - sambanova (experimental) - openrouter (experimental) The chat has many command, like for example - @script (gets the current script) - @some_open_script.gd (gets another script which is also open) - @scene (gets scene tree hierarchy) - @docs(
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
WARNING: Depends on Gopilot Utils ⚠️
Requires Godot 4.4 to function! ⚠️
AI-autocomplete and chat in Godot ✨
Gopilot Assist can assist you in many small tasks:
- autocomplete your code 👩💻
- provide help for your scripts in the chat 🖹
- create parts of your scene tree and scripts 🛠️
- refactor code with your lead 👩🏫
- whatever you want (via
GopilotTool
) 🤯
It focusses on token-efficiency and customizability
Chat
The chat is great for ideating on your code or gameplay concepts.
When prompted, Gopilot can look at:
- your scene tree (
@scene
) - your project files (
@files()
) - your scripts (
@script
for current script or@my_script.gd
for other open scripts) - the docs (
@docs()
) - your selected code (automatic)
To remove these retrieval methods, disable the check in the top right
AI-autocomplete
In the shown example, the _ready()
method was generated based on the code above
Many LLMs are largely trained on Godot 3.
In the example it generated outdated Godot 3 signal syntax ⚠️
Gopilot Agent
Can't be bothered to make a login screen?
Count yourself lucky, because Gopilot Agent might just do that for you:
Gopilot Agent can:
- Add, edit and remove Nodes
- create, store and assign Scripts
- create user interfaces
... And all that with automatic error-retrieval in an agentic approach
Customizability
Settings
Want to change the chat behaviour? Reduce token consumption with autocomplete? Maybe disable that big godot logo?
The settings menu lets you customize all that - and more!
Custom APIs
Your API provider is not in the list?
Add your own custom API provider under res://addons/gopilot_utils/api_providers
!
Still too much work?
Open a pull request on Gopilot Utils to support your favourite API provider.
GopilotBuddy
Default system prompt too standard or token-heavy?
Create your own GopilotBuddy with custom system prompt and temperature!
Custom Tools and Agents
Gopilot Utils recently added the AgentHandler
and it's already used in Gopilot Assist!
By default, you can select between "Chat" and "Agent" in the chat.
But... what if you want to make your own tool or agent? Or your own retrieval tool?
Gopilot allows you to create fully custom tools!
Browse res://addons/gopilot_assist/tools
and take a look at gopilot_example_tool/tool.tscn
to see it work!
You can make full use of Gopilot Utils and create retrieval tools, workflow-based tools or full autonomous agents!
GopilotTool
s allow you to seamlessly add custom UI elements into the chat!
Roadmap 🚌
Gopilot Assist is already mostly usable and feature-rich.
But what if - it were 2x as cool? 😎
Here are the master points I want to accomplish 👷♀️
Improve chat-customizability 🛠️
- Turn
GopilotBuddy
fromResource
toNode
- Fully custom chat-bubble-handling for
GopilotTool
andGopilotBuddy
- Turn
Expand settings ⚙️
- Add ability to add, edit and remove refactor prompts
- Add more API providers in Gopilot Utils and improve existing ones
Strengthen Gopilot Agent 🤵♀️
- Improve reliability
- Add loop-handling
- decrease tools per agent, increase agent count
- Add token- and request-count-efficient mode 💸
- Increase user feedback for intermediate steps
- Improve reliability
Improve Chat 🗨️
- Refine prompt recommendations to include retrieval tools
- Allow regenerating, editing and removing of messages 🪛
Reducing errors (obviously) 😒
- Gopilot Agent
- Fix scene root duplication error
- Always get correct scene root, even if scene is not saved
- Gopilot Agent
Difficult or impossible goals 🏔️
- Perfect error handling for Gopilot Agent
- Script error retrieval impossible
- Chat history storage
- Storing tool-based UI elements is exhausting for tool devs
- Improved multi-line autocomplete
- rules for fill-in-the-middle code-gen are complex...
- LLM based tool decision
- Want to keep request count and model size low
- Might be easier with refactored
GopilotBuddy
and chat interface