Version 4.0.0 Released
· 4 min read
Major Features
- Guilds & Alliances are a group management system you can use in game logic to determine membership
- Players can now create ephemeral Parties to stay together in queuing and matchmaking
- We now deploy a Text Chat server with Redwood with several room types
- You can automatically synchronize GAS abilities, effects, and attributes with GAS Persistence
- SendGrid no longer offers a free tier, so we added the ZeptoMail email provider
- HCP Vault was discontinued so we added many more secrets providers
- We finally support more than DigitalOcean hosting by supporting deploying to any Kubernetes cluster
Minor Features
- Added a maintenance mode for realms
PlayerIdentitynow has an optionaldatacolumn which is available inURedwoodCharacterComponent::PlayerDataif you have data that stays the same for all realms/characters- Added an optional persisted
URedwoodCharacterComponent::AbilitySystemfield if you want to manually persist ability details without using GAS persistence - Added an optional persisted
URedwoodCharacterComponent::Progressfield if you want to store character progression - Added the flag in the
<realm-instance-config>.game-servers.local.log-to-terminalflag which defaults tofalse - Allow Docker Desktop to be used in the
localKubernetes cloud provider - Updated pulumi
- Updated TypeScript
Bug Fixes
- MAJOR BUG FIX: We fixed Kubernetes deployments which had image pull errors due to Bitnami, a large Docker image & Helm chart provider, moving non-latest images to a legacy account. We'll be considering how best to provide Redis and Postgres images in future releases
- MAJOR BUG FIX: We fixed several errors in the Redwood plugins that would cause UObjects to get garbage collected too early
- We fixed several security vulnerabilities introduced in dependencies, including all
HighandCriticalones - Reduced frequency of over-reported
Invalid zone shard...errors - Third party licenses are now included
- Fixed PIE & World Partition errors for UE 5.6+ by adding the
-pieviaconsolearg to alllocalUE game servers (so you don't need to manually add it)
Breaking Changes
As applicable, we provided Core Redirects so you can open Blueprint classes that inherited from the old names, but C++ classes will not compile until you update the names yourself.
- We upgraded from Yarn v1 to v4, which you should be able to retrieve with the command
corepack enablein theRedwoodBackenddirectory idemmatchmaking provider was removed as the service was discontinuedhcp-vaultsecrets provider was removed as the service was discontinueddigitaloceancloud provider was removed in favor of the agnosticcustomproviderURedwoodClientInterface::ListServerswas renamed toURedwoodClientInterface::ListProxiesURedwoodClientInterface::CreateServerwas renamed toURedwoodClientInterface::CreateProxyURedwoodClientInterface::JoinServerInstancewas renamed toURedwoodClientInterface::JoinProxyWithSingleInstanceURedwoodClientInterface::StopServerwas renamed toURedwoodClientInterface::StopProxyURedwoodClientGameSubsystem::ListServerswas renamed toURedwoodClientGameSubsystem::ListProxiesURedwoodClientGameSubsystem::CreateServerwas renamed toURedwoodClientGameSubsystem::CreateProxyURedwoodClientGameSubsystem::JoinServerInstancewas renamed toURedwoodClientGameSubsystem::JoinProxyWithSingleInstanceURedwoodClientGameSubsystem::StopServerwas renamed toURedwoodClientGameSubsystem::StopProxyFRedwoodCreateServerInputwas renamed toFRedwoodCreateProxyInputFRedwoodListServersOutputwas renamed toFRedwoodListProxiesOutputFRedwoodListProxiesOutput::Serverswas renamed toFRedwoodListProxiesOutput::ProxiesFRedwoodCreateServerOutputwas renamed toFRedwoodCreateProxyOutputFRedwoodCreateProxyOutput::ServerReferencewas renamed toFRedwoodCreateProxyOutput::ProxyReferenceFRedwoodFriendwas renamed toFRedwoodPlayerFRedwoodPlayer::Statewas renamed toFRedwoodPlayer::FriendshipStateFRedwoodListFriendsOutputwas renamed toFRedwoodListPlayersOutput
EULA Changes
Starting in 4.0 we'll be adding the below information to our analytics collected from the backend:
- The Unreal Engine version you're using. This will help us make the decision whether or not to upgrade the version we test on (currently 5.4).
- The basename of the value of the
game-servers.local.projectconfig variable from each of your realm instance configs to help us better identify unique projects (or simply, the filename of youruproject).
You can read the full details of the changes in Section 17(b) in the EULA.
