Welcome to mtion worlds! Our Official Alpha Release
This is our biggest update since our pre-alpha launch! We are thrilled to officially launch Multiplayer, transforming mtion worlds into a real-time, collaborative creation platform. Build, remix, and play with others simultaneously in a shared worlds.
This release also introduces a powerful new World Publishing and Remixing system, a massive upgrade to the Node Graph with grouping and procedural nodes, and sweeping performance optimizations across the entire application for a faster, smoother experience.
🚀 Welcome to Multiplayer!
Multiplayer is here! You can now invite others into your worlds to create and play together in real-time. This is the cornerstone our alpha launch and brings mtion worlds closer to creating the best social interactive game in existence.
How it Works: Multiplayer is disabled by default in existing worlds. To enable it, simply enter your world and activate the Multiplayer Spawn Point.
Real-Time Collaborative Editing: Build and modify worlds while friends play, live. All changes and additions of assets, node graph, and settings are synced instantly to all players in your world. It’s awesome for D&D sessions, playtesting, or just for fun!
Edit vs. Play Mode (God Mode): As the world owner, you have "God Mode" powers to edit everything while others are in your world. Banish them, talk to them, or just create cool stuff for them, the power is in your hands.
Action & Spatial Trigger Sync: Node graph actions and triggers are fully synced across everyone connected, ensuring a consistent experience for everyone.
Avatar Upgrades: Multiple improvements to third-persona and first-person avatars. Pinning and movement work correctly with moving platforms. Spawn points are also configurable, allowing you to set custom jump heights and interaction distances in first-person mode (third person will come later).
🌍 World Publishing & Remixing
We've completely overhauled how you share your creations.
New Publishing States:
Private: Only you have access.
Unlisted: Anyone with a private link can join.
Published: Discoverable by everyone on the dashboard.
Remix Your Worlds: Any enabled public world can now be"Remixed." This creates your own editable copy, much like forking on GitHub. A history of remixes will be tracked, allowing you to see how creations evolve.
Upgraded In-World Objects: Spawn Points, Launchers, and Spatial Triggers have a fresh new look to be more intuitive.
🧠 Node Graph Supercharged
The Interactions Tab is more powerful than ever, giving you the tools for complex logic and better organization.
New Organizational Nodes:
Group Nodes: Select multiple nodes and group them into a single, collapsible unit to clean up your graph.
Note Nodes: Add comments and text descriptions directly onto your canvas.
New Logic & Procedural Nodes:
Queue Node: Buffer and process actions in a controlled sequence.
Enable/Disable Node: Completely hide or show any object in the scene.
Web: Open URL Node: Trigger a web browser to open a specific link for players.
Sine & Noise Nodes: Generate procedural values for creating organic animations, random behaviors, and dynamic effects.
Object Reference & Interaction Nodes:
On Collision Node: Triggers an action when an object collides with another.
Reference-Based Control: New nodes allow you to Move, Rotate, Scale, and set the visibility of any object from anywhere in the graph by passing an object reference.
Improved Workflow:
Search: Context windows have search bars that allow you to find nodes faster.
New shortcuts: Use ‘N’ or ‘/’ to bring up a node context window to quickly create a new node.
Infinite Canvas & Minimap: Navigate your creations with ease on an endless grid, using the new minimap to jump around large graphs.
Upgraded Move/Rotate: These nodes now operate on an object's local axes for more predictable control.
✨ Dashboard & UI Enhancements
New Dashboard Layout: The dashboard now features a "Live" section for featured worlds, alongside the most recently updated public creations. Plans are in the works to update this and add better world discovery.
User Profiles: A new User Profile Page is accessible from the avatar menu, and profile links are now visible on all world cards.
UI/UX Polish: The chat box now blurs on focus loss, toast messages have been redesigned, and small visual bugs have been addressed for a cleaner experience.
🚀 Performance & Optimizations
This release includes a massive effort to improve performance, reduce load times, and ensure a stable experience.
Core Systems: Major optimizations to lookup and removal paths.
Networking: The WebSocket client has been refactored for non-allocating JSON serialization and uses an exponential-backoff strategy for more robust reconnections.
Memory & GC Pressure: Widespread implementation of Object Pooling for UI elements, server updates, and audio sources.
Rendering: Optimized the gizmo renderer for faster highlighting, and tweaked the object and overlay update loops to reduce CPU spikes and unnecessary repaints.
🐛 Bug Fixes
High-Priority Fixes:
Discord Reactives should now appear and function correctly.
Chromakeying state now persists correctly between loads.
Fixed a critical error where video playback would fail if the timestamp exceeded the video duration.
Stability & Null References: Addressed dozens of null reference exceptions across the platform, including in light mapping, UI display loading, video playback, and multiplayer join/leave logic.
World & Asset Flow: Resolved errors in creating/loading worlds, snapshot syncing, and asset format versioning.
Node Graph: Patched bugs related to node resizing (which could cause child nodes to be lost), duplicated parameter values, and recursion errors in the update step.
Multiplayer: Corrected player join/leave logic, fixed action buffer processing, and updated the collision matrix for multiplayer interactions.
Detailed Bug Log:
Stability & Loading (Null References, Crashes, Errors)
Fixed multiple null reference exceptions during world loading, particularly in the logic graph.
Fixed a null reference exception that occurred when processing multiplayer player updates.
Fixed a null reference exception in the user manager.
Fixed null reference exceptions related to light mapping.
Fixed null reference exceptions in primitive cube generation.
Fixed null reference exceptions when loading UI displays.
Fixed null reference exceptions during video playback and overlay rendering.
Fixed null reference exceptions in application quit handlers.
Fixed a critical bug that caused the creation of infinite coroutines, leading to performance degradation.
Fixed an issue that could lock a world in a loading state if a referenced asset was missing from the server.
Fixed an exception thrown when loading VRM 1.0 avatars.
Fixed issues with IL2CPP builds.
Fixed a bug that prevented the application from launching directly into a world from startup.
Fixed an issue where consecutive worlds would fail to load correctly.
Fixed a bug where nodes were not properly unloaded when a user changed worlds.
Fixed a bug in the general asset loader.
Fixed a bug causing runtime download path collisions.
Fixed an error that occurred when creating a new template.
Fixed a bug with loading a user on startup if their cache was missing.
Worlds & Asset Management
Fixed an issue where duplicate download requests were made for the same asset.
Fixed a bug in the media URL downloading process.
Fixed an issue where remix would not work correctly, ensuring the world is in a default state.
Fixed a bug that prevented correct publishing of worlds with a PRIVATE visibility state.
Fixed an issue loading multiplayer users from worlds with a PRIVATE visibility state.
Fixed an error in creating and loading clubhouses/worlds related to snapshot sync and format-version updates.
Fixed an issue with texture loading for primitives that were disabled.
Node Graph / Interactions Tab
Fixed a bug where connection lines would not appear when dragging from a port for a second time.
Fixed issues causing duplicate nodes to be created in the node graph.
Fixed an issue with duplicated parameter values on nodes.
Fixed a bug that caused child nodes to be lost when resizing a parent Group Node.
Fixed a bug where nodes under a group were not properly restored after deletion.
Fixed incorrect behavior in the "Random Event" node, ensuring connectors update properly.
Fixed selection breakage in the logic graph.
Fixed a bug with node culling.
Fixed the node creation location to correctly appear where the context menu was opened.
Fixed a recursion error in the node update step.
Multiplayer & Networking
Fixed various multiplayer data synchronization issues.
Fixed the logic for players joining and leaving sessions.
Corrected the flow for players who leave and then rejoin a session.
Fixed an issue in the processing of the multiplayer action buffer.
Fixed updates to the collision-matrix for multiplayer physics.
Fixed issues with the "Add Friend" and notification overlays.
Fixed a bug in finding the correct port index for connections.
Camera & Avatar
Fixed a major visual glitch with the third-person camera when controlling an avatar.
Fixed an issue where the canvas camera and main app camera would render to textures of different sizes, causing UI distortion.
Fixed the canvas camera so it correctly resets when the application's resolution changes.
Fixed a bug in the update cycle for the main camera and attached displays.
Fixed an issue causing carried objects to flicker.
Fixed the position and scale change updates for avatars.
Fixed a bug that occurred when creating a new camera that was attached to an avatar.
Fixed the third-person avatar jump behavior.
Fixed weird physics collisions between avatars and any object they are carrying.
UI & UX (User Interface & Experience)
Fixed a bug where a selected object’s highlight would not turn off after opening a context menu.
Fixed a bug where selections were not disabled correctly when leaving Interaction Mode.
Fixed an issue where the focus-on-bounds feature was not working correctly.
Fixed several interaction bugs with the chat box.
Fixed UI flickering caused by object rotation.
Fixed an issue with play mode interaction rate-limiting.
Fixed the framerate preferences and settings.
Fixed editor-specific tooling UI.
Fixed the behavior of the "Add Friend" and notification overlays.
Fixed the layout and flex properties of UI cards on the dashboard.
Rendering & Visuals
Fixed an issue with character shadow rendering for the player.
Fixed a visual bug with the progress flow on flow nodes.
Fixed an issue where the grid shader did not work correctly for negative UV coordinates.
Fixed an issue with the restoration of a collider used to drag the canvas.
Fixed pixels appearing at the borders of elements on the dashboard.
Hardware & Integrations (Discord, Video, Audio)
Fixed an issue where Discord Reactives were not showing up.
Fixed a bug where the state of Chromakeying was not saved and persisted between loads.
Fixed a bug that occurred when a video's timestamp exceeded its total duration.
Fixed the "Bypass" button for Twitch integration.
Fixed an issue with the creation of infinite coroutines related to audio.
Changed files in this update