
Tabletop Simulator v14.0 - Engine Upgrade, Feature Additions & Performance Improvements! A quick note from the team: We know it’s been a long time since the last big update. Behind the scenes we’ve been doing a lot of groundwork on the engine and tools, and this patch is the first step to a renewed focus on regular updates and improvements to TTS. Thank you for your patience and for sticking with us ❤️ Thanks to everyone who tried out this update in the public beta—your feedback was invaluable in helping us make it as good as it is. A lot of the new features and fixes came directly from what you shared with us.Read First (Important Changes) New minimum OS / platform requirements: Windows: 64-bit Windows 10 21H1+ (Windows 11 supported) macOS: 11 Big Sur+ Linux: Ubuntu 22.04 / 24.04 (64-bit) Win 32-bit builds are no longer supported. Keybind behavior changed: keybinds now use physical key location instead of character (better across keyboard layouts). Keybinds have been reset due to this change. Image pipeline update: your RAW image cache will be cleared with this update due to image pipeline changes and new translucency support. Voice chat: if you are the host and disable voice chat, it disables voice chat for all players. Gameplay, rules, and your saves are unchanged. This is primarily an engine + quality-of-life update.Summary Engine & platform Engine upgrade to Unity 6 LTS for smoother performance, better stability, and faster loading in many cases. Over 5 years of engine improvements! Native Apple Silicon support on macOS with a universal app (Apple Silicon + Intel), using Metal by default on Apple Silicon. The game executable is now code signed, improving trust with Windows and reducing false positives with antivirus. Rendering & mod assets New Vulkan graphics API option on Windows & Linux (experimental) for potentially better performance in heavy scenes. New rendering & image upgrades: higher quality PCSS shadows, optional image translucency, and WebP image support for more efficient mods. Quality of life Camera movement improvements, deal from bottom of deck, keyboard layout–friendly keybind behavior, turns system improvements, controller pointer smoothing, music player overhaul, notepad improvements, grid tools, erase-all controls, Cloud Manager upgrades, and new console options. Lua / creators Lua upgrades including a new turn-order API, improved deck dealing controls (including “deal from bottom”), [c]putObject[/c] index support, plus stability fixes for scripting and drafting/hand selection workflows.Engine, Platform & Security Updated TTS to Unity 6 LTS. Updated all plugins to their latest compatible versions. The game executable is now code signed, improving trust with Windows and reducing false positives with antivirus.New OS / Platform Requirements Windows 64-bit only. Minimum: Windows 10 version 21H1 (build 19043) or newer. Windows 11 fully supported. macOS Minimum: macOS 11 Big Sur or newer. Ships as a universal app that runs on both Intel and Apple Silicon (M-series). On Apple Silicon, TTS runs natively (no Rosetta required). Linux Officially supported/tested: Ubuntu 22.04 / 24.04, 64-bit. Wayland and X11 supported (behavior may vary by distro/driver). If you're on an older OS than the above, TTS may not launch after this update. Please update your system.Graphics APIs macOS (Apple Silicon) Metal is now the default graphics API when running on Apple Silicon. If you're not on Apple Silicon, the game uses OpenGLCore by default. Windows & Linux Added Vulkan as a new experimental graphics API. In very demanding scenes, Vulkan can offer better performance on supported hardware. If you hit visual glitches or stability problems, switch back to the default renderer.Security Includes the latest Unity 6 security fixes, addressing known file-loading vulnerabilities in older engine versions. Combined with code signing, this should reduce security prompts and exploit risk.General & Performance Greatly increased snappiness of WASD camera movement with less "floaty" gravity. Keybinds now use physical key location instead of character, so bindings line up across different keyboard layouts. Turn order UI now updates dynamically in the top-right player list whenever turn order changes. Controller input for moving pointers should now feel slightly smoother. Greatly optimized network serialization on CPU via more efficient bitpacking. Image loading improvements Loading new (uncached) images is now more performant. Improved image quality in many cases. Reduced likelihood of crashes when large or many new images are being loaded. Added support for WebP images, a more efficient image format than JPG or PNG. (Feedback #2273) Voice chat improvements: Disabling voice chat in the configuration menu properly stops all voice chat processes. This can fix audio issues with some Bluetooth headsets. If you are the host and disable voice chat, it disables voice chat for all players. Added an error message when trying to use voice chat when it isn't connected. UI theme can now automatically follow your system theme if none is manually selected.Rendering Options Added a higher quality shadow setting PCSS, which gives more realistic shadows and blurs based on distance. Added a new console command [c]Translucency[/c] that allows images to support partial translucency (EXPERIMENTAL, please send us feedback on this!).Connectivity & Session Safety Added a popup when disconnecting while players are still connected to offer them host migration. (Feedback #2663) Note: Your RAW image cache will be cleared with this update due to image pipeline changes and new translucency support.Music Player Added search filter for playlists. (Feedback #2143) Added Clear Playlist button. Added Export Playlist and Import Playlist Save your current playlist to a file. Add a playlist file into your current playlist. Added Upload Music Folder Select a folder and upload all songs in it at once, with naming. TTS will now suggest a name for a song when you provide a URL or file. Fix: Music player no longer breaks when loading a new mod. (Feedback #2038) Fix: Music events no longer break when a song ends with no playlist active. Fix: Music player no longer resets when loading a save file with no music saved on it.Notepad (On-Screen Notes) On-screen notes region is now resizable. New notepad settings for: Font Font size Text justification New console commands: [c]ui_notepad_edit[/c] [c]ui_notepad_left_align[/c] [c]ui_notepad_locked[/c] [c]ui_notepad_fixed_width_font[/c] [c]ui_notepad_font_size[/c] [c]ui_notepad_size[/c] [c]ui_notepad_text[/c]Grid While Grid settings are open, the grid now renders on top of everything, making adjustments easier. Controlled via [c]ui_grid_highlight_when_editing[/c] (console / Misc setting). New anchor & gizmo mode Click the Gizmo button in the Grid window. Select a component to center the grid on it. Ctrl+click a second component to size the grid appropriately (using your snap settings). (Feedback #1871) Added [c]measure_grid_multiplier[/c] command.Erase All Applies to drawn lines, text, and decals. Non-promoted players "Erase all" now only erases their own drawings/decals. (Feedback #1841) Promoted players Can erase everything Can erase just their own Can erase all content from a specific playerCloud Manager Cloud folder dropdown now has a "Select Folder" button that opens the Cloud Manager folder browser. (Feedback #711) Starred folders Folders can now be Starred (button next to folder name). Starred folders show first in the folder browser dropdown. (Feedback #711) Cloud search now restricts results to the current folder. (Feedback #1839) Fix: Resolved several file browser issues and cleaned up its underlying code to improve stability.Dealing: Deal From Bottom Holding ALT while dealing or drawing from a deck will now take the card from the bottom of the deck. (Feedback #2680) The deck will do a small “hop” animation to make it clear when this happens. Works both with the number keys and the GUI. Dealing hand objects will now correctly deal to your new hand if you change the table.Misc Features Custom Figurine Added toggle to use a minimal collider on the card part. (Feedback #1929) Added option to mirror the back texture. (Feedback #2107) Added Reset Scale to an object's scale context menu. (Feedback #2078) Hotseat player names are now remembered between sessions. (Feedback #2070) Added [c]vr_floor[/c] command / VR setting Lets you turn off the floor independently of [c]fog[/c] / "Floor Of Mist". (Feedback #2173) Server browser improvements Player names now show in the server browser. Your name is hidden if you are offline, invisible, or you untick the "Show Name In Server Browser" option.Console Commands New/updated commands: [c]component_hotkey_state_change[/c] When enabled, press number keys while hovering an object to change its State. Appears in Misc Settings. [c]ui_notebook[/c] Shows the Notebook window. [c]text_tool_default_font_size[/c] Sets default size for the Text tool. (Feedback #2000) [c]autorun_lua[/c] Controls whether Lua automatically runs when updated. [c]camera_reset_on_color_change[/c] Controls whether the camera automatically moves to your seat when you change color. (Feedback #256) [c]show_name_in_server_browser[/c] Controls whether your name is listed in the server browser for public servers you join. [c]measure_grid_multiplier[/c] Applies a scale multiplier when the line measure tool is in Grid mode. Fixes: Fixed [c]help[/c] command not working on commands that have no arguments. Removed old console commands related to global chat. (Feedback #2117)Open Beta Fixes Fixed a major networking issue where loading a save file could break the game state. (Feedback #2641) Fixed rewinds and autosaves not working correctly. (Feedback #2656) Fixed an issue where XML UI could be blocked by incorrect objects, including the invisible floor at [c]y = 1[/c]. (Feedback #2647) Fixed a 64-depth issue when downloading and loading mods. (Feedback #2640) Fixed hand selection working incorrectly with the new Lua drafting mechanic. Fixed an issue where you could erase your drawn lines incorrectly. (Feedback #2702) Fixed several HandSelectMode issues. (Feedback #2618) Fixed a bug in [c]Lua Wait.collect[/c]. (Feedback #2635)Fixes Fixed an issue where XML UI would not be blocked by objects when it should. Fixed XML UI not hiding in hidden zones. (Feedback #2673) Fixed partial transparency when importing UI and decal images for the first time. Fixed advancing the turn immediately after loading a game always going to the first player instead of the second. Fixed a macOS issue where text could be entered while the Cmd modifier key was held. (Feedback #2636) Fixed infinite bags visually breaking after Undo or Reload. (Feedback #2665) Fixed drop indicator not showing color when dropping with Alt + Right Click for decks and stacks. Fixed grid size inputs not allowing you to type a [c].[/c] at the end. Fixed [c]onLoad[/c] not executing in Hot Seat Mode. (Feedback #2629) Fixed RPG tileset snapping preview so it now displays correctly. Fixed Flick and Combine sometimes requiring a double click when you are a client. Fixed right click while drawing a line not canceling for everyone else. (Feedback #125)Misc Fixes You can now obtain the "Be Social" achievement using in-game chat. (Feedback #1895) Fixed game crashing when trying to load a CMYK JPG. Fixed line tool not converting to cm in component mode. (Feedback #1934) Fixed "Showing Hand" button displaying incorrect color after seat swap. Fixed on-screen hand blocking in-game UI. (Feedback #1757) Fixed hotseat turn not being set to correct player on load. (Feedback #1960) Fixed hotseat players being unable to drop cards in searched deck. (Feedback #1959) Fixed hotseat turn incorrectly resetting when loading a Classic game. When starting a hotseat game, the game now only picks larger tables, so all player colors are immediately selectable. Fixed context menu not clamping to screen. (Feedback #1966) Fixed context menu appearing in the wrong position when right-clicking a card in hand. (Feedback #2051) Fixed unintuitive Text Tool placement behavior. Fixed appearance of custom card aspect ratios when searching containers. (Feedback #2021) Fixed cards merging incorrectly with a deck when the deck is on a snap point. (Feedback #2063) Fixed left edge of search dialog not having a collider. (Feedback #2077) Fixed Japanese language name in language select. (Feedback #2116) Fixed shake detector triggering when the user spams Tap. Fixed Random Domino/Card/Mahjong Tile not generating every possible object. (Feedback #2160, #2154) Fixed rewind/forward ([c]rwd/fwd[/c]) not working correctly. (Feedback #2161) Fixed game breaking on first launch but working on subsequent launches. Fixed cards getting cut off onscreen when scaling very large hands. Fixed deleting a folder in Cloud Manager not deleting all contained files. Fixed issues when uploading PDF files via "Upload All" in the Cloud Manager. Fixed a bug where objects with multiple assets (primary/secondary AssetBundles) could think they finished loading too early, breaking on-screen hands, highlighting, and Lua load completion. Fixed dice behavior when picking up and dropping instantly, so dice now roll correctly in that scenario. Fixed VR floor setting being inverted for the [c]vr_floor[/c] option.Lua New Lua functions and features for creators:Object State Changes Added [c]tryObjectStateChange(object, new_state_index, player_label)[/c] and [c]object.tryStateChange(new_state_index, player_label)[/c]. (Feedback #1822) Limited [c]tryObjectStateChange[/c] and [c]tryStateChange[/c] to only trigger on valid state indices.Turn Order & Input Modifiers Added [c]Turns.getTurnOrder()[/c] which returns the current turn order, including automatic order (in automatic mode) and custom order (in custom mode). Lua will now receive the ALT modifier on the events [c]onNumberTyped[/c] and [c]onObjectNumberTyped[/c].Dealing API Updated [c]obj.deal(int NumCards, string Color = Colour.SeatedLabel, int HandIndex = 1, bool DealFromBottom = false)[/c] Now supports dealing from the bottom of the deck when [c]DealFromBottom = true[/c] (only works for decks).Hand Select Mode Automate drafting & hand selection: [c]chooseInHand(label, minCount, maxCount, prompt, players) -> affectedPlayers[/c] [c]chooseInHandOrCancel(label, minCount, maxCount, prompt, players) -> affectedPlayers[/c] [c]clearChooseInHand(players) -> affectedPlayers[/c] [c]currentChooseInHand(player) -> label[/c] [c]onPlayerHandChoice(player_color, label, objects)[/c] → Callback triggered when a player confirms their selection.[c]Wait.collect[/c] Added [c]Wait.collect(table expected_ids, on_finished, on_add = nil, on_error = nil) -> {table expected, table results, add(id, …), reset()}[/c]. [c]Wait.collect[/c] takes a list of expected ids and returns a [c]collect_table[/c]: When the task for a given id is complete, call: [c]collect_table:add(id, …)[/c]. The first time this happens for a given id: [c]collect_table.results [id][/c] is set to the [c]…[/c] you passed in. If you provided [c]on_add[/c], it is called as: [c]on_add(id, …)[/c]. Error handling: If you call [c]add[/c] more than once for the same id and you provided [c]on_error[/c], it is called as: [c]on_error(Wait.COLLECT_DUPLICATE, id, …)[/c]. If you call [c]add[/c] with an id that was not expected and you provided [c]on_error[/c], it is called as: [c]on_error(Wait.COLLECT_UNKNOWN, id, …)[/c]. When all expected ids have been added: [c]on_finished(results)[/c] is called with the final [c]results[/c] table. You can call: [c]collect_table:reset()[/c] to zero out call counts and clear results so you can reuse the same collector.Rewind State Rewind states are stored periodically. If a store happens in the middle of a complex scripted change, you can end up with bad intermediate states. These helpers let you control when rewinds are saved. (Feedback #617) [c]storeRewindState(closure andThen, block_further_stores)[/c] Attempts to store a rewind state if there are unsaved changes, then calls: [c]andThen(success, didSave)[/c]. [c]success[/c] [c]true[/c] → the call completed successfully. [c]false[/c] → a rewind state could not be stored. You should always check this before continuing. [c]didSave[/c] [c]true[/c] → a new rewind state was actually written. [c]false[/c] → call succeeded but there was nothing new to save. If [c]block_further_stores[/c] is [c]true[/c] and [c]success[/c] is [c]true[/c], then no additional rewind states will be recorded until: You call [c]storeRewindState[/c] again, or You call [c]allowRewindStore()[/c], or 60 seconds have passed. [c]allowRewindStore()[/c] Clears the block on storing rewind states.Hand Zone Stash Each player’s primary hand zone now has a “stash” where cards in the players hand can be stashed temporarily: [c]player.drawHandStash()[/c] → draws all cards from stash into hand. [c]player.setHandStashLocation(v3 position, int rotation)[/c] → set stash position & rotation. [c]card.moveToHandStash()[/c] → moves a card in hand into its stash. Use cases: drafting mechanics, temporary hidden piles, etc.Lua API Addition Lua added an optional index parameter to [c]putObject(Obj, index)[/c]. (Feedback #659)Lua Fixes Fixed an issue with [c]Lua GetData()[/c] involving the new Steam IDs. Fixed [c]JSON.encode[/c] not working correctly with Unicode. (Feedback #1263) v14.0.3 Hotfix 1 Revert fixing XML UI being not being clickable through objects (caused too many regressions) https://feedback.tabletopsimulator.com/2728 Fixed SSAO bug with being able to see SSAO through objects https://feedback.tabletopsimulator.com/2639 Fixed model tint color translucency, when the translucency command setting is off., Fixed token mesh generation for certain images type that was breaking., Fixed snapping preview for grid not showing rotation correctly https://feedback.tabletopsimulator.com/2726 Fixed snapping preview for rotation snap points not show correctly when spawning objects., Fixed incorrect random ranges for decks, mahjong tiles and dominos https://feedback.tabletopsimulator.com/2717 Fixed resolution settings in the graphics menu cutting off https://feedback.tabletopsimulator.com/2727 Fixed depth limit for JSON load to 256 from 128 https://feedback.tabletopsimulator.com/273030 v14.0.3 Hotfix 2 Added a 'Community Chat' button to the chat menu that opens the Tabletop Simulator community group chat on Steam. Community Chat Rules need to be accepted before you can join. Fixed crash loading certain images (let us know if you have anymore crash events!) https://feedback.tabletopsimulator.com/2736 Fixed Custom Figurine not updating when you choose to update similar https://feedback.tabletopsimulator.com/2722 Fixed ui_toast_duration error causing the misc setting menu to not open on first click. v14.0.3 Hotfix 3 Added Lua Turns.endTurn() an easy way to end a players turn. Changed json save file max depth to 1024… Optimized the Wait class and fixed potential bugs with callback and calling stop(). Fixed "crashed" caused when deleting large RAWT cache after update (made deletion async, so it doesn't appear crashed). Fixed not being able to pass turns for non admin players. Fixed being able scale objects with locked Y scale to 1 to really small or big. Fixed stacking distance for small cards and decks so that the spread action properly works with them. Fixed autosaves happening when your server becomes disconnected. Troubleshooting & Logs For issues or feedback, post them here: https://feedback.tabletopsimulator.com/ If you hit problems, attaching your Player.log helps us a lot: Windows: [c]%USERPROFILE% AppData LocalLow Berserk Games Tabletop Simulator Player.log[/c] macOS: [c]~/Library/Logs/Berserk Games Tabletop Simulator/Player.log[/c] Linux: [c]~/.config/unity3d/Berserk Games Tabletop Simulator/Player.log[/c] Enable logging with [c]/log[/c] in chat or the [c]-log[/c] launch option.Thank you ❤️ Engine upgrades are big and tie in to every platform and a ton of unique hardware configurations. If you run into issues, please include with your report: OS version GPU + driver version Player.log Workshop link (if it's mod-related) And again, thank you for your patience during the long gap of silence. This engine work sets us up for faster, more frequent updates going forward. We have a big announcement coming soon - keep an eye out for around New Years!
2026-02-13 09:00:28 发布在
Tabletop Simulator
说点好听的...
收藏
0
0
