Tabletop Simulator - CHRY
Tabletop Simulator and DLC is on sale for up to 50% off during the Winter Sale!

Check out our discounts here: https://store.steampowered.com/dlc/286160/Tabletop_Simulator/
Dec 16, 2019
Tabletop Simulator - CHRY
We've got a new DLC available for you today:

Unearth is a bend-your-luck game of dice placement and set collection. Designed by Jason Harner and Matthew Ransom, it plays in under an hour with 2-4 players. Each player leads a tribe of Delvers, represented by five dice (3 six-sided, 1 four-sided, and 1 eight-sided). Players take turns rolling and placing dice in an attempt to claim Ruins.

The game's elegant core mechanic is accessible to players of all skill levels. High rolls help players claim Ruins, while low rolls help players collect Stones. This opens two paths to victory: claiming sets of Ruins or using Stones to build Wonders. Delver cards help you affect your dice rolls or dice in play, and Wonders can grant abilities that impact the late game.

https://store.steampowered.com/app/610702/Tabletop_Simulator__Unearth/
Tabletop Simulator - CHRY
We've got yet another great update for you today featuring a Custom Theme Editor (dark mode included), Global Chat Filter, Picture-in-Picture and many scripting improvements!

Theme Editor & Dark Mode

Alongside the new Dark theme, you may now edit the colours of the user interface however you wish using the Theme Editor. Find it in the Configuration->Interface window.

Global Chat
The Global Chat now has a Profanity filter that the user can enable to filter out profanity, spam and misbehaviour. Can be enabled/disabled in chat settings, or with /filter & /nofilter

Picture-in-Picture / Spectator View
  • Spectator view can now be used for picture-in-picture, if you are not using it on another monitor. Can be enabled by right-clicking background in game and selecting Picture-in-Picture.
  • Console commands added for this, and some spectator commands reworked. See below.
  • Fixed restricted visiblity (which shows the world as a Grey player sees it).
  • Fixed fog-of-war view.
  • Fixed pointer visibility.

General
  • Images assets are no longer resized to the nearest power of 2 thanks a bug fix by Unity. (Unity version 2019.1.14)
  • Lowered max angular velocity cap to make dice feel better and more like previous versions.
  • Various UI improvements and fixes, most notably on Color Picker, Server Browser, and Script Editor.
  • Custom Figurine object now has a Card Scale property, so the figurine card can be scaled independently from the base.
  • GM Notes section added to bottom of right-click context menu for Black player (can be disabled in Misc settings)
  • Each section in the right-click context menu can be collapsed by clicking the line above it (can be disabled in Misc settings)
  • Misc setting to control mouse shake threshold.
  • Misc setting to control whether games can add items to context menus.
  • Misc setting to control whether games can show the game-specific keyboard controls config window.
  • Misc setting to control whether a single card will behave as a deck when you type a number on it. If ON then you will draw the card. If OFF then it will change state / rotation value, etc.
  • Fixed blindfold in right-click menu not working.
  • Fixed spectators (grey players) seeing things they shouldn't (in fog-of-war for instance).
  • Fixed game freezing when you hold a stack of two objects and use alt+right-mouse to drop one.

Lua

New API events:
  • filterObjectEnterContainer(container, object) - Global version of object.filterObjectEnter
  • onPlayerChangeTeam(player, team) - Called when a player changes team.
  • onObjectHover(player, object) & object.onHover(player) - Called when a player moves their pointer over an object.
  • onObjectNumberTyped(object, player, number) & object.onNumberTyped(player, number) - Called when a player types a number on an object. Uses new property object.max_typed_number
  • onObjectStateChange(object, old_guid) & object.onStateChange(old_guid) - Called when an object changes state, after it is in its new state.
  • onObjectCollisionEnter(object, collision_info), onObjectCollisionStay(object, collision_info), onObjectCollisionExit(object, collision_info) - Called when an object collides with another. Objects must be registered with the collision handler before they will trigger these events.

New API commands:
`onNumberTyped` example:

  • player.setUITheme(theme_script) - Sets the player's UI theme.
  • object.addContextMenuItem(label, function, keep_open = false) - Adds a right-click context menu to the object.
  • object.clearContextMenu() - Clears all items added by above.
  • addContextMenuItem(label, function, keep_open = false, require_table = false) - Same as above, but global (when user right-clicks empty space, or the table).
  • clearContextMenu() - Clears all items added by above.
  • addHotkey(label, method_name, trigger_on_key_up = false) - Add a bindable control. User may assign a key to it in Options->Game Keys.
  • showHotkeyConfig() - Shows the config window described above.
  • clearHotkeys() - Remove all controls created by above.
  • container.remainder - After using container.takeObject, if there is only one object left in the container (which means the container will be destoyed in the next frame) then this will be set to that last remaining object.
  • object.getGMNotes() & object.setGMNotes(notes) - For new GM notes feature.
  • object.registerCollisions(include_stay_events = false), object.unregisterCollisions() - Objects must be registered in order to trigger the global collision handler events detailed above. Stay events are particularly expensive, so only set that parameter to true if you absolutely require it.

Fixes:
  • Fixed filterObjectEnter not working under certain conditions.
  • Fixed decals not cleaning up correctly when using setDecals

System Console
Spectator command rework:
  • spectator_window now controls the picture-in-picture mode.
  • spectator_screen can be used to open spectator view on another monitor.
  • spectator_activate_with_resolution now has -p parameter to specify picture-in-picture. This command can be used to open picture-in-picture with specific position and size.

