Uploaded June 2025 | Updated September 2026, 1 week ago
More progress on the splittening! The engine is now able to replicate transform hierarchy over IPC for any Slots that have "renderable" objects on them.
There's actually a lot going on in this one, because a number of systems had to come together for this to happen. Notably there's a shared memory block system. This is a general system that is backed by shared memory that allows systems to allocate buffers and fill them with update data. Those are then passed over the messaging mechanism and accessed on the other side.
It makes it type-safe and relatively easy to pass huge bulks of data around! This initial system took a bit, because I had to write it for this, but it'll be used for all subsequent systems as well.
There's now also "renderable" management on the FrooxEngine side - it tracks if Slots have any renderable components (like Mesh Renderers) on them to determine if they need to be replicated. All subsequent systems for specific components (like MeshRenderer) will also build around those.
What's most exciting is that I can now literally run FrooxEngine from Visual Studio, step through it, debug it, while receiving stuff in Unity (including Unity Editor) - a completely separate process, but accessing the same memory regions! And it's not quite visual yet, but by inspecting the hierarchy, you can see movement of the default avatar hands!
This way the bulk of the data doesn't even need to be serialized & copied over - both processes access literally the same memory chunk - one writes, one reads.
I'll be adding meshes next and then mesh renderers to get some actual visual output!
Also this is using a modified version of the Interprocess library (github.com/Yellow-Dog-Man/interprocess) that Cyro has prepped for me for this! We're not using the queues yet, I'll swap the messaging mechanism to it later, but TCP is currently easier for development & quick iteration.
Support development at: patreon.com/resonite
Official website: resonite.com
More progress on the splittening! The engine is now able to replicate transform hierarchy over IPC for any Slots that have "renderable" objects on them.
There's actually a lot going on in this one, because a number of systems had to come together for this to happen. Notably there's a shared memory block system. This is a general system that is backed by shared memory that allows systems to allocate buffers and fill them with update data. Those are then passed over the messaging mechanism and accessed on the other side.
It makes it type-safe and relatively easy to pass huge bulks of data around! This initial system took a bit, because I had to write it for this, but it'll be used for all subsequent systems as well.
There's now also "renderable" management on the FrooxEngine side - it tracks if Slots have any renderable components (like Mesh Renderers) on them to determine if they need to be replicated. All subsequent systems for specific components (like MeshRenderer) will also build around those.
What's most exciting is that I can now literally run FrooxEngine from Visual Studio, step through it, debug it, while receiving stuff in Unity (including Unity Editor) - a completely separate process, but accessing the same memory regions! And it's not quite visual yet, but by inspecting the hierarchy, you can see movement of the default avatar hands!
This way the bulk of the data doesn't even need to be serialized & copied over - both processes access literally the same memory chunk - one writes, one reads.
I'll be adding meshes next and then mesh renderers to get some actual visual output!
Also this is using a modified version of the Interprocess library (github.com/Yellow-Dog-Man/interprocess) that Cyro has prepped for me for this! We're not using the queues yet, I'll swap the messaging mechanism to it later, but TCP is currently easier for development & quick iteration.
Support development at: patreon.com/resonite
Official website: resonite.com










