GMS 1.4 Release Notes

The documentation of Generic Game Framework.

Cover.GMS
罗传月武(YueWu)

Author

罗传月武(YueWu)

专注游戏开发和Web技术。

Created: Jul 31, 2025Updated: Sep 15, 2026

Table of contents

Overview

This section details the updates in Generic Movement System (GMS) version 1.4, covering new features, improvements, companion project reorganization, engine version support, and update guidelines.

New Features

Directional Jump Start

Added direcitonal jump start, user can choose jump start anim type between Single and Direction.

Fixed issue where jump start may not run.

GMS_DebugComponent

Added GMS_DebugComponent to assist in visualizing the following for a character:

  • World orientation of the Actor
  • Animation space orientation
  • View orientation
    This component aids developers in debugging movement and animation behavior.

Initial Mover 2.0 Support

Users can now use MoverMovementSystem instead of CharacterMovementSystem to enable Mover 2.0 support, with no changes required to existing configurations.

  • Compatible with both CharacterMovementComponent (CMC) and Mover 2.0, ensuring flexibility and backward compatibility.
  • Note: Mover 2.0 uses Pawn as the root, requiring adjustments to replace Character classes.

Alert

Mover 2.0 is functional but requires improvements in performance and implementation logic. Its API may change, making it suitable only for early adopters and testing. It is expected to reach production-ready status in GMS version 1.5.

RootBoneTranslation Setting

Added RootBoneTranslation setting, optionally enabled, to improve sliding issues during movement start, enhancing animation smoothness.

Improvements

  • All major code now includes bilingual (Chinese and English) comments to enhance readability and maintainability.
  • Default Additive Layer Improvement, Can apply land recovery additive animation only when landed with movement input.

Companion Project

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

Engine Version

GMS 1.4 no longer supports Unreal Engine 5.4, focusing on newer versions (e.g., UE 5.5 and above) 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