New commands: (for more info see above page, or use help <command>)
  • ui_main_flip, ui_main_modding, ui_main_music, ui_main_notebook, ui_main_objects, ui_main_options - Control visibility of buttons on top menu bar.
  • spectator_panel_buttons - Whether picture-in-picture window has buttons to control it.
  • spectator_panel_corners - Whether picture-in-picture window has corners to resize it.
  • spectator_panel_locked - Whether picture-in-picture window can be moved.
  • ui_theme_color_<selector> - Color of specified selector.
  • ui_theme_batch_start & ui_theme_batch_end - Group multiple ui_theme_color_ commands together.
  • ui_theme_count - Number of themes.
  • ui_theme_from_game_auto - Whether games can set the theme colors.
  • ui_theme_is_<name> - Sets current theme.
  • ui_theme_index - Index of current theme. Set to change theme.
  • ui_theme_name - Name of current theme. Set to change theme.
  • chat_filter - Whether the chat filter is enabled.
  • chat_refresh_filter - Refresh the chat filter rules.
  • card_is_a_deck_for_hotkeys - Whether the setting described above is enabled.
  • game_hotkey_bind - Bind a key to a game-generated control.
  • game_hotkey_list - List bindable controls generated by loaded game.
  • ui_context_menus_from_games - Whether games can add items to context menus.
  • game_hotkey_config_can_open - Whether games can show the game-specific control binding window.
  • ui_context_menus_can_collapse - Whether context menu section can be collapsed.
  • ui_context_menus_show_gm_notes - Whether GM notes are displayed at bottom of context menu for Black player.
Tabletop Simulator - CHRY
We've got two new DLC additions in store for you today - Blood Rage and Boss Monster

In Blood Rage, each player controls their own Viking clan’s warriors, leader, and ship. Ragnarök has come, and it’s the end of the world! It’s the Vikings’ last chance to go down in a blaze of glory and secure their place in Valhalla at Odin’s side! For a Viking there are many pathways to glory. You can invade and pillage the land for its rewards, crush your opponents in epic battles, fulfill quests, increase your clan's stats, or even die gloriously either in battle or from Ragnarök, the ultimate inescapable doom.

https://store.steampowered.com/app/610700/Tabletop_Simulator__Blood_Rage/

Inspired by a love of classic video games, Boss Monster: The Dungeon Building Card Game pits 2-4 players in a competition to build the ultimate side-scrolling dungeon. Players compete to lure and destroy hapless adventurers, racing to outbid one another to see who can build the most enticing, treasure-filled dungeon. The goal of Boss Monster is to be the first Boss to amass ten Souls, which are gained when a Hero is lured and defeated — but a player can lose if his Boss takes five Wounds from Heroes who survive his dungeon.

https://store.steampowered.com/app/610701/Tabletop_Simulator__Boss_Monster/

Only the host needs to own the DLC for everyone at the table to play
Tabletop Simulator - Knil
Hey everyone, we got another great update for you today! We have added 2 very long requested features a Music Player and PDF support! There are also a ton of great additions and improvements listed below in the patch notes.



Music Player
  • The music player let's you play audio files (.mp3, .wav, .ogg, ogv) which are synced for all players.
  • Great for room music or so your DnD campaign has the right mood!
  • Supports playlists with ordering, shuffling, and looping.

Custom PDF
  • New object Custom PDF, that allows you import a PDF onto a tile.
  • This converts the PDF into a series of images, to make it easy to import your rule books!
  • Supports multiple pages: swap between them with the contextual menu, next/previous state hotkeys, or the buttons on the left and right side.
  • Can popout the PDF to the screen by hitting the hidden UI button on the top left of the PDF object.
  • You can joint this to any objects to add any visual flair you would like to match the game.

Cloud Manager Folders
  • Cloud manager now supports folders just like Saved Games/Objects.
  • When you import all loaded assets into cloud it puts them in a folder defaulting to the Game name.
  • Can now name files that are uploaded to the Cloud instead of just using the file name on disk.

Sound Improvements
  • Custom Objects that are set to dice or coin will now get that correct sounds for their selected material type.
  • Improved sounds for objects interacting with locked objects.
  • Added glass material type for Custom AssetBundle and Custom Model.

Alpha Transparency Support
  • Added alpha support to the color picker.
  • Can now draw with semi tranparency.
  • Can color tint objects to have alpha transparency, which goes nicely with the new glass material type.
  • Objects with alpha transparency will not cast shadows.

Magnify Revamp
  • Magnify (hotkey m) overhauled to be round.
  • Scroll up or down to control the zoom level of the magnify.
  • Fixed visual issues with previous magnify.

General Improvements
  • Added loading percent next to the player names on the top right.
  • For the top bar in-game the Scripting, Workshop Upload, and Cloud Manager menus have been moved under "Modding".
  • Improved auto-raise to work better with overhangs.
  • Added a workshop indicator next to the chat window that you can hover over and get info about how far along the workshop subscription check is at.
  • Moved physics mode (semi-lock, locked, etc) from Configuration to Server Options.
  • Greatly improved compatibility with old AssetBundles shaders. This will fix a lot of broken DLCs.
  • Improved Fog of War performance.
  • File Browser now remembers the last opened path.
  • Updated Voice Chat plugin.
  • Voice chat is now using a higher quality setting.
  • Added hidden zone opacity sliders to Misc settings.

Scripting Improvements
  • New global class Vector:
Constructors: Vector(num, num, num) --> return a vector with specified (x, y, z) components Vector(table) --> return a vector with x/y/z or 1/2/3 conponents from source table (x/y/z first) Vector.new(...) --> same as Vector(...) Vector.max(vec1, vec2) --> return a vector with max components between vec1 and vec2 Vector.min(vec1, vec2) --> return a vector with min components between vec1 and vec2 Vector.between(vec1, vec2) --> return a vector pointing from vec1 to vec2 vec:copy() --> copy self into a new vector and retur it Component access: vec.x, vec.y, vec.z --> read/write component v[1], v[2], v[3] --> read/write component vec:get() => num, num, num --> returns x, y, z components of self Methods modifying self and returning self: vec:setAt(key, num) --> same as "vec[key] = num" vec:set(num, num, num) --> set x, y, z components to passed values vec:add(otherVec) --> adds components of otherVec to self vec:sub(otherVec) --> subtracts components of otherVec from self vec:scale(otherVec) --> multiplies self components by corresponding compnents from otherVec vec:scale(num) --> multiplies self components by a numeric factor vec:clamp(num) --> if self magnitude is higher than provided limit, scale self down to match it vec:normalize() --> scale self to magnitude of 1 vec:project(otherVec) --> make self into projection on another vector vec:reflect(otherVec) --> reflect self over a plane defined through a normal vector arg vec:inverse() --> multiply self components by -1 vec:moveTowards(otherVec, num) --> move self towards another vector, but only up to a provided distance limit vec:rotateTowards(otherVec, num) --> rotate self towards another vector, but only up to a provided angle limit vec:projectOnPlane(otherVec) --> project self on a plane defined through a normal vector arg Methods not modifying self: vec:dot(otherVec) --> return a dot product of self with otherVec vec:magnitude() --> return self magnitude (length) vec:sqrMagnitude() --> return self magnitude (length) squared vec:distance(otherVec) --> returns distance between self and otherVec vec:sqrDistance(otherVec) --> returns squared distance between self and otherVec vec:equals(otherVec, num) --> returns true if otherVec same as self (optional numeric tolerance param), false otherwise vec:string(str) --> return string describing self, optional string prefix vec:angle(otherVec) --> return an angle between self and otherVec, in degrees [0, 180] vec:cross(otherVec) --> return a cross-product vector of self and otherVec vec:lerp(otherVec, num) --> return a vector some part of the way between self and otherVec, numeric arg [0, 1] is the fraction vec:normalized() --> return a new vector that is normalized (length 1) version of self vec:orthoNormalize() --> return three normalized vectors perpendicular to each other, first one being in the same dir as self vec:orthoNormalize(otherVec) --> same as vec:orthoNormalize(), but second vector is guranteed to be on a self-otherVec plane Operators: vecOne + vecTwo --> return a new vector with added components of vecOne and vecTwo vecOne - vecTwo --> return a new vector with subtracted components of vecTwo from vecOne vecOne * vecTwo --> return a new vector with multiplied components of vecOne and vecTwo, NOT a dot product (!) vec * number --> return a new vector with all components from vec scaled by a numeric factor number * vec --> same as "vec * number" vecOne == vecTwo --> return true if both vectors identical or within a small margin of each other, false otherwise tostring(vec) --> return a string description of a vector
  • New global class Color:

Constructors: Color(num, num, num) --> return a color with specified (r, g, b) components Color(num, num, num, num) --> return a color with specified (r, g, b, a) components Color(table) --> return a color with r/g/b/a or 1/2/3/4 components from source table (letter keys prioritized) Color.new(...) --> same as Color(...) Color.fromString(colorStr) --> return a color from a color string ('Red', 'Green' etc), capitalization ignored Color.fromHex(hexStr) --> return a color from a hex representation string (e.g. '#ff112233'), hash sign and alpha are optional col:copy() --> copy self into a new color and return it Color.Purple [etc] --> shorthand for Color.fromString('Purple'), works for all player and added colors, capitalization ignored Component access: col.r, col.g, col.b, col.a --> read/write component col[1], col[2], col[3], col[4] --> read/write component col:get() => num, num, num, num --> returns r, g, b, a components of self col:toHex(includeAlpha) --> returns a hex string for self, boolean parameter col:toString(num) --> returns a color string if matching this instance, nil otherwise, optional numeric tolerance param Methods modifying self and returning self: col:setAt(key, num) --> same as "col[key] = num" col:set(num, num, num, num) --> set r, g, b, a components to passed values Methods not modifying self: col:equals(otherCol, num) --> returns true if otherCol same as self, false otherwise, optional numeric tolerance param col:lerp(otherCol, num) --> return a color some part of the way between self and otherCol, numeric arg [0, 1] is the fraction Operators: colOne == colTwo --> return true if both colors identical or within a small margin of each other, false otherwise tostring(col) --> return a string description of a color Other: Color.list --> table of all color strings Color.Add(name, yourColor) --> add your own color definition to the class (string name, Color instance yourColor)
  • Added an overload to UI.setXml() and UI.setXmlTable() to take a CustomAssets as the last param.
  • Music Player exposed to Lua.
  • Added logString function, which returns a string representation of a lua object (the same representation the log function uses)
  • Fixed cleanup issue with Xml custom assets UI from lua for clients.
  • Fixed turns not network syncing for Lua.

VR
  • Improved movement - added movement inertia. Can be calibrated or disabled in VR settings.
  • Grid overlay now renders in VR.
  • Fog of War now renders in VR.
  • Added VR documentation to api website: https://api.tabletopsimulator.com/vr/

Spectator Mode
  • Spectator window may now display the view grey players have (for example, cards in your hand will be hidden). Enable with +spectator_restrict_view
  • Spectator window now renders the grid. May be turned off with -spectator_show_grid

System Console

  • Added documentation for system console to tabletop api website: https://api.tabletopsimulator.com/systemconsole/
  • Inline variable evaluation changed to use { and } (instead of < and >). See above page for details.
  • You may now use alias to run commands when a toggle variable's value is changed.
  • skip now allows for various comparisons, and fuzzy equality check.
  • Added ui_anchor, ui_label and ui_toggle commands (to accompany ui_button), allowing you more options for easily running commands / changing setting during play.

New commands: (for more info see above page, or use help <command>)

  • append - Adds text, or the last entered command, to a text variable.
  • camera_reset_on_load - Whether the camera resets its position when you do a Save & Play in Atom.
  • chat_input - Activates chat input box.
  • component_examine - Sets game component currently being examined.
  • component_move, component_rotate, component_position, component_rotation - Apply movements to components.
  • eval - Evaluates an expression and stores it in a variable.
  • examine_position, examine_rotation - Return information on the currently examined component.
  • hidden_zone_showing_opacity, hidden_zone_hiding_opacity - Set visual opacity of hidden zones.
  • lua - Execute a lua statement.
  • music_add, music_mute, music_next, music_pause, music_play, music_prev, music_repeat, music_shuffle, music_timecode - Commands to control new music player.
  • spectator_restrict_view - Whether the spectator window shows your view, or that of a grey player.
  • spectator_show_grid - Whether the grid is rendered in the spectator window.
  • team - Stores / sets team you are currently on.
  • ui_anchor - Sets position UI elements are made relative to (default is 0,0 - the center of the screen)
  • ui_label - Add static text UI element.
  • ui_toggle - Add checkbox UI element.
  • vector_x, vector_y, vector_z - Return an individual axis from a vector variable.
  • vr_move_with_inertia - Whether you have inertia in VR.
  • vr_move_friction - When you have inertia, how quickly you slow down.
  • vr_scale_rotate_rate - How much smoothing is applied during scaling/rotating.

