This addon adds a container, that can have multiple tabs, which the user can change by swiping left or right on the screen. It is based on the ScrollContainer node.Getting Started:• Download the addon and place it into your project directory, either manually, or through the Asset Store• Activate it in the Project Settings ("Plugins" tab)• Add a BetterTabContainer node to a scene. It is recommended that it is either set to full rect or has a "Fill" horizontal size flag• Add multiple nodes to it. Each child node counts as a separate tab, it can be any type of Control node. Please ignore the "ScrollContainer can only have one node" warning, I am actively trying to get rid of it• Done!Customizing the Node:• You can set the "Current Tab" property in the inspector. By default, it is set to 0, meaning the first tab is active on start• You can connect the "tab_switched" signal to another node to detect when it's changed• If you want to change the tab through code (for example, if you have a list of tab buttons next to the container), you can call the switch_tab(tab) method• You might also want to hide the horizontal scroll bar, as it does nothing• If you want to be able to swipe on tabs, make sure to set all of the children containers' mouse filter to "Pass", so it detects input
Quick Information
[GDExtension addon]Rasterize svg on run-time.Note that this addon uses lunasvg for svg rasterization, but godot4.x uses thorvg, so the rendering result may not be the same.dll files (windows) are available on GitHub:https://github.com/heppocogne/godot-svgsprite/releases/tag/v2.0.2or, compile by yourself.
godot-svgsprite
GDExtension addon for dynamic svg rendering
Please use "master" branch for Godot 3.
![]()
How to use
Build
Clone this repository
(Current directory=project root)git clone -b gdextension https://github.com/heppocogne/godot-svgsprite --recursive cd godot-svgspriteBuild godot-cpp library
For more information, please check the official documentation.
(Current directory=project root)cd cpp/godot-cpp scons platform=<platform> generate_bindings=yes target=editor/template_debug/template_release(wait a minute)
cd ../Build lunasvg library
(Current directory=cpp/)mkdir lunasvg_build cd lunasvg_build cmake -DCMAKE_BUILD_TYPE=Debug/Release -G Ninja ../lunasvg ninja cd ../../Build godot-svgsprite library
(Current directory=project root)mkdir bin scons platform=<platform> target_name=libgodot-svgsprite target=editor/template_debug/template_release
Enjoy the demo project!
Install addon
- Copy "addons" and "bin" folders to your project folder

- Project > ProjectSetting > Plugins: Activate SVGSprite plugin

Export project
When you export your project or resource package(*.pck,*.zip), make sure to add "_rawsvg/*" folder as a "non-resource folder".

Note
Note that this addon uses lunasvg for svg rasterization, but godot4.x uses thorvg, so the rendering result may not be the same.
[GDExtension addon] Rasterize svg on run-time. Note that this addon uses lunasvg for svg rasterization, but godot4.x uses thorvg, so the rendering result may not be the same. dll files (windows) are available on GitHub: https://github.com/heppocogne/godot-svgsprite/releases/tag/v2.0.2 or, compile by yourself.
Reviews
Quick Information
[GDExtension addon]Rasterize svg on run-time.Note that this addon uses lunasvg for svg rasterization, but godot4.x uses thorvg, so the rendering result may not be the same.dll files (windows) are available on GitHub:https://github.com/heppocogne/godot-svgsprite/releases/tag/v2.0.2or, compile by yourself.