Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be πŸ“–

Gopilot Assist

An asset by Smorty
The page banner background of a mountain and forest
Gopilot Assist thumbnail image
Gopilot Assist thumbnail image
Gopilot Assist thumbnail image
Gopilot Assist thumbnail image
Gopilot Assist thumbnail image
Gopilot Assist hero image

Quick Information

0 ratings
Gopilot Assist icon image
Smorty
Gopilot Assist

Gopilot allows for AI code completions, refactoring and chatbots with agentic capabilities within Godot!WARNING: Depends on "Gopilot Utils" pluginSupported 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(<NameOfClass>) (gets docs for this class)And you can add your own!There is also the agent, which can- add nodes with properties- edit nodes- remove nodes- create interfaces- create and assign scriptsyou can make your own agents and tools rather easily. I will make a youtube video about that soon and link it here

Supported Engine Version
4.4
Version String
1.0
License Version
GPLv3
Support Level
community
Modified Date
13 days ago
Git URL
Issue URL

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

README image of chat interface

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(<folder depth e.g. 7>))
  • your scripts (@script for current script or @my_script.gd for other open scripts)
  • the docs (@docs(<NameOfNodeClass>))
  • your selected code (automatic)

To remove these retrieval methods, disable the check in the top right

AI-autocomplete

README image of ai-autocomplete in action

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:

README video of Gopilot Agent creating a login and register screen

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

README image of the settings menu

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

README image of gopilot buddy creator

Default system prompt too standard or token-heavy?

Create your own GopilotBuddy with custom system prompt and temperature!

Custom Tools and Agents

README image of tool interfaces in the chat

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!

GopilotTools 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 main points I want to accomplish πŸ‘·β€β™€οΈ

  • Improve chat-customizability πŸ› οΈ

    • Turn GopilotBuddy from Resource to Node
    • Fully custom chat-bubble-handling for GopilotTool and GopilotBuddy
  • 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 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

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

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() (gets docs for this class)
And you can add your own!

There is also the agent, which can
- add nodes with properties
- edit nodes
- remove nodes
- create interfaces
- create and assign scripts

you can make your own agents and tools rather easily. I will make a youtube video about that soon and link it here

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Gopilot Assist icon image
Smorty
Gopilot Assist

Gopilot allows for AI code completions, refactoring and chatbots with agentic capabilities within Godot!WARNING: Depends on "Gopilot Utils" pluginSupported 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(<NameOfClass>) (gets docs for this class)And you can add your own!There is also the agent, which can- add nodes with properties- edit nodes- remove nodes- create interfaces- create and assign scriptsyou can make your own agents and tools rather easily. I will make a youtube video about that soon and link it here

Supported Engine Version
4.4
Version String
1.0
License Version
GPLv3
Support Level
community
Modified Date
13 days ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers