FAQ

Please read the FAQ before buying so you know what to expect of the plugin.

Is the GMC compatible with Unreal’s Character / CharacterMovementComponent classes?
Is the GMC compatible with <arbitrary Marketplace asset or engine plugin>?
Is the GMC compatible with Enhanced Input?
Can the GMC be used for AI pawns?
Can the GMC replicate physics as well?
Can the GMC be used for VR games?
Does the built-in organic movement align the collision shape to slopes?
Does the built-in organic movement support arbitrary gravity directions?
Can I also use C++ with the GMC?
How is the performance of the GMC compared to Unreal’s CharacterMovementComponent class?
Which development platforms are supported?
Does every individual developer on a team need a license for the plugin?



Is the GMC compatible with Unreal’s Character / CharacterMovementComponent classes?

No, the GMC would not be able to do the things it does if it were. All of the movement and replication code is made from scratch (based on the Pawn/PawnMovementComponent classes). The very motivation behind this plugin is to break free from the limitations of Unreal’s default character movement, so the incompatibility with those classes is a natural consequence of the features that the GMC offers, it is not a design flaw. However, if you have the necessary know-how it is often possible to port logic that was based on Unreal’s character movement to the OrganicMovementComponent, which is the GMC’s analogue to the CharacterMovementComponent as far as the movement physics are concerned.



Is the GMC compatible with <arbitrary Marketplace asset or engine plugin>?

I obviously don’t know every asset that’s out there and can’t test all of them for compatibility. To determine whether what you want to use will be compatible with the GMC you should find out the answers to the following questions:

(1) Does the asset/plugin in question depend on Unreal’s default Character/CharacterMovementComponent classes?

If so it will not be directly compatible with the GMC since the GMC has no relation to those classes whatsoever (as outlined above). This is the only restriction for single-player/standalone games.

(2) Does the asset/plugin in question move the pawn’s root component in some way or does it affect the pawn’s ability to move?

If it does it will most likely not work well in multiplayer as the GMC won’t be aware of what the asset does to the pawn’s transform and therefore won’t be able to synchronize it correctly over the network. In some cases integration may be possible if you know what you are doing. For single-player/standalone games however, this doesn’t matter.



Is the GMC compatible with Enhanced Input?

Yes, the GMC fully supports Enhanced Input. In fact, the core of the plugin is decoupled from any particular input implementation so you could even still use the old input system or a custom one if you so desire.



Can the GMC be used for AI pawns?

Yes, you can use the default AI controller for non-player pawns. The GMC’s built-in organic movement implements the standard AI functionality (path finding, RVO avoidance, etc.) that you also get with Unreal’s character movement. AI-controlled pawns run their logic on the server, and then replicate to clients automatically (in the same way that player-controlled pawns do).



Can the GMC replicate physics as well?

The GMC is primarily focused on kinematic movement, but some forms of physics replication are supported. You can replicate the root component transform of physics-simulating server pawns to clients via snapshot interpolation. Client-controlled pawns that simulate physics will not be predicted. Non-predicted or client-authoritative replication can be used for such pawns, but there are certain risks and limitations that come with those approaches. Generally, physics replication is only supplementary in the GMC, I would not recommend building a whole game around it, e.g. a racing game with physics-simulating cars. Kinematic vehicles can be implemented if you are willing to make your own custom movement component (based on the GMC’s replication system).



Can the GMC be used for VR games?

The GMC is a generic movement framework that can work with any kind of input device. However, VR is currently not a focus and there are no templates available that are tailored specifically to this use case. Therefore, it is recommended that you have prior experience with VR development in Unreal if you want to use the GMC for that purpose. Also keep in mind that VR games have some unique challenges regarding gameplay and networking that may require additional work on your part (e.g. preventing motion sickness).



Does the built-in organic movement align the collision shape to slopes?

No, organic movement supports all collision shapes but it does not support arbitrary rotations. Like Unreal’s default character movement, it’s written with the assumption that the collision shape, regardless of which one you use, only rotates around the yaw axis (the horizontal capsule is its own collision shape class, it’s not just a default capsule component that’s rotated 90 degrees). However, this is not a limitation of the replication component. It can replicate arbitrary rotations, so you are free to write your own custom movement component that works with any orientation and it will still replicate without issues. However, for complex character movement it is usually impractical to wildly change the rotation of the root component (e.g. aligning it to any minor change in the floor normal) because it will create more problems than it solves. The collision shape is just an approximation anyway, it’s far easier to close the gaps with animations and IK, which is what virtually every game does.



Does the built-in organic movement support arbitrary gravity directions?

No, organic movement only supports standard downward gravity. The gravity strength can be scaled however, with the smallest allowed scaling factor being 0 (i.e. no gravity).



Can I also use C++ with the GMC?

Of course. While the GMC aims to make Blueprint-only development as feasible as possible, the plugin itself is completely written in C++ and there are absolutely no restrictions to using C++ with it whatsoever. Additionally, the Blueprint interface can be disabled entirely to eliminate any overhead for people who want to use C++ exclusively.



How is the performance of the GMC compared to Unreal’s CharacterMovementComponent class?

No systematic tests have been done yet, but empirically it can be said that the performance of the GMC’s OrganicMovementComponent is in the same ballpark as that of the CharacterMovementComponent, provided you choose a similar setup (which includes deactivating advanced GMC features that the CharacterMovementComponent doesn’t even have and disabling the Blueprint interface). Out of the box, the GMC is configured to be beginner-friendly and to produce high-quality replicated movement with minimal effort. Performance means nothing if the game doesn’t function as intended, so the GMC prioritizes ease of use and robustness over performance by default. However, a core strength of the plugin lies in its flexibility, many parameters can be adjusted to trade performance for accuracy or comfort when necessary. For very demanding games you also have the option to create a custom movement component optimized for your particular application on top of the GMC’s replication component (advanced users only). There is currently no template available specifically for using masses of pawns with the GMC, for such extreme use cases I only recommend the plugin to experienced users for now (who have the ability to implement the necessary optimizations themselves). Lastly, I want to point out that questions like How long does the GMC take for one frame? are quite meaningless – in addition to many other factors the time obviously depends on the particular CPU that is being used.



Which development platforms are supported?

Only Win64 is officially supported. The GMC technically works on any platform that can run Unreal, but if you want to use it on something other than Windows (and Visual Studio if you are using C++) you have to build the plugin yourself and may need to fix some minor compilation errors or platform specific issues.



Does every individual developer on a team need a license for the plugin?

Yes, according to Epic’s EULA (https://www.unrealengine.com/eula/content), plugins are per seat (unlike content assets). The following is stated in the Marketplace Content Addendum section of the EULA:

Plugins may be offered to you on a per user basis. Such Plugins may only be used by the number of users that you have purchased licenses for.

Please note that these are Epic’s terms and that I am not able to provide further clarifications on the EULA. If you have any doubts regarding licensing contact Epic directly or consult a lawyer.

Additionally, you can only verify one Discord account per purchase for the support server.