Sizebox Alpha Version 3.01 Changelog
Overview
The Spring Summer Fall Winter Spring Summer Fall Winter Spring Summer Cleaning Update!
We’re sweeping the cobwebs out of our code to make Sizebox run more smoothly & prepare for even bigger changes in the future (hopefully including VR and Multiplayer). We originally intended to release this in the spring of 2020, but there were so many changes it took a little longer than planned. Let’s just blame it on COVID.
The change you should notice right away is Asynchronous Loading, which now loads entities (models, objects, etc.) on demand and should dramatically speed up Sizebox’s initial startup time, especially if you have a lot of custom content. (It might still take a few minutes if you have gigabytes of models, though.)
We’ve gotten rid of the divide between .micro and .gts models. They can now be used interchangeably. Instead of choosing a player during scene select, you simply start in Edit Mode, spawn whatever model you want to play as, and can switch at any time.
You’ll also notice a new model included with the game! We commissioned her from our former team member VESS. We’re calling her “Suze”, and although there are still a few kinks to iron out, she’ll eventually replace Unitychan (a free asset store model who was meant to be a placeholder) as our default character model.
We’ve also added some nice new features and enhancements, including a fur shader, in-game control rebinding, shiny new post-processing effects, an ingame folder selector, search bars, an overhauled Behavior Manager, more “weighty” city destruction, and more!
Because this version required upgrading to a new version of Unity, certain legacy features unfortunately had to be removed or altered. See “Unity Upgrade Changes” below for more info.
Additional changes, instructions, download links and more in the changelog below.
For your reference, the changelog for the previous version may be found here:
https://docs.google.com/document/u/1/d/e/2PACX-1vTL1PItVnI6QIYWeX2-pd5o1NrNwKC7HUHwNdiqDR_mEwFLECXOHKCTDVmIHzLkkPDs2XHNWhelWv01/pub
Download & Install Instructions
- Download the latest Sizebox 3.0 zip file for your operating system from this location: http://www.sizebox.org
- Extract the Sizebox .zip file you downloaded into a new folder (if this is your first install) or into your existing Sizebox folder.
- Run Sizebox.
For a visual guide to the install process, see our community mod Debolte’s video tutorial: https://youtu.be/wGOpB1GF7Jg
If you need help installing custom content, Debolte also prepared a very nice video tutorial explaining how to do so:
https://youtu.be/xUwdgEA-Btc
TIP: Most operating systems should be able to open and extract the Sizebox .zip file natively without needing any 3rd-party applications. However, a lot of custom Sizebox content shared by the community is distributed in .7z and .RAR formats. We recommend using the latest stable release of the free, open source archiving application 7-Zip to extract these types of archives.
Features & Enhancements
- Enabled asynchronous loading of entities (models, objects, etc.)
- Sizebox now loads entities (models, object, etc.) on demand, which should dramatically speed up initial startup time.
- Added new Post Processing effects to the Video Settings menu
- Some post-processing effects include brightness, contrast, saturation, FXAA, and vignetting
- The first checkbox ‘Enable Post Processing’ acts as a master switch to toggle the rest of the effects as configured (disable if your graphic card can’t handle these effects or you prefer to use something like ReShade instead).
- NOTE: Some effects require Shader Model 4.0 (or higher) capable hardware; if your hardware isn’t capable of rendering an effect, the setting preferences will be saved but the effect will not be applied.
- The ‘Engine 2.0’ checkbox in the scene selection menu has been replaced by a dropdown menu in Video Settings called ‘Render Mode’ which allows you to change the way the scene is rendered instantly ingame without having to reload the scene. There are four options:
- Forward is the default setting and is the recommended option for most users.
- Deferred is what Engine 2.0 was.
- Vertex Lit and Deferred Lighting are legacy rendering modes in Unity that don’t fully support Unity’s Standard Shader but can be useful for performance or diagnostics purposes.
- You can now select texture resolution, anisotropic filtering, shadow quality and light sources per-pixel independently of each other.
- Graphic Quality presets have been simplified to Performance, Balanced, Quality
- Fog is back and better than ever! Choose between “Exponential” and “Exponential Squared” in the “Deferred” render mode. This replaces the buggy “Sky Haze” linear fog option from previous versions.
- Depth of Field effect will now gradually adjust based on the object in the middle of the screen (when DoF is enabled)
- Removed Microsoft Visual C++ 2010 dependency from the Windows version (other platforms never required this dependency)
- Made small CPU improvements to all platforms from the removal of redundant MMD4Mechanim scripts
- Sizebox’s physics have been recalibrated to perform significantly faster and slightly more accurately. Technical notes on this change below for nerds only:
- Technical notes: Reduced physics refresh rate from 72 tick/s to 50 tick/s
- 30~% speed up on paper, but due to how time slicing the physics updates across frames works, this might have an even better impact than that.
- Low FPS previously led to each frame needing to run multiple physics updates, which could lead to scenarios where your low fps caused you to continue having low fps because each frame now has the burden of 3-4 physics ticks
- Cities now load up to 10x faster and use significantly less ram
- High end city destruction has been optimized and should run better, allowing for more active debris at a time without serious frame drops. However, this still remains a very demanding option.
- City destruction should feel much more weighty/satisfying. Macros encounter more resistance when moving through buildings closer to them in size, and debris is now assigned a more realistic-feeling weight
- It is now possible to generate pure suburbs or skyscrapers using the population modifier
- All micros now have a high performance LOD model assigned to them. Micros will turn into black silhouettes when below 1% of screen height, significantly increasing game performance when large numbers of micros are present, but far from the camera.
- Added 'Macro Off-screen Update' to Video Settings to help with models that cull incorrectly (defaults to 'In Pose Mode')
- The frame limiter now defaults to 30fps on Mac
- Slow motion is now known as bullet time
- Added a toggle variant of bullet time (a.k.a slow motion)
- Bullet time and macro freeze no longer cancel each other out
- Updated the “Home” scene to improve performance (removed excessive lighting effects and grass objects)
- The built-in grass object is now regarded as a micro instead of an object as far as collisions are concerned. This allows collision interactions with other micros and raycasts from the mouse (for selecting the object after placement/deselection) but also allows macros go through grass with no collision.
- Refactored the Player Controller
- This is pretty technical stuff, but it paves the way for VR and Multiplayer, and fixes a bunch of other annoying issues/limitations with the old system
- The player no longer spawns into the game as a micro. Instead, the game starts in Edit Mode and the player may take control of any macro/micro they spawn.
- This means the “player select” screen on the main menu is gone. Instead, the game now starts on the micro model menu screen with “Play As” checked. (“Play As” will automatically uncheck itself after you spawn a model to play as to avoid confusion.)
- When performing a stomp, the macro’s foot will now intentionally sink slightly into the ground to help with crushing at massive scales. Additionally, the player stomp now searches for a target within its aimer. If found, the stomp will track the target if they are moving.
- We reduced the amount that feet clip through the ground during stomping based on feedback during 3.0 development because some models were sinking up to their ankles. If you’re still having problems, try adjusting the model’s vertical offset.
- The player micro controller has been completely reworked. Movement is now physics based and many additional animations and states have been added. Overall the player micro should feel smoother to control and the animations more responsive.
- When climbing a macro as a micro, the camera will now account for the macro’s rotation
- A new character model, Suze, is now included with the game!
- We commissioned her from our former team member, VESS.
- Although there are still a few kinks to iron out, she’ll eventually replace Unitychan (a free asset store model who was meant to be a placeholder) as our default character model.
- What was previously referred to as a “giant” or “giantess” is now called a “macro”.
- .micro and .gts models are now interchangeable! You can spawn any “.micro” or “.gts” model as either a macro or a micro.
- Posing now works on micros (without needing to use the customize option)
- Morphs can now be used on all entities (objects, macros and micros) and should behave the same way
- Micros now use continuous collision detection, preventing them from missing collision with thing/fast objects & clipping through
- Micros can now ragdoll! A kick from a Macro’s foot will send them flying.
- Micros (including the player) can now be crushed by impact anywhere on a macro’s body (not just feet)
- Added a spawn size setting for micros, so you can spawn them in at 1% to 100% of your current size
- The speed that a macro walks is now determined by the length of their legs
- The height of all models is now standardized. The minimum/maximum height of a model will no longer be affected by the scale at which they were exported. (Excludes objects)
- You can now click on the number below the Size scale slider in the Transform window and type the desired size into the text field
- The text field will search for a set of numbers and a measurement acronym (e.g., km, m, ft, “, μm, etc). When no acronym can be found meters or feet will be assumed depending on your measurement settings.
- Imperial measurements will be formatted as Ft'In" (6'2") when it makes sense
- Added a grounder slider to the transform view which controls how much of an effect the IK grounder has on the selected entity (left for none, right for full). You can use this in conjunction with vertical offset to work around poorly imported models.
- Optimized breast and hair physics to make it a lot less thirsty for frames
- “Look At Player” now has modifiable values for the movement of eyes, head, and body
- Will not parent a micro entity to a macro if the macro is not big enough to reasonably hold them
- Macros that support blinking their eyes will do so at a more unpredictable interval
- Macro breathing sound volume is now controlled by the voice slider.
- Player footstep sound volume is now controlled by the micro slider.
- Added a more humanoid model for the missing/loading character model placeholder
- Sizebox will now detect bones with "jiggle" in their name and apply jiggle physics to them. This can be disabled from the game settings
- Refactored the BE (body expansion) script behaviors
- The “BE” script now recognizes more common bone names for breasts and should support more models
- You can now customize bone names to be affected by the “BE” script in the Behavior Manager, if your model’s bones aren’t recognized by default or if you want to use it to expand other body parts
- Body Expand and Shrink speed can now be adjusted with sliders in the Behavior Manager
- Added a new experimental feature, “Dynamic Collisions”, to the game settings
- This automatically updates physics colliders for macros, keeping physics more accurate through animations
- It also recalculates where micros should be positioned when they are crushed (e.g., if a micro is on a joint area, they’ll properly move around as the joint flexes)
- This is currently extremely CPU-heavy and in need of optimization, so it’s off by default
- It scales with the poly count of the macro model, so very HD models are basically unplayable with it enabled
- Added some functionality that will be supported in future SDK updates:
- Added a component to allow custom scenes to set their scale preferences when included in SDK
- Added support for importing destructible objects
- Added the ability for morphs to represent blendshapes from multiple meshes as one per entity.
- This makes it much more feasible to port modern/optimised models into Sizebox.
- When only a single mesh in an entity has a blendshape with a unique name it will be added as its own morph; when multiple meshes in an entity have a blendshape with the same name it will be treated as one morph. This change will work retroactively on any existing models.
- This change required removal of support for “material morphs” that are sometimes used to hide clothing and other meshes on certain model types (mainly MMD). As an alternative, you can now quickly hide/show any material by right-clicking on it in the Model Editor’s Materials view. This can be used with the multi-select (shift+click) function to toggle multiple materials at once.
- The save system has been reworked to be more reliable and save more of a scene.
- All entity types are saved (objects, micros, macros)
- Animations, poses, and Model Editor customizations (excluding the Weld tool) will save for micros/macros
- Parenting setups (i.e. a micro standing on a macros hand) will now properly save/load
- Cities will now save/load properly. When loading, cities completely finish generating before the game starts
- Other built-in objects (like grass) should now also save properly
- Save file names can now be 1 character long, if you’re feeling extra lazy
- You will now be prompted to confirm before overwriting an existing save file with the same name
- Some testers have reported saves occasionally fail to load properly (models load in the right place but lack the morphs, animations, or material edits they were saved with). If this happens, simply return to the main menu and reload the save file.
- By using ctrl-c and ctrl-v while in edit mode, the player can now copy and paste entities. The data that is supported by the copy/paste system is identical to what the save system supports.
- Posed macros can (once again?) destroy city buildings
- City buildings will now make impact sound effects when they shatter
- The new dynamic destruction system chooses an explosion and impact sound effect at random and plays them at the same time to create some variety in the destruction sound.
- Made more normal maps available in the Material Editor
- (546) Added a fur shader to the material editor
- Now you can make your models as fluffy as you want!
- SP has been begging for this feature for years, maybe he’ll finally shut up about it!
- Also added “select all” and “hide” buttons to the material editor
- You can also quickly hide/show any material by right-clicking on it in the Model Editor’s Materials view. This can be used with the multi-select (shift+click) function to toggle multiple materials at once.
- A new feature in the model editor. Allows for full customization of jiggle physics on a model.
- Launch menu enhancements:
- We have a new logo/icon! (thanks @SCJREAL for designing it!)
- Replaced the ancient rusted-orange placeholder background in the launch menus with a tiled version of the new icon. It should now also be easier to adjust/replace this background in the future.
- Added menu music! (thanks Maranasa for the tracks!) This is set to be very quiet by default to avoid spooking anyone, but you can crank it up (or silence it completely) in the audio settings with the “music” slider.
- Adding menu music support involved refactoring a lot of audio code. We’ll do more with this in the future, probably!
- In the scene selector, the scenes name will now show below the preview image
- Added a search bar to each left side panel, allowing you to search models, objects, animations and poses by name.
- Added a new “toast” notification system for both scripts and internal usage
- Scripts and internal game code can use Toast notifications to notify a user about something without interrupting gameplay
- It’s highly optimized for use in an Update() function if required and is suitable for realtime updates on a variable.
- Toast messages can be completely disabled using process argument no-toast. Not recommended under normal circumstances, but this can be desired for recording, immersive play, etc.
- Added rebindable control interface in the game settings
- Every keyboard, mouse and controller input can be assigned with the following exceptions:
- The escape key will always pause the game and can’t be reassigned
- Mouse movement and scroll wheel can't be reassigned, although they can be inverted
- OS button on console controllers might not register as an input to Unity
- Edit Mode now shares the same movement controls as the player.
- The Edit Mode interface now has rebindable navigation shortcuts.
- Added an ingame folder selector
- Sizebox now allows you to set the location of custom content folders from within the game (instead of having to manually edit an XML file outside of the game).
- 3.01: There is now a Settings.xml generator in the content menu that can be used to export your content settings if you want to use them with earlier versions of the game (i.e., Sizebox 2.x)
- From the main menu, select Settings > Content and use the Set All… button to set the location for all of the content types (this will setup the same subfolder structure as the launcher’s Content folder uses by default)
- Alternately, use the ‘...’ button next to each content type to change content folder locations individually.
- Content types with customizable locations include:
- Models: Where your gts, micro and object files go. Sizebox will create subfolders for each if they don’t exist.
- Scenes: Where your custom maps go
- Sounds: Where your custom wavs and mp3s go
- Scripts: Where lua behaviors go
- Data: Where game saves, lua behaviors settings, and model presets will be written to. Sizebox will create subfolders for each if they don’t exist. If not set, Sizebox will use the User folder instead.
- Screenshots: Where screenshots taken within the game (with F11) will be saved
- If you would like to disable a custom content type location, set the text field blank in the folder selector. A “restart required” message will appear if needed.
- You can use the ‘View’ button next to each content type to open the specified folder in your systems’ file browser.
- Additionally, you can set these settings as process parameters when starting Sizebox by using ‘-path’ or ‘-path-<entry-name>’
Please note: Parameters will only be used if the entry has no value set internally.
- ‘Sizebox.exe -path “D:\My Sizebox Folder\”’
Will set all folders to ‘My Sizebox Folder’ if their paths would otherwise not be set.
- ‘Sizebox.exe -path-models “E:\My Sizebox Models\”’
Will set the Models entry to ‘My Sizebox Models’
- ‘Sizebox.exe -path “D:\My Sizebox Folder\” -path-models “E:\My Sizebox Models\”’
Make all entries set to ‘My Sizebox Folder’ except Models which will be set to ‘My Sizebox Models’
- Several quality enhancements to the free camera
- The free camera now automatically scales itself based on the situation, automatically avoiding clipping issues
- The floating origin system now triggers for the free camera in addition to player entities. This greatly reduces graphical artifacts when using the free camera over large distances
- Added a settings toggle for camera shaking
- You can now freely look around with the mouse when in play mode but not playing as a character
- Raygun aiming should now be more responsive and easier to control precisely in third-person view
- Refactored UI prefabbing for Scene Tree & Transform View to take better advantage of Unity & optimize performance
- Implemented Add/Remove Events in the ObjectManager
- The Command menu has a new look, and is now scrollable
- Reworked the mouse sensitivity slider
- Shortcuts to open parts of the editors interface can be rebound
- You will now be prompted to confirm any action in the pause menu that would remove you from the current game session
- Made many common fixes and improvements to Catalog, Animation, Pose, and Morph tabs, including:
- Pose tab no longer bugs out/gets locked when it is closed and reopened after setting a pose.
- Stored page number now properly matches page displayed, when closing/opening tabs.
- Active page number and search status is now remembered and restored when tab is closed and opened in most situations.
Fixes
- Added check when trying to equip a gun to make sure the model has hands to hold it with.
- Fixed over-sensitive scaling with the transform tool’s scaling mode on macros
- This mode is hotkeyed to ‘Y’ when the transform tool is active
- Fixed numerous shader issues, including emission shaders not working properly (for real this time)
- Fixed an issue in the city debris code that was spamming errors.
- To avoid ambiguity, the game will no longer add a custom scene if a scene with the same name has already been loaded
- Fixed ground on the flat grass scene warping when moving away from the center of the scene
- Fixed trees on the small island map disappearing when the water is behind them
- Fixed a bug in the wind sound effect that caused it to occasionally function improperly due to the floating origin system
- Fixed macro breathing & heartbeat sound effects continuing to play when the game was paused, and having the wrong volume when making immediate and extreme size adjustments
- Fixed a bug with custom posing that caused macros to teleport under certain circumstances.
- Fixed screenshots taken in rapid succession not hiding the game interface properly
- Fixed unhandled exception when attempting to spawn a female NPC and none exist
- Fixed the population spawner in cities. Micros should now spawn in cities in accordance with the population density slider.
- Fixed Disable Macro Movement option misbehaving in many situations
- Fixed Walk Here behavior causing an error upon arrival if the AI of the agent was enabled during the walk
- Fixed material rendering order issue with Model Editor where Materials with Render Mode Fade, Transparent or similar would look invisible (regardless of being hidden) when loaded from a saved preset
- Fixed issue with Colliders not matching Morph changes saved with a non-zero value when loaded (e.g., player would clip through body parts expanded via Morphs)
- Fixed Macros continuously sliding a tiny amount if a pose was set while an animation with root motion (such as Walk 2) was playing
- Fixed crash due to some models not being properly rigged for AudioSources and subsequent errors
- Fixed various issues and exception errors with models lacking humanoid bones, including better collision logic, ragdolls, and movement script compatibility
- Fixed a bug where a blinking morph could be saved in a state the user didn't set it to if the game is saved when a macro is automatically blinking
- Fixed several exception errors when loading a game save
- Fixed “Play Audio When Unfocused” setting (when disabled) not properly detecting unfocus & muting audio
- Fixed Macros floating away when game is paused and they have a non-zero Vertical Offset
- 3.01: Fixed city popup dialog not disappearing if game is paused
- 3.01: Fixed stomp issues on micro-scaled stages (macro feet stomping through the floor, micros ignoring stomp collision)
Unity Upgrade Changes
- Sizebox now runs on Unity 2019.3
- This should contribute a variety of performance improvements, better stability, incremental garbage collection for better memory management, and other engine-related enhancements
- The old experimental proof-of-concept multiplayer mode has been removed due to Unity deprecating/removing support for UNET upstream
- Good news: now that UNET is finally dead, we can focus on developing a multiplayer mode that’s actually good!
- Unfortunately, due to the upgrade to Unity 2019.3, 360 screenshots are no longer available.
- We’ll keep an eye out for alternative 360 screenshot assets that work with our current Unity version
- Due to the upgrade to Unity 2019.3, the 32-bit Linux executable (Sizebox.x86) is now considered deprecated by the Unity Engine. The Linux version only contains the 64-bit executable (Sizebox.x86_64)
- Linux users using a different CPU architecture might be able to run the 32-bit Windows version of the game under Wine (and Box86 if applicable). Remember that the Windows version of Sizebox can be forced to start using Vulkan or OpenGL GAPIs with command line parameters.
- Due to the upgrade to Unity 2019.3 you will now need a graphics card (and driver support) capable of at least Shader Model 3.0 to start the game.
- Don’t worry: if your graphics card is less than a decade old, it probably supports Shader Model 3.0
- Changes to default renderers:
- Vulkan is now the default renderer on Linux. If this causes trouble on your system you can start the game using OpenGL with the ‘-force-glcore’ parameter. For example: ./Sizebox.x86_64 -force-glcore
- Metal is now the default renderer on MacOS. If this causes trouble on your system you can start the game using OpenGL with the ‘-force-glcore’ parameter. For example: open Sizebox.app --args -force-glcore
- Vulkan is an available renderer on Windows but DirectX 11 remains the default. You can start the game using Vulkan with the ‘-force-vulkan’ parameter. For example: Sizebox.exe -force-vulkan.
- It is also possible to run the Windows version of Sizebox in OpenGL with the -force-glcore parameter (Sizebox.exe -force-glcore).
- You can confirm what renderer the game is currently running under with the ‘Rendering API’ property under System Information in the Video Settings menu.
Scripting
- 3.01: Updated Lua script documentation to reflect 3.0 changes
- Scripts now have version-specific variants of implicit functions that will run in place of the normal function if the script has it.
- For example: Update3()will run on Sizebox 3.x but not 2.x nor 4.x.
If a version-specific function can't be found, then the normal function (in this example Update()) will be used instead. - There are also equivalents for Start3(), Exit3(), etc.
- This allows scripters to more easily support multiple game versions in a single script
- Updated MorphAPI with several fixes and additions
- Added Morphs::GetMorphName() and Morphs::GetMorphList()
- Fixed various MorphAPI functions not respecting Lua's 1-indexed array rule
- Added new lua functions GetBoneByName() and GetBonesByName() to streamline getting a bone name.
- Float behavior setting type now has an optional clamp parameter, allowing different ranges than the default 0-1.
- Non-behaviour Lua scripts now have access to the Exit() function
- Added a new “toast” notification system for both scripts and internal usage
- Scripts and internal game code can use Toast notifications to notify a user about something without interrupting gameplay
- It’s highly optimized for use in an Update() function if required and is suitable for realtime updates on a variable.
- General fixes & improvements for the Behavior Manager
- Added the ability to give behaviors descriptions & tags
- Added the ability to reload scripts without having to restart the scene.
- Added the ability to search for behaviors by name.
- Implemented an optional tree-style layout.
- Updated BehaviourTemplate.lua to reflect the changes introduced in this branch
- Added a new implicit function to the Lua: LazyUpdate()
- LazyUpdate()is identical to Update()except it will be run by the game at a regular interval rather than every frame, and is able to scale with a large number of scripts.
- LazyUpdate() is not a set timer, but a round-robin scheduler that allocates a frame for each script to do its work. Therefore, the frequency in which LazyUpdate()will run your script is based on several factors, such as the lazy batching setting, number of scripts running & the game’s frame rate.
- Unless your script has a very good reason for running every frame (such as detecting a keypress) it should use LazyUpdate()instead of Update()
- We are attempting to standardize models’ facial morph names to make them more easily controllable via scripts, AI, and standard actions in the future
- If you want your imported model to be able to use certain commands (like “eat”) you should name/rename the appropriate morphs as shown below (proper case sensitive). Most of these are self explanatory, but notes are provided as needed:
- Neutral, default expression
- Mouth open (important for the “eat” command)
- An expression specific to the model (your choice)
- Happy
- Angry
- Surprised
- Disgust
- Sad
- Thinking
Sizebox SDK & Gts Retriever
You can download the latest version of the Sizebox SDK and User Guide (for importing models, objects, animations, and scenes) from here:
https://mega.nz/folder/OckzhZKL#nHLExaoK_iaaDMXkPEqQSA
The Sizebox SDK User Guide includes detailed instructions on how to install the SDK and use it to import content for Sizebox.
The current version of the Sizebox SDK supports Unity Editor 2017.3.1.
If you haven't already, download the correct version of the Unity Installer from here and be sure to check "Linux Build Support" when installing.
Ever wanted to turn a Sizebox model file into a standard, editable format? Now you can!
Gts Retriever is a Unity Editor 2019 project that can turn your .gts and .micro files into .fbx and .tga. It's available here (along with a handy conversion guide):
https://mega.nz/folder/fMUWQT5C#IiiDxLgj_kd6P3ITt7QVhQ
Credits
Special thanks to our community developers for their contributions to this update:
Aiiko, Changeling, Clay Hanson, Debolte, g8030a, Maranasa, Opew, PepperedWalnut, Saz, Shifty, Tariok, and VESS.
For the latest Sizebox news and updates, follow us on Twitter: https://twitter.com/sizeboxdev
Want to discuss Sizebox, share content, and meet more weirdos like you?
Join our Discord: discord.gg/NDbVE85
Read our Reddit: reddit.com/r/Sizebox
Ko-fi
If you enjoy Sizebox and want to thank our volunteer devs for their hard work, you can send them a one-time tip or a recurring donation with Ko-fi:
https://ko-fi.com/sizebox
Tips will be added up monthly and distributed equally to everyone who worked on Sizebox development in the past month. Developers can choose to take their monthly share or deposit it in the Sizebox Development Fund, which the team can use to purchase assets & licenses for content to add to the project, as well as to cover annual server hosting costs.
Sizebox will always be free, but your tips are a nice way to encourage our volunteers to keep up the good work 📦