Greetings, gamers!
After many months of very hard work, Logic World's first major update is almost ready. v0.91 has some major performance upgrades, countless bug fixes and stability improvements, a few juicy new features like the Simulation Controls , and many smaller tweaks focused on improving quality-of-life like Chair-only Keys .
We hope you enjoy the update! If you're eager to try it out right away, follow the instructions below to check out the Preview versions. Once we've fixed all the nasty little bugs that the Preview People will surely find, the update will be fully released.
Help us localize the new features
If you speak a non-English language, we'd love your help translating Logic World to that language! All the new translation strings in 0.91 are ready for you to translate. Head over to https://logicworld.net/translate to get started.
Notification of upcoming price increase
Simultaneously with the full release of update 0.91, we're going to raise the price of Logic World from USD$12 to USD$15 (and regional equivalents). It has always been the plan to increase the price throughout Early Access, and this new price point reflects that 0.91 is a more polished and more valuable product. There will be several more price increases before we get to 1.0.
We are currently planning to never have a discount on Logic World, so the current price point is the lowest it will ever be. If you haven't bought Logic World yet, now would be a savvy time to do so :)
Get access to the 0.91 previews
Note: preview versions might be unstable and buggy. Consider waiting for the full release before trying the update.
To get access to the 0.91 previews:
[olist]
Back up your saves. We're pretty sure there are no giant horrible save-destroying bugs in the previews, but hey we're not omniscient, so be cautious and back up your saves! 0.91 saves are not backwards-compatible with 0.90; upgrading is a one-way process.In your Steam library, right click Logic World and click "Properties..."Select the "BETAS" tab, and choose the "public-previews" branch.
[/olist]

