Happy new year everyone! We’ve recently released a couple of new updates for Tabletop Playground for users in our early access Creator’s Program (learn more on our FAQ!), which are focused on the community: all changes are addressing suggestions and bug reports from our Discord. And it’s quite a long list, but before you read on if you love tabletop gaming, don't forget to follow and wishlist us!
Search/filter box for objects and packages
Wherever you can select a package or an object in the UI, there’s now a search box. Type in any part of the name to filter the object or package list.
Add “Coordinates” window in object context menu that allows editing position and rotation as well as absolute and relative scale. Remove scale from object properties window.
Snap points for scripting
Snap points are now available for scripting! There’s a new class SnapPoint, methods to retrieve snap points in GameObject, and a new event that is called when an object gets snapped when a player releases it.
Scripting math classes update
The scripting math classes Vector, Rotator and Color now behave array-like: their members can be accessed as index, they are iterateble, have a length, and arrays can be passed to functions that expect these classes. The constructors now take values to initialise the object. The existing properties remain mostly the same, with the following exceptions:
• The length methods from vector have been renamed to magnitude to avoid a name clash with the standard length property.
• The static make methods have been removed, the standard constructor now fulfils their purpose. Here’s some examples how the classes can now be used:
v = new Vector (1, 2, 3)
r = new Rotator (...v)
c = new Color (v, v, v.z, r.pitch)
Find the full change-log below and keep an eye out as we’ve got some big updates on the horizon for Tabletop Playground, with some exciting features set to be added in the near future. You can join our Discord and take part in our Creator’s Program to start testing them out as they are released and start creating games to be shared on mod.io right now.
- Add size parameters for card hand in interface settings.
- Add “Random State” context action for multi-state objects.
- Allow unlocking ground object that the cursor is currently over on pressing lock key (L) when no other object is selected or highlighted.
- Physics and animation tweaks: lower maximum linear and angular velocities, lower maximum throw velocity, lower animation speed when flipping held objects, lower animation speed when flipping cards in holder, adjusted animation speed when flipping objects that are not held.
- In measure move mode, measure to the snap preview.
- Editor: Reload resource files when they are selected again. When you modify a texture or model outside of the game, just select it again in the editor and the change will be shown.
- Editor: A new dialog is shown when creating a game board. You can select a board texture in the dialog, the new game board will automatically scale to fit the aspect ratio of the texture.
- Editor: Enable editing path in file browser.
- Editor: Invert horizontal movement direction when pressing left-click to match movement in game.
- Editor: Add hotkeys for saving (Ctrl+S) and recenter (Space).
- Editor: Reset camera rotation and zoom when pressing Recenter button.
- VR: Allow rotating view by dragging in addition to scaling player (can be deactivated in interface settings).
- VR: Snap turn player by 45° on pressing modifier + main hand stick/touchpad left/right.
- VR: Allow turning off player collision with table in the player options.
- Scripting: Renamed GameObject.lock to GameObject.toggleLock. Now unlocks object when currently locked.
- Scripting: Change name of Player.isActionKeyDown to isScriptKeyDown and doc string (#32).
- Scripting: Add GameObject.onReset event, add thrown parameter to (#30).
- Scripting: Add “Reset Scripting” menu entry that completely resets the scripting environment before reloading scripts (only available when editing state from editor).
- Scripting: Add Card.getCard Details method that allows you to get the texture index (and object template Id) for each card in a stack.
- Scripting: Remove $cwd and process.cwd .
- Fix: Name property could not be set to empty (#34).
- Fix: A context menu could be opened while dropping a newly created object (#31).
- Fix: disconnected players were not disappearing from on-screen player list (#26).
- Fix: Required packages from state were not automatically active in preview mode.
- Fix: Translucent objects in containers still cast a shadow.
- Fix rare crash when dropping cards on stacks.
- Fix rare crash when deleting dice while they are rolling.
- Allow card objects to be scaled and locked (changing collision type).
- Show other uses of card objects when creating a new object template in the editor.
- Don’t draw or deal cards upside down.
- Switch hand to holder of new color when switching player color.
- VR: Keep zoomed object constant when moving cursor with motion controllers.
- Fixed: Stored Objects were not shown in object explorer.
- Fixed: Penetrable objects could not be picked up.
- Fix tool-tip for card deal action.