Skip to content
Back to wiki

GCS 1.4 Release Notes

A

Author

Author

Created: Aug 09, 2025Updated: Sep 15, 2026

Table of contents

1.4 (2024.07.24)

Code

All code now includes bilingual (Chinese and English) comments to enhance readability and maintainability.

Companion Project

Files related to GenericGameSystem have been reorganized into /Content/GenericGame/CommonSystem for easier updates and management.

Engine Version

Drop supports for Unreal Engine 5.4, focusing on newer versions to ensure compatibility and performance.

Update Guidelines

Updating Modified Projects

If you’ve migrated companion project content to your project and modified parts of it, follow these steps:

  1. Manually adjust existing folder paths based on PackageRedirects records.
  2. Copy and migrate content from the latest companion project as needed.

Updating Unmodified Projects

If you haven’t modified content under /Content/GenericGame, you can:

  1. Delete the /Content/GenericGame folder.
  2. Follow the documentation to copy content from the latest companion project to overwrite old files.

Redirect Configuration

In either case, add the following redirect configuration to your project’s DefaultEngine.ini to ensure valid resource references:

plaintext
[CoreRedirects]
;GGS 1.5 /GCS1.4 GMS/1.4 migration
+PackageRedirects = (OldName="/Game/GenericGame/CameraSystem/Core",NewName="/Game/GenericGame/CommonSystem/CameraCore",MatchSubstring=true)
+PackageRedirects = (OldName="/Game/GenericGame/CameraSystem/Extras",NewName="/Game/GenericGame/CommonSystem/CameraExtras",MatchSubstring=true)
+PackageRedirects = (OldName="/Game/GenericGame/InteractionSystem/Core",NewName="/Game/GenericGame/CommonSystem/InteractionCore",MatchSubstring=true)
+PackageRedirects = (OldName="/Game/GenericGame/UISystem/Core",NewName="/Game/GenericGame/CommonSystem/UICore",MatchSubstring=true)
+PackageRedirects = (OldName="/Game/GenericGame/UISystem/Extras",NewName="/Game/GenericGame/CommonSystem/UIExtras",MatchSubstring=true)
+PackageRedirects = (OldName="/Game/GenericGame/EffectsSystem/Core",NewName="/Game/GenericGame/CommonSystem/EffectsCore",MatchSubstring=true)
+PackageRedirects = (OldName="/Game/GenericGame/EffectsSystem/Extras/ContextEffects",NewName="/Game/GenericGame/CommonSystem/EffectsExtras",MatchSubstring=true)
+PackageRedirects = (OldName="/Game/GenericDemo/GUIS/WB_GUI_HUD_Generic",NewName="/Game/GenericGame/CommonSystem/UICore/UI/WB_GUI_HUD_Generic")
+PackageRedirects = (OldName="/Game/GenericGame/AISystem/Core/STNodes",NewName="/Game/GenericGame/CommonSystem/StateTreeCore",MatchSubstring=true)

[Core.StringTable]
+StringTableRedirects = (OldStringTable="/Game/GenericGame/UISystem/Extras/DataTables/ST_Menu.ST_Menu",NewStringTable="/Game/GenericGame/CommonSystem/UIExtras/DataTables/ST_Menu.ST_Menu")
+StringTableRedirects = (OldStringTable="/Game/GenericGame/UISystem/Extras/DataTables/ST_Common.ST_Common",NewStringTable="/Game/GenericGame/CommonSystem/UIExtras/DataTables/ST_Common.ST_Common")
+StringTableRedirects = (OldStringTable="/Game/GenericGame/UISystem/Core/UI/Modal/SDT_GUI_Modal.SDT_GUI_Modal",NewStringTable="/Game/GenericGame/CommonSystem/UICore/UI/Modal/SDT_GUI_Modal.SDT_GUI_Modal")