YouTube2Text

Godot 4.8 is a HUGE update! — Transcript

by ByteSeb · 2,382 words · 355 segments · language en · Watch on YouTube

Full transcript

  1. 0:00GDO4.8 has now entered feature freeze.
  2. 0:03So, it's the perfect time to talk about
  3. 0:05the best new features from quality of
  4. 0:08life improvements to new very requested
  5. 0:10nodes and huge features that will be
  6. 0:13very useful for bigger games.
  7. 0:17[music]
  8. 0:19Let's start with the rendering side. 4.8
  9. 0:21[music]
  10. 0:22finally introduces texture streaming.
  11. 0:24It's a feature that lets the engine load
  12. 0:26lower quality versions of a texture
  13. 0:28based on the camera distance to save
  14. 0:30VRAMm and improve load times. This can
  15. 0:33be very useful, especially for openw
  16. 0:35world games that often have to render
  17. 0:37many high-res textures at once. The
  18. 0:40feature is marked as experimental, but
  19. 0:42I've tried it and it works fine. There
  20. 0:44were a few smaller bugs, mostly related
  21. 0:47to error spamming, but they've already
  22. 0:49been fixed. You have to enable this
  23. 0:51feature in a project setting under the
  24. 0:53rendering and texture section. There's
  25. 0:56an option to set a memory budget,
  26. 0:58forcing the game to lower the
  27. 0:59resolutions of the textures to stay
  28. 1:01within that limit. After you enable it,
  29. 1:03you should see a new textures button in
  30. 1:05the toolbar containing a submen with
  31. 1:08quick quality presets you can apply to
  32. 1:10the project settings. You should also
  33. 1:12make sure to import all the textures you
  34. 1:14want as textured 2D streamed, not just
  35. 1:18textured 2Ds. otherwise they will not be
  36. 1:20affected by the texture streaming. While
  37. 1:22there's no quick function to apply a
  38. 1:24preset at runtime, in case you wanted to
  39. 1:27add texture quality settings in your
  40. 1:29game, you can just set the corresponding
  41. 1:31values in the new texture streaming
  42. 1:33singleton and it should work at runtime.
  43. 1:36That's how I've managed to integrate it
  44. 1:38with my modular setting system. If
  45. 1:40you're interested in how that one works,
  46. 1:42leave a comment and I'll make a video
  47. 1:44about it. It might not seem like it, but
  48. 1:47setting systems in games can be their
  49. 1:49own rabbit hole once you start to have
  50. 1:51dozens of these with different values,
  51. 1:53translations, and implementations.
  52. 1:56Moving on to another rendering feature,
  53. 1:58directional light 3D nodes have added
  54. 2:00support for screen space contact
  55. 2:02shadows. It renders precise small
  56. 2:05shadows with detail that traditional
  57. 2:07shadow maps may miss. This is especially
  58. 2:09useful for things like foyage, fences,
  59. 2:12or other smaller detailed objects. Of
  60. 2:15course, as with any screen space-based
  61. 2:17technique, some detail will be lost if
  62. 2:20the object is not completely visible,
  63. 2:22but still it can vastly improve the
  64. 2:25depth of a scene. It's something that I
  65. 2:27personally don't want to have. Keep in
  66. 2:29mind that you have to enable this in the
  67. 2:31directional light 3D node, but also in a
  68. 2:34new project setting under rendering
  69. 2:37lights and shadows. One of the most
  70. 2:39requested 3D nodes in GDAU has always
  71. 2:41been line 3D. This release doesn't have
  72. 2:44that, but it does introduce a new trail
  73. 2:463D node that shares some of the codebase
  74. 2:49a future line 3D node should have. Trail
  75. 2:533D resizes itself based on movement,
  76. 2:56leaving a trail behind. This is useful
  77. 2:58for velocity lines, bullet trails, wind
  78. 3:02trails, and those types of effects that
  79. 3:04are actually more complex to implement
  80. 3:06than they seem. There's options for
  81. 3:08width, a color gradient, a custom curve
  82. 3:11if you want to change the shape a bit,
  83. 3:14and even a custom material. Even though
  84. 3:16this last option is a bit limited
  85. 3:18because trails already rely on custom
  86. 3:21shaders, I think I'll be using this for
  87. 3:23glide and ship trails in my game. By the
  88. 3:26way, this is Project Neon Wild, the
  89. 3:28cyberpunk survival sandbox game I'm
  90. 3:31working on. You explore an infinite
  91. 3:33procedural high-tech world in decay and
  92. 3:36survive by scavenging resources, raiding
  93. 3:39survivors, installing body implants, and
  94. 3:42upgrading your ship. It's still in
  95. 3:44pre-alpha, so I know it looks bare
  96. 3:46bones. I want to finish the basic
  97. 3:48systems first and then focus on making
  98. 3:50it pretty before releasing a demo or a
  99. 3:53Steam page. If you're interested in my
  100. 3:55game or general game development deep
  101. 3:57dives, you can subscribe or follow me on
  102. 3:59Blue Sky. Let's keep [music] going.
  103. 4:01Previously, you could only use decals in
  104. 4:04the 4 plus renderer. 4.8 now allows you
  105. 4:07to have them in the compatibility
  106. 4:09renderer as well, which is great for
  107. 4:11compatibility with older devices. One of
  108. 4:14the main limitations decals also had was
  109. 4:16that they were static. Gado draws decals
  110. 4:19in a single draw call to improve
  111. 4:21performance by grouping all of them in a
  112. 4:24single texture, a decal atlas. Now the
  113. 4:27rendering server is able to update a
  114. 4:29single texture in that ad class without
  115. 4:31needing to rebuild the entire thing. In
  116. 4:34practice, you can use this to create
  117. 4:36animated decals via drawable textures
  118. 4:39and even animated light projectors too
  119. 4:41because they work in the same way. This
  120. 4:43is useful for effects like water
  121. 4:45costics, animated puddles, animated
  122. 4:48movie projectors, etc. Finally, for this
  123. 4:51section, multibounce ambient occlusion
  124. 4:54has been merged for 4.8. This one also
  125. 4:58has to be enabled in the project
  126. 5:00settings. GDAU already had SSAO, adding
  127. 5:02drop shadows between corners to give
  128. 5:05scenes more depth. However, this could
  129. 5:07also lead to certain areas being over
  130. 5:10darkened. Multibounce ambient occlusion
  131. 5:13reads information from the albido
  132. 5:15texture to simulate color bouncing off
  133. 5:17the surfaces, making those shadows look
  134. 5:20more natural and balanced. It's an
  135. 5:22industry standard [music] feature other
  136. 5:24game engines already had, so it's nice
  137. 5:26to see GDO finally getting it. There's
  138. 5:29plenty of editor improvements, so I'm
  139. 5:32just going to mention the most important
  140. 5:33ones quickly, such as the new find
  141. 5:36[music] and replace UI. This panel now
  142. 5:38includes a preview of what the
  143. 5:40replacement will [music] look like. It
  144. 5:42allows specifying a folder, a pattern,
  145. 5:45and you can even have many tabs. This is
  146. 5:47complemented by a new experimental
  147. 5:50symbol renaming feature. While the
  148. 5:52editor was already able to replace
  149. 5:54strings in [music] text files, it wasn't
  150. 5:57very smart. It replaced every occurrence
  151. 5:59of that string, including comments,
  152. 6:02variables, and other things that you
  153. 6:04might not want to change. Symbol
  154. 6:07renaming allows you to select a variable
  155. 6:09and [music] rename it, respecting its
  156. 6:11scope. It will also skip comments or
  157. 6:14other [music] things that aren't direct
  158. 6:16references to that exact variable as
  159. 6:18well, even if they share the same
  160. 6:20string. It's a step forward when it
  161. 6:22comes to making the code editor more
  162. 6:24robust and smarter, [music] as it
  163. 6:26usually lacks behind others or editors.
  164. 6:30Another feature that improves the code
  165. 6:32editor is the new support for warning
  166. 6:34and error underlining. The code editor
  167. 6:37used to highlight an entire line if you
  168. 6:39had either of these, which could be
  169. 6:41confusing if you had a many errors in
  170. 6:43the same line. The main 2D, 3D script,
  171. 6:47and asset store tabs have now been
  172. 6:49turned into docks [music] you can move,
  173. 6:52make floating, reorder, and close. This
  174. 6:54will improve the flexibility of the
  175. 6:56layout even though there are still some
  176. 6:58limitations. [music] These docks can
  177. 7:00only be centered for now, and the game
  178. 7:02tab can't be made into a floating
  179. 7:04window. Below those tabs, you'll find
  180. 7:06the new 2D, 3D, [music] and game
  181. 7:09toolbars. They feature a new design that
  182. 7:11groups some icons into related actions,
  183. 7:14grouping things like the transform
  184. 7:16[music] actions, the snap buttons, and
  185. 7:18the environment options. I like this
  186. 7:21change. I think it [music] makes them
  187. 7:22more legible, and especially for the
  188. 7:24Game Tap toolbar. That one used to have
  189. 7:26the window options kind of hidden. By
  190. 7:29the way, the embedded game view has now
  191. 7:31become the default instead of a floating
  192. 7:33window. So, like in most engines,
  193. 7:35[music] it's just so useful. The tree
  194. 7:37control has gotten a new feature that
  195. 7:39makes an item stick to the top of the
  196. 7:41tree if it's the parent of a foldable
  197. 7:43section. Because the editor is made with
  198. 7:45GDO's UI toolkit, this works for both
  199. 7:48tree controls you have in the editor's
  200. 7:50lists like the scene tree panel that now
  201. 7:53supports track toggles for visibility
  202. 7:56like in Blender. The add node dialogue
  203. 7:59or the [music] file system dock, which
  204. 8:01speaking of, I get a new shortcut that
  205. 8:03lets you zoom in and out by holding down
  206. 8:05the control key while moving the scroll
  207. 8:08wheel, emulating how many file managers
  208. 8:10do it. There's been two menu bar options
  209. 8:13that stood out to me because of how
  210. 8:14convenient they are. First, there's a
  211. 8:17new option to clear the project cache.
  212. 8:19Sometimes import settings or assets
  213. 8:22break or the project cache gets too
  214. 8:24bloated. You could delete the Dodo
  215. 8:27folder to remove the cache, but it also
  216. 8:30removed other things like colored and
  217. 8:32favorite folders. This option keeps
  218. 8:34those while still moving the rest to the
  219. 8:37trash. Another new option lets you
  220. 8:39automate the setup of the Android SDK
  221. 8:42when you want to export your game to
  222. 8:44Android. This was annoying as you had to
  223. 8:47do the entire process all over again
  224. 8:49when the version changed. The engine
  225. 8:51should now take care of installing the
  226. 8:53export template and setting up the SDK
  227. 8:56properly. You can now assign different
  228. 8:58audio streams to theme event because it
  229. 9:01uses a regular audio stream. You could
  230. 9:03also pass an audio stream randomizer to
  231. 9:06make the pitch and volume vary a little
  232. 9:08each time they're played. It's a nice
  233. 9:11feature. You could already do this, but
  234. 9:13it required you to make a manual
  235. 9:15implementation, and you also had to
  236. 9:17assign it to all controls you wanted to
  237. 9:19be affected. This already affects all
  238. 9:21instances of that [music] control
  239. 9:29labels. Enriched text labels only
  240. 9:31allowed hard-coded sizes. This could
  241. 9:34quickly become an issue if you had long
  242. 9:36text, user input, or when translating
  243. 9:39strings to other languages, as the
  244. 9:41formatting of the text may change and
  245. 9:44break the labels bounds. You can now
  246. 9:46enable automatic label resizing, making
  247. 9:49the engine adjust the font size to
  248. 9:51ensure the text fits within the label's
  249. 9:53bounds by specifying a min and max size.
  250. 9:57One of the most requested visual shader
  251. 9:59features was support for group nodes. I
  252. 10:02wouldn't really call myself good with
  253. 10:03shaders, but I've made a few of my own,
  254. 10:06and visual shaders make it easier, but
  255. 10:08they can also be messy. I often found
  256. 10:11myself duplicating setups or logic with
  257. 10:14barely a few changes because there was
  258. 10:16just no way of reusing them. Not
  259. 10:18anymore. As good 4.8 adds group nodes.
  260. 10:22These let you reuse a visual shader
  261. 10:24subgraph with custom input and output
  262. 10:27values. As you can see, I used them to
  263. 10:30reuse the texture UV shifting logic with
  264. 10:33different [music] parameters for this
  265. 10:34water shader. It works fine, but I have
  266. 10:37noticed a few smaller bugs and quirks.
  267. 10:40For example, default values don't work
  268. 10:42and you have to pass them to the
  269. 10:44subgraph because otherwise it breaks the
  270. 10:46shader. I'm not sure if this is a bug or
  271. 10:49intended behavior. Sometimes the life
  272. 10:51editor shader updates break, [music] but
  273. 10:54they work fine at runtime. Still, it's a
  274. 10:56very useful feature I'm sure I'll be
  275. 10:59using a lot, and these smaller issues
  276. 11:01should be fixed in upcoming releases. A
  277. 11:04gripe I had with GDAU's animation system
  278. 11:06was that waiting for animation events
  279. 11:08wasn't straightforward in all cases.
  280. 11:10While state machine playback objects had
  281. 11:13signals, if you used an animation node
  282. 11:15transition, a oneshot node, or a blend
  283. 11:18space, you were on your own. I don't
  284. 11:20like using state machines for animations
  285. 11:22that much because they're messy and
  286. 11:24unreliable in my experience. So, I used
  287. 11:27transition and oneshot nodes and had to
  288. 11:29resort to using timers, custom animation
  289. 11:32tracks, and other hacks to know when an
  290. 11:35animation finished and this didn't cover
  291. 11:37all cases. Fortunately, with animation
  292. 11:40node observers, this shouldn't be an
  293. 11:42issue anymore. There are new resource
  294. 11:44you can define in the editor and get it
  295. 11:46via code. As with any other animation
  296. 11:49tree parameter, connecting to its
  297. 11:51signals to run custom code when an event
  298. 11:54occurs. I can imagine this being very
  299. 11:56useful for setups with many animation
  300. 11:58events like combos or to emit a sound
  301. 12:01effect after an animation has finished.
  302. 12:04GDAU already had an internal class to
  303. 12:06handle fuzzy surge. You know, being able
  304. 12:09to find results even if the input has
  305. 12:11subtle typos or the wrong order. But
  306. 12:14this was only for the quick load window.
  307. 12:16not anymore as it's been exposed as an
  308. 12:18API you can use in your game. This is
  309. 12:21going to be very useful if you have,
  310. 12:23let's say, an inventory menu with a
  311. 12:25search bar. There's been several
  312. 12:27performance improvements in this new
  313. 12:30version. If you've ever tried to perform
  314. 12:31a physics query without notes, you'll
  315. 12:34know that the physics server returned
  316. 12:35the results by allocating a dictionary,
  317. 12:38which was slower and prone to typos. New
  318. 12:41physics result classes and functions
  319. 12:43have been added that let you perform the
  320. 12:45same queries faster, skipping the
  321. 12:47dictionary and returning a typed object.
  322. 12:50Mice with high polling rates were
  323. 12:52causing severe performance issues on
  324. 12:54Windows. [clears throat] This has now
  325. 12:55been fixed. We've also seen considerable
  326. 12:58performance improvements when removing
  327. 13:00many nodes as well as when updating a
  328. 13:02Polygon 2D. There were many smaller
  329. 13:05features I skipped because if I included
  330. 13:07them here, the video would be like 30
  331. 13:10minutes long and I have to work on my
  332. 13:12game and other videos. So, I do
  333. 13:14recommend you to read the blog posts in
  334. 13:16the change logs if you're interested in
  335. 13:18all the features, fixes, and changes.
  336. 13:21I've been using 4.8 for about a month or
  337. 13:23so, and so far there were a few small
  338. 13:26bugs here and there. They've been fixed
  339. 13:28now, and I do find it to be mostly
  340. 13:30stable, just in case you want to give it
  341. 13:32a try. Of course, unless you really need
  342. 13:34the new features, I would recommend you
  343. 13:36to just wait for the stable version or a
  344. 13:39beta at least and make lots of backups
  345. 13:42just in case. The future of the GDAU
  346. 13:44engine looks promising, that's for sure.
  347. 13:46I started working on this game since
  348. 13:48like 4.2 or 4.3, and I've seen every
  349. 13:52feature I needed get added over time. I
  350. 13:55can only imagine the stuff we'll have in
  351. 13:56a few years. But anyway, what was your
  352. 13:59favorite feature and what would you like
  353. 14:01to see in the next releases? Thank you
  354. 14:03so much for watching the video. See you
  355. 14:06in the next one.

About this transcript

This page contains the full transcript of Godot 4.8 is a HUGE update! by ByteSeb, generated from the public captions YouTube serves with the video. The transcript has 2,382 words across 355 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.