godot icon indicating copy to clipboard operation
godot copied to clipboard

Make conversions from `NodePath` to `String` explicit.

Open Ivorforce opened this issue 5 months ago • 0 comments
trafficstars

  • Follow up of https://github.com/godotengine/godot/pull/107379, https://github.com/godotengine/godot/pull/107295, and #107406

Same idea as above - we want to avoid accidentally converting to String, because it's expensive.

Some questionable String conversions are exposed in this PR. The most egregious are repeated calls for the same conversion in loops, and others are using NodePath to verify that a string is path-like, and immediately converting back. If any of these are on hot paths, they should be fixed as a follow-up.

After this PR (and #107406), there are just 2 implicit String operator conversions left:

  • Variant - probably can't fix this now, Variant has all the implicit conversions.
  • StringName - probably fine for now since it's usually fast (at least on repeated access).

So that concludes the String journey for now - but there's tons more implicit conversions elsewhere too 🫣 To be continued...

Ivorforce avatar Jun 11 '25 14:06 Ivorforce