Fixes
  • Fixed scroll wheel being inverted for Linux.
  • Fixed Components menu chess Wood White King being missing.
  • Fixed search and expand for Games menu.
  • Fixed misc issues with spectator camera.
Tabletop Simulator - MrStump


Tabletop Simulator is on sale now for 50% off!
You can buy the individual game, or the 4-pack at the discounted price.

https://store.steampowered.com/app/286160/Tabletop_Simulator/

Additionally, almost all DLC are on sale for up to 50% off.

Visit the DLC Steam Sale Page

Sale ends 7/09/19 at 1pm EST.
Tabletop Simulator - Knil
Hey everyone, this is one of our largest updates yet! We've updated the game engine massively to the latest version of Unity 2019.1 which will give us overall better performance and features. There has also been an optimization pass to reduce stutter causing situations, so everything can be as silky smooth as possible. That's just the tip of the iceberg: reduced game size 4gb, AssetBundle materials, spectator camera improvements, and ton more covered below!

Unity Engine Upgrade:
  • Upgrade Unity version from 5.6.6 to 2019.1.
  • Dx11 on Windows, OpenGLCore on Mac and Linux.
  • FPS should be overall faster. Can be twice as fast in really specific scenes.
  • Physics performance improved.
  • Video textures much faster with more formats support (.m4v and .mov)
  • Incremental garbage collector greatly reduces the game's stutters.

Changes:
  • Dx9 support has been dropped (only 0.01% of players have a gpu that is only Dx9). Dx10 is minimum requirement now.
  • Windows Xp support dropped and with Steam not supporting it anymore either this isn't a surprise.
  • All custom images are now resized to a power of 2 internal, so avoid using non power of 2 images if you can. This is due to Dx11 bug this might be changed back in the future if Unity fixes this.
  • RAW cache from Images and Models had to deleted to due incompatibilities with the engine upgrade.

Known Issues:
  • AssetBundles using crunched textures will not load correctly and need to be re-exported from Unity 2019.1 with the updated Modding Project.
  • AssetBundle mesh colliders might behave differently due to physx upgrade.

New System Requirements:
  • OS: Windows 7 SP1+, macOS 10.12+, Ubuntu 16.04+
  • Graphics card with DX10 (shader model 4.0) capabilities.
  • CPU: SSE2 instruction set support.

Performance Optimizations:
  • Saving mod asset to disk is now async and will not sutter the game.
  • Greatly reduced the time it takes to destroy objects reducing the lag when changing mods.
  • Made the Games & Saved Objects menu async to fix stutters when opening them.

DLC Improvments:
  • DLC are no longer included in the game install and will be downloaded when played the first time.
  • This has reduce the install size of the game by 4 gigs.
  • We can also now update and add new DLCs without having to update the game.
  • Can now have multiple DLCs loaded up at once.

AssetBundle Materials:
  • Added support for loading AssetBundle materials into any Custom Object Image slot.
  • Create holographic playing cards or add normal maps to your custom dice!
  • Works by assigning your material to an AssetBundle and then exporting like normal.

General Improvements:
  • Custom Card added so you can create cards one at a time.
  • Added /rules to global chat which opens a link to the rules on our knowledge base.
  • Update DLC Three Cheers for master with scripted components.
  • Disabled being able to load local files with the Tablet due to javascript exploits.
  • Opening urls now only open steam links in the overlay and all others open in your default browser.
  • Secured many networking related functions from hackers.
  • Added .json to Steam Cloud upload file types.
  • Steam Cloud now supports uploading files greater than 100mb.

Lua:
  • Added filterObjectEnter(object) event: Place it on an object, and it will prevent any objects from being able to enter it. For example, placing it on a deck will not allow cards to enter it. If you return true in the function, the item will be allowed in.

XML UI:
  • Updated plugin to the latest version.
  • Can now get the click button for events like onClick with the value param passed.
  • Xml UI image assets are now no longer compressed to make them look nicer.
  • Xml UI errors now print to chat, to make it easier to debug Xml UI.

Caching Improvement:
  • Added support for adding {verifycache} in front of your urls to have the game check the last-modified header of a url to update the local cache if it is stale. Only does this check once per game session.
  • This is an advanced feature for people that want to host content on there own servers and make sure people get updates without having to change the URLs.
  • https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified

VR
  • Added a warning message when you do not have any control bindings (typically because you are using unsupported hardware), instructing you on how to set the bindings up in SteamVR.
  • Fixed objects not clumping when you shake the controller.
  • Fixed stack/deck grab not working with laser pointer.

