GCS 1.4 Release Notes

The documentation of Generic Game Framework.

Cover.GCS
罗传月武(YueWu)

Author

罗传月武(YueWu)

专注游戏开发和Web技术。

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
1[CoreRedirects]
2;GGS 1.5 /GCS1.4 GMS/1.4 migration
3+PackageRedirects = (OldName="/Game/GenericGame/CameraSystem/Core",NewName="/Game/GenericGame/CommonSystem/CameraCore",MatchSubstring=true)
4+PackageRedirects = (OldName="/Game/GenericGame/CameraSystem/Extras",NewName="/Game/GenericGame/CommonSystem/CameraExtras",MatchSubstring=true)
5+PackageRedirects = (OldName="/Game/GenericGame/InteractionSystem/Core",NewName="/Game/GenericGame/CommonSystem/InteractionCore",MatchSubstring=true)
6+PackageRedirects = (OldName="/Game/GenericGame/UISystem/Core",NewName="/Game/GenericGame/CommonSystem/UICore",MatchSubstring=true)
7+PackageRedirects = (OldName="/Game/GenericGame/UISystem/Extras",NewName="/Game/GenericGame/CommonSystem/UIExtras",MatchSubstring=true)
8+PackageRedirects = (OldName="/Game/GenericGame/EffectsSystem/Core",NewName="/Game/GenericGame/CommonSystem/EffectsCore",MatchSubstring=true)
9+PackageRedirects = (OldName="/Game/GenericGame/EffectsSystem/Extras/ContextEffects",NewName="/Game/GenericGame/CommonSystem/EffectsExtras",MatchSubstring=true)
10+PackageRedirects = (OldName="/Game/GenericDemo/GUIS/WB_GUI_HUD_Generic",NewName="/Game/GenericGame/CommonSystem/UICore/UI/WB_GUI_HUD_Generic")
11+PackageRedirects = (OldName="/Game/GenericGame/AISystem/Core/STNodes",NewName="/Game/GenericGame/CommonSystem/StateTreeCore",MatchSubstring=true)
12
13[Core.StringTable]
14+StringTableRedirects = (OldStringTable="/Game/GenericGame/UISystem/Extras/DataTables/ST_Menu.ST_Menu",NewStringTable="/Game/GenericGame/CommonSystem/UIExtras/DataTables/ST_Menu.ST_Menu")
15+StringTableRedirects = (OldStringTable="/Game/GenericGame/UISystem/Extras/DataTables/ST_Common.ST_Common",NewStringTable="/Game/GenericGame/CommonSystem/UIExtras/DataTables/ST_Common.ST_Common")
16+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")
17