Morpheus Platform Release v32
See this guide on how to update your existing project to a new editor release.
Version Released: 06/12/2024
Latest Binary Version 32.0.0
Improved API for interest level changes for replicated properties
Users previously encountered challenges when attempting to apply net-foreground-only or net-midground-only status effects, such as displaying a specific attachment exclusively in the midground. These effects were inherently implemented using foreground or midground variables and OnReps. However, when a player transitioned to a lower network level, the status effect persisted unintentionally.
To address this, we delivered an API designed for this use case, promoting a design pattern that ensures status effects are properly canceled and re-enabled in response to changes in the network level. While the Morpheus Actor already included a NetworkLevelChangedEvent event, we enhanced functionality by introducing more granular, property-specific handlers to provide finer control.
Cancelled value added to EM2_HttpResponseStatus
Affected Features: Http
What’s broken and why?
We have added a new “Cancelled” status to the EM2_HttpResponseStatus enum. Whilst this in itself is not breaking, users me be using the “Switch” block in blueprint to handle the http results.
If this is the case, the addition of the new Cancelled status will result in an unmapped pin, which may cause your blueprint to not handle the case of cancelled requests. This would only happen if you explicitly cancel a request.
How to fix it?
You have two options:
- If you are using the enum and mapping all but the “OK” pin to a failure state, you should swap to using an Equals “OK” and branch node.  
- If you still wish to use the switch, you must map this to your cancellation handler (or failure case) 

How to test it?
Check your http requests are handling the responses you expect.
World Builder settings migration
Affected Features: World Builder
What’s broken and why?
We’ve migrated some settings from DefaultEditorPerProjectUserSettings.ini to DefaultGame.ini. Nothing will break, but some steps are provided to avoid this causing issues with version control.
How to fix it?
We migrate the settings automatically.
If you’re using a version control system, you’ll need to submit the modified Config/DefaultGame.ini as part of the upgrade.
How to test it?
Navigate to Project Settings -> M2 World Builder and ensure your old settings e.g. Mod Id and Maps are still present:

Crowd Animation blend support
Affected Features: CrowdAnimBlueprint, SkeletalCrowd
What’s broken and why?
Nothing should be broken. In order to support blend nodes within crowd ABP, this change contains some very fundamental modifications to how crowd animations are running, and as such projects should double check crowd animations are working as expected.
How to test it?
Crowd members should be animating as they used to before the change, precisely what this means will depend on the project.
Pubnub-based Chat simplification
Affected Features: Social (Chat)
What’s broken and why?
As part of the Pubnub-based text chat simplification process, we have ported the chat from C++ to Blueprint to allow customers to take control of the implementation. As a result of this, there is one change that must be addressed when taking this version of MSquared.
In order to continue using the current version of text chat you must add the ps.pndsn.com domain to your Developer Dashboard url allow list settings for the Client. See the next section for details.
Secondly, we have removed the “announcements” support. This feature was not used by any projects as so there should be no project impact.
Additionally, the “Fetch Channel History” function on the UM2_TextChatComponent has changed signature from having a delegate passed in, to using a broadcast delegate for all history messages. This is due to the function implementation being moved from C++ to Blueprint. This should only be impactful if you have implemented a custom chat UI.
How to fix it?
To add the ps.pndsn.comas an allowed domain, you must:
- Navigate to your developer dashboard 
- Select the Admin tab 
- Select External Urls 
- Expand the Client section 
- Set "External Url Access" section to "Allow content to access only URLs with specified domains" 
- Click “+ Add Domain” 
- Add "ps.pndsn.com" to the new entry 
- Click Update to save the setting 
If your chat UI is using the announcement messages feature of the M2_TextChatComponent; then it is recommended you begin removing the use of it, as in the future the functions will be removed.
When binding Fetch Channel History, you should now bind to the broadcast delegate “On Chat History Message Received” delegate to continue receiving the historical responses.

How to test it?
General chat should function as normal; minus the ability to receive announcement messages.
- Check your history messages still appear 
- Check you can still send and receive normal chat messages 
Cleaned up/consolidated excess DT Roles tables
Affected Features: Roles
What’s broken and why?
The following data tables have been removed:
- DT_ApproachabilityGym_Roles 
- DT_FeatureTestGym_Roles 
- DT_NexusRoles 
- DT_QARoles 
- DT_RolesExampleMap 
- DT_RolesScaleTestMap 
Any uses of them internally have been replaced with our default DT_RolesExample.
The example roles table has also had some changes to it:
- The “starting inventory assets” have been removed, since this is a feature that is being deprecated. 
- The Director role has been granted 4 “sizes” that it can switch between using + and -.  
How to fix it?
If you want the default roles setup, please use DT_RolesExample. If you want custom roles behavior, it is best to use your own roles table. (See https://docs.msquared.io/creation/unreal-development/features-and-tutorials/game-roles#example-setup )
How to test it?
In your level(s), go to the world settings, and filter by “role” - if the default role or data tables arrays have missing values, it may be that you were using one of the removed data tables. This will need to be replaced.

Similarly, if you try to change roles, and see that the roles are missing, or that your startup character isn’t as expected, that could be a sign that the role data table needs updating.
You will also see warnings along these lines:
LogLinker: Warning: [AssetLog] [X]: Failed to load '[Y]': Can't find file.
LogLinker: Warning: [AssetLog] [X]: VerifyImport: Failed to load package for import object '[Y]'If so, that will highlight the removed data tables that are being referenced.
Last updated
Was this helpful?

