Home
James Brooks
Cancel

Enhanced broadcasting with Action Cable

When using Action Cable sometimes it is useful to broadcast to a channel only if there are active subscriptions. This can be useful to avoid unnecessary processing and network traffic, as well as r...

Websockets and dedicated servers

Quick post! I was having trouble using Websockets in Unreal Engine when building the project as a linux dedicated server. FWebSocketsModule::Get().CreateWebSocket was erroring with a fatal error (...

Count loader for graphql-batch

When implemented a GraphQL API using GraphQL Ruby it is beneficial to ensure that executed queries don’t trigger any N+1 query problems. One (of many) solutions to this is graphql-batch which prov...

Default transformations for ActiveStorage attachments

Recently I needed to crop images across a variety of models and attachments on a recent Rails project using ActiveStorage. The initial native solution was to implement methods in each of these mod...

Fixing 'movement not allowed' for respawned pawns

Have you ran into the issue “SimpleMove failed for X: movement not allowed” when trying to call Simple Move to Location after respawning a multiplayer pawn? After a player’s pawn has been killed a...

Struct to JSON serialization

Serializing a Unreal Engine USTRUCT to JSON or deserializing JSON back to a USTRUCT is very painless thanks to the build-in FJsonObjectConverter class. The process is performed recursively without ...

Instant velocity character movement

Unreal Engine’s CharacterMovementComponent is a fantastic component for easily granting a Pawn network-replicated and client-predictive movement with a lot of functionality out of the box that ofte...