Steam will now download the latest preview version. The same instructions work for the dedicated server.
If you find a bug in the previews, please report it on the Logic World Issue Tracker , and specifically mention which preview you discovered it on.
Please leave feedback on the new features and changes in The Big 0.91 Feedback Thread .
Known issues
This is a list of problems with the previews that we're aware of, and which we will fix before the full 0.91 release.
When moving around large worlds, there are occasional lag spikes. Framerate is stable when standing still.
Changelog
Here is the full list of changes in the 0.91 previews! This post will be updated every time a new preview is published, and we'll also post a notification in the #news channel of the Logic World Discord server .
v0.91 Preview 461
Fixed chunks starting out invisible until you go away and come back Fixed server errors when you modify the number of pegs on a Display (#419) More kinds of errors in the game loop are now caught and trigger an error screen Improved client-side loading performance a bit more The screen now flashes grey instead of white when you take a screenshot Added secret setting: `MHG.Secret.ScreenshotFlashColor` Updated the "Performance Impact" displayed in the settings menu for various graphics settings to be more accurate to the new rendering tech
v0.91 Preview 451
Building
Multi-wire placement is now treated as a single action in the undo/redo history, instead of one action per wire placed (#318)Wires can be slightly shorter nowYou can now configure the size of the Action WheelAdded a button in the Action Wheel configuration screen to reset to the default Action Wheel configurationFixed undo/redo stack breaking and causing errors sometimes (#396, #281)Fixed log spam with "Look viewing rotation vector is zero" during some edge cases with grabbingFixed a few issues with multi-editFixed some issues with components moving around upon completing a multi-resize (among them #266)Fixed board drawing sometimes not properly snapping to a square size when holding shift (#203)Fixed canceling multi-wire placement not removing the outlines of the selected pegs (#233)
Components
Added an option to Keys to only allow pressing them while in a ChairAdded a "reset" button to the Edit Delayer menu, to reset it to the default delay of 10 ticksIf you hold to Mod key while flipping a row of switches, they will all be set to the same state as the first switch flipped (#60)Added secret setting: `MHG.Secret.InvertMultiSwitchInteractionModKeyBehavior`The input pegs on XOR Gates, AND Gates, D-Latches, Oracles, and Relays are now slightly longerFixed some unintuitive Delayer behavior that could, among other anomalies, allow one-tick pulses to go through a two-tick Delayer (#183)Fixed Chairs sometimes erroneously complaining that they are occupied (#223)Chairs will no longer be outlined if you look at them while they are occupied
Simulation Speed
Added Simulation Speed menu. It can be accessed through a new button in the pause menu or with a hotkey, bound by default to `F9`Added a hotkey to pause or resume the simulation, bound by default to `F10`Added a hotkey to step one tick forward through the simulation (when the simulation is paused), bound by default to `Shift+F10`Added secret setting: `MHG.Secret.SimulationSpeedMenu.ShowRemoveFromListButtonsOnHover`Added secret setting: `MHG.Secret.SimulationSpeedMenu.SavedSpeedWiggleData`Added secret setting: `MHG.Secret.SimulationSpeedMenu.AutoResumeSimulationWhenChangingSpeed`Added server config value: `DefaultSimulationTPS`Added server config value: `MaximumSimulationTPS`Removed the server config value `SimulationTPS` as this is now configured per-save in ExtraDataRenamed the server command `step` to `simulation.step` for consistencyFixed the simulation unpausing when a new player joins the server even if the players currently on the server have paused it (#347)
Circuitry
Outputs that should start on (such as the outputs of newly placed Inverters) now start on in the simulationFixed component outputs sometimes changing state when the number of inputs is changedFixed weird simulation glitches (and occasionally server crashes) that would occur when changing the number of pegs on a component that has connected output pegs (#104, #250)
Optimization
Significantly improved loading times, especially for large worldsImproved game framerates for most scenarios, particularly for large worlds, and particularly if post-processing or shadow cascades are disabledComponent/wire geometry is now rendered with GPU instancing instead of in combined mesh chunksColliders are instantiated more efficientlyThe game now logs how long it takes the client to load a saveRemoved the secret settings `MHG.Graphics.RenderDistance.Secret.IdealFramesBetweenRecalculations` and `MHG.Graphics.RenderDistance.Secret.MaxTimeBetweenRecalculationsSeconds`. Render distance is now recalculated when the player has moved to a new chunk, not on a time interval.Added secret setting: `MHG.Secret.LimitColliderDistance`
Fixy Pointy
Component positions are now stored as fixed point rather than floating pointComponent world positions are now calculated in the reference frame of the stack root componentRounding of component rotations is smarter and more consistentDue to these changes, components now stay perfectly aligned up to an arbitrary nesting depth (#269, #273) and no longer cause tiny erroneous intersections (#123)
Save Files
Upgraded to Blotter File Format v6, to store positions in the new way (fixed point rather than floating point)Blotter v6 also has support for multi-root subassemblies, in preparation for some 0.92 featuresAdded save converter from v5 to v6The game no longer considers a save to be "corrupted" if the saved blotter format version doesn't match the current blotter format versionFixed missing translation string for the file corruption state "unknown save type"Fixed sandbox list displaying an empty info box for saves with an outdated format version
UI
The in-game changelog is much prettier, and the changelogs for each update can now be individually collapsed and expandedThe in-game changelog now automatically generates and displays links for mentioned issuesThe About menu, Languages menu, and Teleport menu can now be accessed from the Pause menuThe markdown renderer does a better job of rendering lists and headersThe markdown renderer now supports superscript. This is disabled everywhere by default, but it can be enabled for chat via a new `Superscript` section in the secret setting `MHG.Chat.Secret.ChatMarkdownSettings`Enabled smooth scrolling for the Settings Menu sidebarFixed some visual issues with the Settings Menu sidebar for settings with names long enough to span multiple linesFixed some inconsistencies with UI text boxesFixed the game being unpaused in singleplayer when accessing a sub-menu of the Pause menuFixed some visual issues with the custom avatar preview (under settings -> multiplayer)Fixed some resizing arrows not being properly disabled on configurable menus that are not supposed to be resizable, such as the Edit Delayer Menu (#377)Fixed the binding prompts in the Action Wheel not updating to show the new bindings if you change them
Thumbnails
Thumbnails are now be anti-aliasedThumbnail lighting is now independent of environment lighting, so thumbnails will now always look consistentThumbnails for single components where the output is supposed to start on, such as Inverters, now properly appear on in the thumbnailAdded command: `ExportThumbnailCache`Added command: `RegenerateThumbnailCache`Added secret setting: `MHG.Secret.Thumbnails.ThumbnailAmbientLighting`Added secret setting: `MHG.Secret.Thumbnails.ThumbnailDirectLighting`Added secret setting: `MHG.Secret.Thumbnails.ThumbnailRenderSizeFactor`Added secret setting: `MHG.Secret.Thumbnails.ThumbnailAntiAliasing`Renamed the secret setting `MHG.Secret.ComponentDisplayRotation` to `MHG.Secret.Thumbnails.ThumbnailModelRotation`Renamed the secret setting `MHG.Secret.ComponentDisplayRenderSize` to `MHG.Secret.Thumbnails.ThumbnailRenderResolution` and changed the default value from 256 to 128Due to a limitation of the new rendering tech, new thumbnails will now be blank for a single frame after creation. To avoid this, thumbnails are pre-cached as much as possible.Fixed visual artifacts that appeared wherever geometry intersected the edge of the thumbnail render
Text rendering
Added support for emojis (i.e. )Added support for music symbols (i.e. )Added support for additional math symbols (i.e. )Added Hong Kong style option for CJK characters. Currently only accessible by setting the secret setting `LogicUI.Secret.CjkDefaultFontStyle` to `Hong_Kong`All characters in the Adlam script are now displayed in the joined style (previously some were in an unjoined style)All characters in the Arabic script are now displayed in a neutral arabic style (previous some were in a Kufi style, and some were in a Naskh style)Added support for the following scripts: Bassa Vah, Bhaiksuki, Caucasian Albanian, Duployan, Elbasan, Elymaic, Grantha, Gunjala Gondi, Hatran, Indic Siyaq Numbers, Khojki, Khudawadi, Linear A, Mahajani, Manichaean, Marchen, Masaram Gondi, Mayan Numerals, Medefaidrin, Meroitic, Miao, Modi, Mro, Multani, Nabataean, Newa, Nshu, Old Hungarian, Old North Arabian, Old Permic, Old Sogdian, Pahawh Hmong, Palmyrene, Pau Cin Hau, Psalter Pahlavi, Sharada, Siddham, Sogdian, Sora Sompeng, Soyombo, Syriac, Takri, Tirhuta, Wancho, Warang Citi, and Zanabazar Square. PHEWUpdated Noto fontsUpdated Font Awesome to 6.1.2, with over 7,000 new icons!
Movement
Fixed the secret setting `MHG.Flying.Secret.AutoEnterNoclipOnStartFlying` not even working, and breaking the game in various ways when set to `true` (#279)Fixed errors in the console when a player is standing on a component decoration (such as a Chair or the clicky part of a Button) and that component gets destroyedFixed incorrect footstep sounds being played in some situations
Interactables
Added support for outlining Interactables that are not part of components. This is used for the big clicky button in the test world, which is now outlined when you look at itInteraction-dragging behavior is now consistent between chairs and standing: when the cursor is moved to be looking at a non-interactable, the interaction endsAdded secret setting: `MHG.Secret.Interactables.StopInteractionIfLookingAtNonInteractable`You can now interact with the same Switch multiple times during one interactionWhen interacting with a Chair to sit in it, the interaction will now immediately end, instead of continuing while you sit in the chair. Fixes #103
Music
Added a "Never" option to the Music Frequency settingChanging Music Frequency will no longer cause music to stop playing (except when setting it to "Never")Fixed reloading the settings causing music to stop playing (i.e. by switching settings profiles)The fancy music effects in the pause menu are now a bit more subtle by default
Modding
Fixed InputPeg.AddPhasicLinkWith throwing a NullReferenceException in many cases
Server
Periodic server tasks can no longer cause a server death spiral if they take too long. This was often presenting when autosave was enabled on a very large world.If the server fails to broadcast its existence on the local network, it will now disable local network broadcasting instead of just crashingReduced the minimum time between connections to a server from a single IP from 30 seconds to 3 secondsMessages in the server console announcing player leaves/joins are prettier
Technical
Fixed the game not properly detecting supported network protocols, which was causing various nasty bugs that made the game unplayable in certain network setups or when no external network interfaces are available (#204, #333, #229)Updated Unity version to 2019.4.40f1Upgraded server runtime from .NET Core 3.1 to .NET 6.0Fixed there being an omega () in the name of a dll, which prevented the game from working properly in some environmentsAll error messages and APIs are now PG-13The server now explicitly rejects wire requests between two outputs (previously, it would throw an error if sent one)The game now updates `___LastLoadedGameVersion` in `settings_master.succ` with the most recently loaded game version every time the game startsError messages about parsing SUCC files are much more helpful, and now contain the file path & line numberVarious SUCC files, such as `settings_master.succ`, will now be automatically reloaded and their changes applied when the file is changed on disk.Configurable menu data is now stored in the profiled settings files instead of in a separate file for every menu. This means menu configurations now properly work with the settings profile system.Removed `config_override` files. All server config values are now stored only in `config.succ`Added a system for updating CustomData in saves when the layout for a component's CustomData changes between versions
Miscellaneous
Removed startup screen in non-preview versionsAdded secret setting: `MHG.Secret.PreviewsOnly_SkipIntroScreen`Changed default offline player names from "Citizen [random number]" to "Bobby #[random number]", and reduced the max size of the random numbersThe 4D option for barrier shader quality is not displayed anymore because it is too slow; however, it can still be used if you enable the secret setting `LogicSettings.Secret.ShowHiddenDropdownValues`When taking a screenshot, the screen now flashes whiteThe FPS counter no longer erroneously reports 60FPS for the first second it is enabled (#350)