Spectator Mode
Spectator mode now works when you use a different resolution than your main display. It has had an overhaul, and now works using these commands:

  • displays - Lists all available displays. ID 0 will always be your main game screen.
  • spectator_window - Turn on to activate the spectator window.
  • spectator_activate_with_resolution - Use instead of above to specify display, resolution, etc.
  • vr_spectator_replaces_main_window - In VR, controls whether spectator mode makes its own window or just uses the desktop mirror.
  • spectator_camera_follow_player - When ON the camera will follow your point-of-view.
  • spectator_camera_attachment - Lets you specify a component or pointer to attach camera to.
  • spectator_camera_follow_attachment - When ON the camera will follow the above object.
  • spectator_camera_dolly - When camera is following an object, it will be offset this far in the direction it is facing.
  • spectator_camera_offset_position - When camera is following an object it will be offset by this X Y Z.
  • spectator_camera_offset_rotation - When camera is following an object its facing will be offset by thus X Y Z.
  • spectator_camera_load - Set the camera to a saved camera position.
  • spectator_camera_load_zero - As above, but the position is zero-indexed (useful when coupled with certain commands like Add).
  • spectator_camera_smooth_on_load - Whether smoothing is applied during above.
  • spectator_camera_target - Lets you specify a component or pointer for the camera to track.
  • spectator_camera_tracking - When ON the camera will track the above object.
  • spectator_camera_look_at - Make spectator camera look a component or pointer.
  • spectator_camera_override_player_with_look - When ON the look at and track commands will work when camera is following player.
  • spectator_show_ui - Whether the UI is displayed on the spectator window.
  • spectator_post_processing - Whether post-processing effects are applied to spectator window.
  • spectator_camera_smooth_position - Positional smoothing factor.
  • spectator_camera_smooth_rotation - Rotational smoothing factor.
  • spectator_camera_stay_upright - When ON the camera will not go upside-down.


Example autoexec.cfg:
+spectator_window -spectator_show_ui # Make easier to type versions of spectator_camera_ commands. # i.e. cam_load instead of spectator_camera_load alias cam_* spectator_camera_* +cam_stay_upright # make right control have camera follow player while held # @ makes it not output to console bind +right_control @+cam_follow_player bind -right_control @-cam_follow_player # make semicolon look at object under pointer # need to start line with > to stop <hovered> being evaluated, # and exec to make it evaluate when activated >bind semicolon exec cam_look_at <hovered> # make period toggle object tracking, and comma set tracked object bind period !cam_tracking >bind comma exec cam_target <hovered> # make right shift cycle through first 3 camera positions alias next_camera add cam_load_zero 1 3 bind right_shift next_camera # make some buttons to load specific camera positions ui_button 1 600 0 cam_load 1 ui_button 2 600 -30 cam_load 2 ui_button 3 600 -60 cam_load 3
System Console
  • '/' commands now worked when typed into console tab
  • Fixed color command ignoring permissions

New commands:
  • chat_font_size - The size of the font in the chat windows.
  • say_global, say_game, say_team - Transmits text to specified chat channel.
  • subtract - Like add, but allows you to subtract current value from another (good for ping-ponging between two numbers).
  • vr_steamvr_bindings - Lists all current steamVR bindings.
  • ui_button - Lets you make a button on your screen which will perform a command.
  • highlight - Highlights specified component.
  • mod_caching, mod_caching_raw, mod_threading, and mod_thread_count.

    Last three variables are typically used as parameters in other commands, buy enclosing them with << and >>.

  • find - Call with parameters to find a component. Will then be set to that component.
  • grabbed - Equals the component you are currently holding.
  • hovered - Equals the component you are hovering over.

For example:
find -name "Blue Player Token" highlight <<find>>
If you want to set up a binding/alias/button in a script then you need to start the line with a >, surround the variable with < and > instead, and use exec.
>bind right_control exec spectator_camera_attachment <hovered>
Fixes:
  • Fixed blury comfirmation UI for tablet.
  • Fixed saving .rawm to disk when regular caching.
  • Fixed random sort for Games and Saved Objects is now actually working correctly.
  • Fixed custom objects not probably being positioned on the UI correctly.
  • Fixed the black background fade stuttering on when open exist to main menu window.
  • Fixed some format stuff for file browser or tooltips. Added back .jpeg.
  • Fixed line tool, including flick and joint.
Tabletop Simulator - Knil
Hey there everyone! This is one of biggest updates yet, we have a lot of great stuff coming for you guys in this update, but we want to make sure it's stable before pushing it live. So, we are doing a public beta first and we want to hear from you about any issues!

To opt into the beta:
* Right click on Tabletop Simulator in your Steam library.
* Choose Properties -> Beta.
* Then in the drop down for "Select the beta you would like to opt into:" choose "public_beta".

Unity Engine Upgrade:
* Upgrade Unity version from 5.6.6 to 2019.1.
* Dx11 on Windows, OpenGLCore on Mac and Linux.
* FPS should be overall faster. Can be twice as fast in really specific scenes.
* Physics performance improved.
* Video textures much faster with more formats support (.m4v and .mov)
* Incremental garbage collector greatly reduces the game's stutters.

Changes:
* Dx9 support has been dropped only 0.01% of players have a gpu that is only Dx9. Dx10 is minimum requirement now.
* Windows Xp support dropped and with Steam not supporting it anymore either this isn't a surprise.
* All custom images are now resized to a power of 2 internal, so avoid using non power of 2 images if you can. This is due to Dx11 bug this might be changed back in the future if Unity fixes this.
* RAW cache from Images and Models had to deleted to due incompatibilities with the engine upgrade.

Known Issues:
* Due the massive engine upgrade AssetBundle are the most effected due to Unity changes you might have to re-export your AssetBundle from 2019.1 with the updated Modding Project.
* Old AssetBundles using crunched textures will not load correctly and need to be re-exported.
* AssetBundle mesh colliders might behave differently due to physx upgrade.

Performance Optimizations:
* Saving mod asset to disk is now async and will not sutter the game.
* Greatly reduced the time it takes to destroy objects reducing the lag when changing mods.
* Made the Games & Saved Objects menu async to fix stutters when opening them.

DLC Improvments:
* DLC are no longer included in the game install and will be downloaded when played the first time.
* This has reduce the install size of the game by 4 gigs.
* We can also now update and add new DLCs without having to update the game.

AssetBundle Materials:
* Added support for loading AssetBundle materials into any Custom Object Image slot.
* Create holographic playing cards or add normal maps to your custom dice!
* Works by assigning your material to an AssetBundle and then exporting like normal.

