Skip to content

Conversation

@BryanRacic
Copy link

@BryanRacic BryanRacic commented Sep 16, 2025

Resolves issue: #73

Using this plugin on Godot 4.5 throws an exception due to Logging now being a native keyword. This PR just find-replaces all instances of Logger with CustomLogger so the plugin can be imported w/o error.

(A better solution would be to investigate the Logger usage and replace it w/ the new native stuff if possible....but who has time for that?)

Import error on current version

image

Fixed w/ PR version

image

@Megalukes
Copy link

This change fixed the issue to me when I updated to 4.5. Thanks a lot!

@andresTapari
Copy link

Yes this works just fine!

@Eyeo7809
Copy link

How do I make this be the version that I use for godot?

@saminton
Copy link

saminton commented Oct 9, 2025

Trying to update to 4.5 also. Applying this patch to my game everything seems to work OK in the editor but the LOD's are not updating when moving around in-game. Has anyone else come across this issue ?

@saminton
Copy link

saminton commented Oct 9, 2025

Trying to dig a bit deeper to find the root of the problem. Starting from an empty project. The LOD's are correctly updating in the editor moving the camera around, but when running the game they will stay stuck in the LOD state they were last viewed in the editor (using the editor's camera position).

Will report back when / if I find anything more conclusive

@saminton
Copy link

Ok after spending a bit of time on this, here are my findings:

Everything seems to work as expected both in editor and in game only if there is 1 cell to the octotree, meaning 1 multimesh in the editor like so.

image

As soon as several cells are present, things go south.

On initial setup of a gardener node everything works in the editor however

  • LOD's will not update in game.
  • Saving and reopening the scene in the editor causes the gardener editing functionality to completely break, the LOD's no longer update in the editor either, erasing no longer works and painting will override what was already there.

Upon initial setup if you run the game you will also see a a difference in the hierarchy between the editor and the remote runtime.

Going into the code, the update_LODs and assign_LOD_variant functions are being called and apear to be correctly updating the multimesh meshes in-game but on the wrong nodes. When logging the name of the nodes being changed they are not the ones that are visible in the game, checked by toggling the visibility via the remote editor and comparing the names of what is being updating.

As far as I can tell there is some kind of desync happening on save with the octotree, which would explain why it doesn't run at runtime nor when reloading the scene.

At this point it goes a bit beyond my understanding of how the plugin works and I don't really have the time to spend learning how the entire plugin works in search of a fix, I'd rather continue developing my game in Godot 4.4.

I hope this may be of help if anyone else want's to attempt getting the plugin compatible with 4.5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants