Zum Inhalt springen
Medium 1 für Eintrag CMC PLUS
0 Kommentare

Beschreibung

CMC PLUS

CMC PLUS is a free Unreal Engine 5 plugin that extends the Character Movement Component (CMC) workflow by making custom Network Prediction data easier to work with in Blueprints.

The Character Movement Component already provides one of the most robust multiplayer movement systems available in Unreal Engine. Client prediction, server authority and movement reconciliation are all part of a mature networking architecture that has been refined over many engine versions.

However, when building custom movement systems, extending that prediction pipeline usually requires writing a significant amount of C++ code. Managing custom prediction variables often involves modifying multiple classes and keeping the same data synchronized throughout different stages of the movement pipeline.

CMC PLUS was created to simplify that workflow.

Rather than replacing the Character Movement Component or changing Unreal Engine's networking model, the plugin builds on top of the existing CMC architecture and provides tools that make custom prediction data easier to define, serialize and access—especially for Blueprint-based projects.

Why CMC PLUS?

Many multiplayer movement mechanics rely on gameplay variables that need to participate in the prediction process.

Examples include:

  • Sprint states

  • Dash systems

  • Sliding

  • Wall running

  • Climbing

  • Parkour mechanics

  • Custom movement modes

  • Physics-based movement

  • Custom acceleration or movement parameters

While these systems can certainly be implemented using Unreal's native C++ APIs, doing so often requires touching several different parts of the Character Movement framework. The same variable may need to be defined, copied, serialized and restored throughout multiple prediction classes.

CMC PLUS is designed to reduce that repetitive work by providing a more streamlined workflow.

Schema-Based Prediction Serialization

At the core of CMC PLUS is a schema-driven serialization system.

Instead of manually writing serialization code for every new prediction variable, developers define the data that should participate in the movement prediction process. Both the client and server use the same schema, allowing prediction data to be serialized and deserialized in a deterministic order.

Because both sides already know the layout of the packet, no additional metadata needs to be transmitted to describe its structure.

This approach keeps the serialization process predictable while reducing the amount of boilerplate code required when extending Character Movement.

Compact Movement Packets

CMC PLUS also gives developers greater control over how prediction data is stored.

Each property can be configured to use only the number of bits actually required instead of always using its default memory size.

For example, if an enum only requires a small number of possible values, it does not necessarily need to occupy a full 8-bit field inside the movement packet.

Likewise, properties that remain at their default value can optionally be omitted from serialization when appropriate, helping reduce unnecessary network traffic.

The goal is not simply to send more data, but to send only the data that is actually needed while keeping movement packets as compact as possible.

Designed for Blueprint Developers

One of the primary goals of CMC PLUS is to make Unreal Engine's movement prediction workflow more accessible to Blueprint developers.

Instead of repeatedly implementing the same networking logic whenever a new movement variable is introduced, the plugin provides a more consistent way to integrate custom data into the prediction pipeline.

This allows developers to spend more time building gameplay systems rather than maintaining networking boilerplate.

Although the plugin is designed with Blueprint workflows in mind, it can also be used in C++ projects alongside existing Character Movement implementations.

Built on Top of Unreal's Existing CMC

CMC PLUS does not replace Character Movement Component.

It does not introduce a new networking model.

It does not modify Unreal Engine's client prediction architecture.

Instead, it extends the existing CMC workflow by providing a more flexible way to manage custom prediction data, while continuing to rely on Unreal Engine's native movement prediction system.

The objective is to make extending Character Movement more practical—not to replace the systems already provided by the engine.

Use Cases

CMC PLUS is intended for projects that require custom multiplayer movement systems, including:

  • Sprint and stamina systems

  • Dash mechanics

  • Sliding

  • Parkour

  • Wall running

  • Climbing

  • Custom locomotion systems

  • Physics-assisted movement

  • Ability-driven movement

  • Shooter movement mechanics

  • RPG movement systems

If your project relies on Character Movement Component and custom prediction variables, CMC PLUS aims to provide a cleaner and more maintainable workflow.

Why Is It Free?

CMC PLUS originally started as an internal tool for my own multiplayer project.

While developing custom movement systems, I found myself implementing the same prediction code repeatedly whenever new gameplay variables needed to become part of the movement pipeline.

Over time, that internal utility evolved into a reusable plugin.

Since I thought other Unreal Engine developers—especially Blueprint users—might benefit from the same workflow, I decided to release it for free.

Support

CMC PLUS is actively maintained and will continue to evolve over time.

If you encounter a bug, have questions about the plugin, or would like to suggest new features, feel free to join the Discord community.

Feedback from developers using the plugin is always welcome and helps guide future improvements.

Community Links

➡️ Discord

➡️ Documentation

Enthaltene Formate