General Improvements:
* Custom Card added so you can create cards one at a time.
* Added /rules to global chat which opens a link to the rules on our knowledge base.
* Update DLC Three Cheers for master with scripted components.
* Disabled being able to load local files with the Tablet due to javascript exploits.
* Opening urls now only open steam links in the overlay and all others open in your default browser.
* Secured many networking related functions from hackers.
* Added .json to Steam Cloud upload file types.
* Steam Cloud now supports uploading files greater than 100mb.

System Console:
* Added `mod_caching`, `mod_caching_raw`, `mod_threading`, and `mod_thread_count`.
* Added `say_global`, `say_game`, `say_team` commands.
* `/` commands now work when typed into system console.
* Added subtract command.
* Renamed vr_bindings command to vr_steamvr_bindings
* Added say_global, say_game, say_team commands.

Spectator Mode:
* Spectator mode should be working correctly with differing monitor resolutions.
* Added `displays` command, reworked `spectator_activate_with_resolution` command (can now specify display)
* `spectator_camera_attachment` - sets component or pointer for camera to attach to.
* `spectator_camera_follow_attachment` - when this is on the camera will move as if attached to above entity.
* `spectator_camera_follow_player` - renamed, was `spectator_camera_follow`.
* `spectator_camera_dolly` - distance camera is offset along the direction it is looking.
* `spectator_camera_offset_position` - vector3 positional offset from attachment.
* `spectator_camera_offset_rotation` - vector3 rotational offset from attachment.
* `spectator_camera_look_at` - make camera look at specified component or pointer.
* `spectator_camera_target` - sets component or pointer for camera to track.
* `spectator_camera_tracking` - when ON the camera will constantly track the above entity.
* `spectator_camera_override_player_with_look` - when ON look and track commands will override follow_player.
* `spectator_camera_stay_upright` - when ON the camera will avoid being upside-down.

Lua:
* Added onObjectTryEnter(object) callback: if present on an object then it will be called when another object would be inserted into it (like a card into a deck or a token into a bag). If it returns false then the item will not be able to enter.

XML UI:
* Updated plugin to the latest version.
* Can now get the click button for events like onClick with the value param passed.
* Xml UI image assets are now no longer compressed to make them look nicer.
* Xml UI errors now print to chat, to make it easier to debug Xml UI.
* Fixed line tool, including flick and joint.

Caching Improvement:
* Added support for adding {verifycache} in front of your urls to have the game check the last-modified header of a url to update the local cache if it is stale. Only does this check once per game session.
* This is an advanced feature for people that want to host content on there own servers and make sure people get updates without having to change the URLs.
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified

Fixes:
* Fixed blury comfirmation UI for tablet.
* Fixed saving .rawm to disk when regular caching.
* Fixed random sort for Games and Saved Objects is now actually working correctly.
* Fixed custom objects not probably being positioned on the UI correctly.
* Fixed the black background fade stuttering on when open exist to main menu window.
* Fixed some format stuff for file browser or tooltips. Added back .jpeg.
* Fixed line tool, including flick and joint.
Tabletop Simulator - MrStump
Oh my! More optimizations are always nice, as the community continues to produce fantastic and more technically complex creations. But if you’re hungry for a new feature, we hope you’ll enjoy the new Video Images, which allow you to use videos as textures for assets. Plus, a long requested feature: Spectator Mode! Whatever your taste, we think this patch has a little something for everybody.

As usual, included in the patch is our latest DLC: Deck Quest!



DLC - Deck Quest
https://store.steampowered.com/app/610699/
  • Deck Quest is now available for $7.99 with a 20% launch discount.
  • Scripted setup to help get into the game quickly.
  • Select your seats and click the Shuffle button in the middle of the table.

Loading Improvements:
  • Overall loading should be much faster and smoother than in the past!
  • New image caching folder “Images RAW” that stores .rawt files to speed up loading by up to 20 times.
  • General optimization to use less memory when loading your games up.
  • Greatly reduced custom image ram usage by ~50%.
  • AssetBundles now load in async and with less stutters.
  • Loading generates much less garbage for the garbage collector to clean up to reduce stutters.
  • Fixed normal maps for Custom Models not working correctly and being slow.
  • Better error handling when trying to load assets with an unsupported file type.
  • Added CMYK JPG detection to avoid game crash.

Video Images:
https://giant.gfycat.com/RightJointAchillestang.webm
  • Enjoy animated textures for you assets or play jigsaw with animated video!
  • Import videos (.mp4 and .webm) into the image slot on any custom asset.
  • Note: Linux does not support .mp4.

Graphics:
  • New sharpen post processing to enhance the overall clarity of the game.
  • Configuration graphic changes are instant now without having to hit apply.

Improvements:
  • Reduced CPU usage when lots of objects are loaded up.
  • Added game load time to system console.
  • Optimized DLC Cosmic by removing all the extra scripting zones from each expansion.
  • Added console commands rewind_interval and unload_interval.

Scripting:
There's now a way to interact with Unity's built in components using this new API. You can control all aspects of your assetbundles for example changing the light settings, all from Lua. You can read more about it on the API page.

self.getComponentInChildren("Light").set("intensity", 20)

Object and GameObject:
  • getComponent(name) return Component
  • getComponents(optional name) return Component[]
  • getComponentInChildren(name) return Component
  • getComponentsInChildren(optional name) return Component[]
  • getChild(name) return GameObject
  • getChildren() return GameObject[]
  • name return string

Component:
  • game_object return GameObject
  • get(varName) return value
  • getVars() return Dictionary<string Name, string Type>
  • set(varName, value) return bool
  • name return string

Scripting Fixes:
  • Fixed Component UI menu triggering onObjectDestroy lua events.
  • Fixed XML UI syncing issue for connecting players.

Spectator Mode

