Releases: CSharpGodotTools/Template
v1.1.4
Changelog
- All reflection netcode has been removed.
PacketRegistry.csis generated by the source gen increasing game startup performance.- Each
WriteandReadmethod forServerPacketandClientPacketare generated by the source gen increasing performance whenever packets are written or read. - If the
WriteorReadmethod are present then no code will be generated. Manually write theWriteandReadmethods out yourself if you want full control over the send order. - The
[NetSend(SendOrder)]attribute has been completely removed.
- Profiler methods have been made static.
Contributors: @valkyrienyanko
Git Diff: v1.1.3...v1.1.4
v1.1.3
Small hotfix to bring countless updates from GodotUtils and bring all of netcode from GodotUtils to Framework by @valkyrienyanko
Git Diff: v1.1.2...v1.1.3
v1.1.2
Framework has now been completely decoupled from Template. This means any updates to Framework will no longer require re-cloning Template and remaking your game from scratch.
Changelog
- Autoloads.cs and Game.cs have been moved out of Framework to the root of res://
- Expose API from AutoloadsFramework.cs to Autoloads.cs
- Godot overrides (_Ready(), _Process(), _PhysicsProcess()) are now hidden from Autoloads.cs (forcing the game developer to use the new API methods) _(Input has been left has a Godot override for performance reasons)
- Improve comments in Game.cs and Autoloads.cs
- Setup no longer tries to change namespaces in Framework folder
- All namespaces in Framework have been renamed from TEMPLATE to Framework
- Game.cs is now in TEMPLATE namespace while Autoloads.cs is in Framework namespace
Contributors: @valkyrienyanko
Git Diff: v1.1.1...v1.1.2
v1.1.1
Small hotfix to prevent redundant git diffs from certain Godot files (*.import, *.translation, *.tres) by @valkyrienyanko
Git Diff: v1.1...v1.1.1
v1.1
What's Changed
- Fix bugs, cleanup scenes and scripts by @valkyrienyanko in #201
- Move Framework to git submodule and fix various issues by @valkyrienyanko in #207
Changelog
- All framework files have been moved to a separate git submodule
- Project has been upgraded to Godot 4.6 stable
- Removed no-op in MetricsOverlay.cs
NETCODE_ENABLEDconstant was removed entirely- Removed redundant and problematic ignores in .gitignore
- Removed redundant physics API methods from MetricsOverlay and Profiler
- Icon.svg was moved outside of res://Framework to res://
- BaseAutoloads was renamed to Autoloads
- DLLs were moved from res://addons to res://Framework/Libraries
- Fixed translation files being broken due to corrupt .import file
- Replaced all #region occurences with comment headers
Git Diff: v1.0.11...v1.1
v1.0.11
Changelog
- Exposed Game.cs and Autoloads.cs to the game developer
- Fixed bug where namespaces were not being renamed during setup process
- Fixed bug where setup script was being modified during setup process
- Fixed bug showing missing icons when using Visualize
- Fixed bug causing Visualize to error out when clicking on the Visualize icons
- Removed params from PreSceneChanged and PostSceneChanged due to an inconsistency
- Added more documentation to setup scripts
Merged PRs
- Fix major flaws with setup process by @valkyrienyanko in #198
- Expose Game.cs and Autoloads.cs to game dev by @valkyrienyanko in #199
- Fix major issues with Visualize by @valkyrienyanko in #200
Visualize
I've ran into two common mistakes that can cause lots of confusion when working with Visualize. Unfortunately I have no easy fix for these on my end so you will just have to take care.
If the script with the Visualize code is placed on a Node2D or Control but the script itself does not extend from Node2D or Control the visual panel will be placed at (0, 0). There is no way for me to check for this, you will just have to remember to make the script extend from the appropriate type.
If Visualize.Register(this) is called in _EnterTree, you will get a null reference exception. This is because Visualize did not have time to initialize and you must instead call it in _Ready.
Contributors: @valkyrienyanko
Git Diff: v1.0.10...v1.0.11
Major Tween Overhaul
Changelog
GodotTween is now called NodeTween, NodeTween2D or NodeTweenControl. There is also NodeTweenProp, ShaderTween, ShaderTweenProp. (see https://github.com/CSharpGodotTools/Template/wiki/Simplified-Tweens for how NodeTween is used).
NodeTween2D and NodeTweenControl add additional helper methods for their respective types (e.g. AnimateColor(...), AnimatePosition(...), AnimateGlobalRotation(...), and so on...) (dev note: these were made because not every property in a Node2D is shared across a Control, the only properties shared between the two are the CanvasItem properties because both extend from CanvasItem).
Fixed a bug where ShaderTween would only work on Node2D and not Control.
Added more documentation to tween scripts.
Related commits and PRs from GodotUtils
Add NodeTween2D and NodeTweenControl types
Major refactor to Godot tween helper scripts
Contributors: @valkyrienyanko
Git Diff: v1.0.9...v1.0.10
v1.0.9
What's Changed
- Added animated focus outline,
- Added titles to option sections
- Improved button neighbor navigation
See full changelog here.
Contributors: @valkyrienyanko
Related PR: #191
Git Diff: v1.0.7...v1.0.9
Preview.mp4
v1.0.8
Changelog
- Changed the gray theme to a darker theme
- Removed visual artifacts from pressed buttons by setting anti aliasing to false
- Removed the visual button pressed state from all OptionButton's as it did not look right
- Fixed the text "MOUSE_SENSITIVITY" in options not being translated
- Fixed crash on startup in credits scene along with other improvements
- Added extensive error checking to
Game.csthat is only done in non-release builds - Improved readability of several scripts
Contributors: @valkyrienyanko
Related PR: #189
Git Diff: v1.0.7...v1.0.8
v1.0.7
What's Changed
- Remove singleton pattern, add static game class, pool sfx players, cleanup events, docs and more by @valkyrienyanko in #188
Full Changelog
Added
- Added static game class for ease of access to all manager scripts e.g.
Game.Scene.SwitchToMainMenu()orGame.Audio.PlaySFX - Added convenience methods for scene switching in
SceneManager
Removed
- Removed singleton pattern from all manager scripts (access them through
Game.csnow) - Removed all
GodotUtilnamespaces and changed them to__TEMPLATE__
Fixed
- Fixed Godot not restarting on completing setup process
- Fixed Godot corrupting
[Export]'s after completing setup process - Fixed crash from game console being assigned too early in popup menu
- Fixed SFX players not being cleaned up properly
- Fixed SFX players in
AudioManagernot being pooled to save a ton of performance
Documentation
- All XML documentation in GodotUtils is now exposed (before it was not even showing up)
- Improved documentation for
AudioManager
Git Changelog: v1.0.5...v1.0.7