Spectator mode provides a second fullscreen viewport to be used for streaming / recording. The UI can be shown or hidden on it, and its camera can follow your own or be set to any stored position.
Spectator mode requires a second monitor to display on. If you only have one physical monitor then you can use something like spacedesk.net to get around this limitation.
Spectator mod is controlled via the following console commands:

  • spectator_window - turn on to activate the spectator window
  • spectator_show_ui - whether the UI is displayed on the spectator window
  • spectator_camera_follow - when enabled spectator camera will follow your view
  • spectator_camera_load - set spectator camera to a stored position
  • spectator_camera_load_zero - same as above, but zero-indexed (so 0 = slot 1, 1 = slot 2, etc.)
  • spectator_camera_smooth_position - factor used to smooth spectator camera movement
  • spectator_camera_smooth_rotation - factor used to smooth spectator camera rotation
  • spectator_camera_smooth_on_load - when enabled smoothing will be applied when loading camera positions as well as when following player
  • spectator_post_processing - whether post-processing effects are applied to the spectator window
  • vr_spectator_replaces_main_window - in VR, controls whether spectator mode makes its own window or just uses the desktop mirror.


Example autoexec.cfg:
+spectator_window -spectator_show_ui +spectator_camera_follow spectator_camera_smooth_position 0.1 spectator_camera_smooth_rotation 0.1 # set right control key to toggle player follow bind right_control !spectator_camera_follow # set space to make spectator camera follow player while it is held down # @ = silence command in console bind +space @+spectator_camera_follow bind -space @-spectator_camera_follow # set keys to jump to specific camera positions bind comma spectator_camera_position 1 bind period spectator_camera_position 2 bind semicolon spectator_camera_position 3 # set right shift key to cycle through the first 3 camera positions alias next_camera add spectator_camera_position_from_zero 1 3 bind right_shift next_camera

Fixes:
  • Fixed memory leaks with custom assets when changing urls on an already loaded custom object.
  • Fixed ui search overlapping issues.
  • Fixed with hackers being able to delete objects without being admin.
  • Fixed hand zones not working on colliders that where child objects.
  • Fixed flick tooltip showing garbage.


v11.2.1

Custom Model Loading:
Speed up loading of cached models by up to 20 times with new .rawm format and "Models Raw" folder.
This uses the same principle as the what we've done to the images to speed up loading of your .obj files.

Spectator Mode:
Added `spectator_activate_with_resolution` command.
Fixed spectator window freezing after returning to main menu.
Fixed post processing on spectator window.

Fixes:
Fixed scroll bar in Configuration > UI > MISC.
Fixed normals maps not working with non square images.
Fixed issues with XML UI rich text.
Tabletop Simulator - MrStump
Update v11.1 New DLC - Tortuga 1667, and SO... MANY... IMPROVEMENTS!

This patch is filled to bursting with general improvements that you, the community, have been asking for. Better Fog of War, useful scripting additions, better VR, game chat announcements of clearing and measurements, Jigsaw puzzle improvements and MORE! If you don't see the improvements you were hoping for in this update, we're still hard at work on even more improvements for the future!

And what's this?! It is a great official DLC release: Tortuga 1667



DLC - Tortuga 1667
https://store.steampowered.com/app/610697/Tabletop_Simulator__Tortuga_1667/
  • Tortuga 1667 is now available for $6.99 with a 20% launch discount.
  • Scripted setup to help get into the game quickly.
  • Select your seats and press one of the on-table buttons to begin.
  • Read the Notebook for additional info.

Jigsaw Puzzle Improvements
  • The game can now detect if the jigsaw puzzle is complete.
  • The "Shuffle" and "Check" commands can be found if you right-click on the puzzle box.
  • The UI that opens when a new puzzle is created now remembers the settings you used on your last puzzle.
  • Pieces will rotate to nearest 90-degree rotation when snapping in place.

Improved Fog of War
  • Higher maximum reveal range!
  • Field of View (and field of view offset) added!
  • You can cause items in the Fog to become hidden again if a "reveal" moves off of them. This works like Fog of War in many RTS games. You can enable this feature by right-clicking the Fog of War Zone with the Fog of War Zone Tool and enabling it.
  • Some performance improvements have been made as well.
  • Revealer Objects can now also be hidden from each other.

Miscellaneous Settings Menu
Some new features, as they are worked on, do not have their own UI menu yet. We've got them collected in the "MISC" setting menu!
  • To locate the menu, go to: "Configuration > Interface > Misc..."
  • Tweak the camera rotation speed.
  • Hide VR players.
  • Center on mouse when zooming.
  • Switch from "inches" to "metric".
  • You will see some other patch notes that mention the "MISC" menu. They can be modified here as well.

General Improvements
  • If you press a number key when over a single card, it will draw that single card (like it would if the card was part of a deck).
  • You can shuffle cards in your hand by highlighting the ones you want to shuffle and clicking R.
  • Dice rolling in high-gravity rooms has been improved.
  • New "Sort" categories have been added to various menus. "Classic" now has "Last Played", "DLC" now has "Purchased", and "Workshop" now has "Downloaded".
  • When you open the search menu, the keyboard cursor will jump up to the Search box. This is so you can just start typing to begin a search, rather than needing to click in the "Search" text box.
  • Both "Previous State" and "Next State" options have been added. They have keyboard shortcuts, PgUp and PgDn by default. You can change which keys scroll through the states of an object in the Configuration menu. You can change if they wrap (the last one leads back to the first) in the Misc menu.
  • The line tool is now able to log its measurements, printing them to the Game tab. This is off by default, but can be enabled in the Misc menu.
  • Server Browser sorting now works during the refresh.
  • You can now use Ctrl-F6 to toggle all UI panels on/off.
  • The tablet should now work on Linux. This is experimental.
  • The on-screen hand interaction area is now much smaller if nothing is currently in the hand to avoid accidental interactions.
  • Added chat message notifying if someone deletes all vector lines, 3d texts, or decals.
  • You can now Shift+F keys to cycle through your tools in reverse order.
  • The version number on the bottom right of the main menu is now click-able to bring up patch notes.
  • Fixed objects getting stuck above tiny play areas.


Scripting
  • Added group(table). This allows you to group a table of objects, in the same way the "G" key would for a player! It returns a list of the grouped objects.
  • Added addDecal(table), getDecals(), and setDecals(table). Now scripting can add decals into the game world.
  • Added object.getJoints().
  • When a table of parameters for a joint is returned, it now includes joint_object_guid. This is the GUID for the object which is attached by the joint.
  • Added desired_position to the list of parameters returned by .getCustomObject() when it is used on a Jigsaw Puzzle piece. This parameter is the "solved" position for the piece.
  • New Time class added, used to easily fetch information like os.time(), but also other informations like time passed since last frame, total frames passed, etc.
  • pingTable(vector) added to the Player class. Now a script can emulate a player pinging.
  • Added setComponentVar(componentName, varName, value) and getComponentVar(componentName, varName) as an object function. This allows you to access components that you have made part of your AssetBundle via scripting. For example, changing lights or colliders on the fly. These functions will also work on the components of default objects like "Collider" and "Light".
You can find details and examples for these, and all of Tabletop Simulator's functions, in the Tabletop Simulator API.

Bugs Fixed
  • Scripting can now properly read whose turn it is (according to the Turns system).
  • Fixed custom objects in scripting zones failing to trigger events.
  • Fixed items that are hidden being revealed for a frame when switching states.
  • Prevented "scaling permission" pop-up when using Vector paint.
  • Removed Grey player's ability to delete notebook pages.
  • Improved snapping for very small and very large objects.
  • Thief animation fixed. (poor little guy gets sick during Unity changes for some reason)
  • Fixed shuffling deck from right-click menu not triggering OnObjectRandomize.
  • Fixed collisions trigger when loading custom objects.


VR
Keep tabs on VR improvements on the discussion page.

VR Improvements
  • Updated to SteamVR action+binding system.
  • VR controllers can now act as a joypad for control binding; turn on Joypad Emulation in the VR settings, and make sure the Controller option at the bottom of the Controls window is ticked.
  • Using above, most normal control bindings should work where approriate in VR (e.g. Copy, Paste, Flip, etc.)
  • Can now attach the VR UI screen to a controller: rotate your wrist as if you were looking at your watch.
  • Added Drawings, Text, Gizmo, Snap, and Decal tools.
  • Fixed Zone tools, Line tool (displays measurement, arrow ping).
  • Fixed objects (such as chess pieces) warping into upright rotation on grab (now smooth-moves).
  • Trigger Click Effect now known as Orient Object.
  • Orient Object action should now work on all card-like objects (dominos, mahjong tiles, etc). Also works on jigsaw pieces: will rotate them to next 90-degree angle.
  • Fixed snap points.
  • Made resize room visual effect less opaque.
  • Fixed non-hands objects being picked up by VR virtual hand.
  • Fixed tooltips & icons on Oculus Rift.
  • Pad bindings now use compass notation (i.e. vr_left_pad_north = left controller, up on pad)

VR Settings
  • Physical UI Screen, Attached UI Screen, UI Scale - Control how the VR UI Screen is displayed.
  • Display VR Players - Can select whether other VR players are visible (off, hands-only, hands+headset)
  • Wall mode - will rotate room so the table is vertical.
  • Align Zoomed Object - Zoom object now matches rotation of the object it is displaying.
  • Grabbing Hides Gem - Hides controller gem when holding on object.
  • Hover Tooltips - Display UI hover tooltips above controller.
  • Interface Click Threshold - When the interface click action is bound to an analog input it will use this value.
  • Laser Activation Threshold - When laser activation is bound to an analog input it will use this value.
  • Laser Beam Thickness, Laser Dot Size - Control how big the laser pointer is.
  • Left Tool Hotkeys & Right Tool Hotkeys - Bind the default tool select hotkeys to the pad.
  • Tooltips Action Enabled - Can be turned off here to disable tooltips (instead of having to unbind the action).
  • Floor of mist - change the floor.

Console Commands
All New Console Commands
  • camera_clear_saved_positions
  • camera_load_rotation_rate
  • camera_restore_saved_positions
  • camera_store_saved_positions
  • component_default_autoraise
  • component_default_grid
  • component_default_hands
  • component_default_ignore_fow
  • component_default_reveal_fow
  • component_default_snap
  • component_default_sticky
  • component_default_tooltip
  • component_override_defaults
  • component_state_wrapping
  • drawing_erase_all
  • drawing_render_fully_visible
  • dice_roll_height_multiplier
  • jigsaw_randomize
  • jigsaw_validate
  • measure_in_metric
  • measure_logging
  • mouse_wheel_zoom_and_center
  • sendkey
  • ui_config_misc
  • ui_panel_chat
  • ui_panel_main
  • ui_panel_notepad
  • ui_panel_player
  • ui_panel_tools
  • vr_display_network_players_off
  • vr_display_network_players_hands
  • vr_display_network_players_all
  • vr_grabbing_hides_gem
  • vr_hover_tooltips
  • vr_interface_click_threshold
  • vr_left_controller_bind_tool_hotkeys
  • vr_mode_display_network_players
  • vr_mode_ui_attachment
  • vr_joypad_emulation
  • vr_laser_activation_threshold
  • vr_laser_beam_thickness
  • vr_laser_dot_size
  • vr_right_controller_bind_tool_hotkeys
  • vr_tooltips_action_enabled
  • vr_ui_attach_left
  • vr_ui_attach_right
  • vr_ui_detached
  • vr_ui_floating
  • vr_ui_scale
  • vr_ui_suppressed
  • vr_wall_mode
  • vr_zoom_object_aligned

Renamed Console Commands
  • vr_trigger_click_effect_delay -> vr_orient_object_delay
  • vr_thumbstick_repeat_duration -> vr_interface_repeat_duration

Removed Console Commands
  • vr_cards_held_like_in_hand
  • vr_tooltips_when_gripping
  • vr_trigger_activates_laser
  • vr_trigger_activates_ui
  • vr_trigger_click_effect
...

Search news
Archive
2024
Apr   Mar   Feb   Jan  
Archives By Year
2024   2023   2022   2021   2020  
2019   2018   2017   2016   2015  
2014   2013   2012   2011   2010  
2009   2008   2007   2006   2005  
2004   2003   2002