Skip to content

Changelog

v. 3.2.0

New Features:

  • World Space painting: choose between World Space or UV Space for painting;
  • Removed screen-space painting limitation: now painting works seamlessly across all spaces;
  • VR mode enhancements: set a minimum distance between the pen and surface;
  • VR support for SpriteRenderer and RawImage: paint directly on these components in VR mode.

Other:

  • Removed deprecated methods;
  • Removed BasePaintObject.OnDrawLineExtended event;
  • Removed BasePaintObject.DrawLineExtended method;
  • Documentation rewritten for clarity and convenience;
  • Performance improvements;
  • Bug fixes.

v. 3.1.3

Bug Fixes:

  • Fixed a bug when bucket tool may fill incorrect area.

v. 3.1.2

New Features:

  • Added ability to manage Input methods.

Bug Fixes:

  • Fixed a bug when painting may draw extra lines in case when painting was interrupted by clicking on UI;
  • Fixed a bug when DepthToWorldConverter returned incorrect position.

v. 3.1.1

New Features:

  • Added an option to fill only non-transparent pixels in the Bucket tool settings.

Bug Fixes:

  • Fixed a bug where undoing after merging layers set an incorrect layer texture;
  • Fixed a bug where input in VR mode threw an exception.

v. 3.1.0

New Features:

  • Added the ability to draw smooth lines for SpriteRenderer and RawImage;
  • Added the ability to save layers container to a file and load from a file;
  • Added the ability to block canvas raycasts with multiple canvases;
  • Introduced the option to randomize brush sample angles while painting.

Performance Improvements:

  • Significantly enhanced performance for painting on MeshRenderer/SkinnedMeshRenderer components, especially high-poly models when using the Job System in XDPaintSettings;
  • Improved performance for multi-object painting.

Bug Fixes:

  • Fixed a bug where UV data was interpolated, resulting in incorrect positions when drawing lines with MeshRenderer/SkinnedMeshRenderer components;
  • Resolved memory leaks that occurred when users created and removed layers during runtime;
  • Fixed a bug where an exception might be thrown when the PaintManager was created from code with the Undo/Redo system disabled;
  • Fixed a bug where painting on a RawImage didn't work when the Canvas GameObject was inactive at the scene start and the PaintManager was active;
  • Fixed an issue where painting on SkinnedMeshRenderer didn't work when the animator was disabled.

Other:

  • Changed PaintManager rendering method from Update() to LateUpdate() to ensure compatibility with JobSystem and Coroutines;
  • BasePaintToolSettings.DrawOnBrushMove was enabled by default;
  • Triangles data/container no longer needed.

v. 3.0.8

Core:

  • New feature: added support for multi-finger allowing users to draw with more than one finger at a time;
  • Fixed a bug when mesh bounds size had an incorrect value;
  • The events PaintManager.PaintObject.OnMouseHoverHandler / OnMouseDownHandler / OnMouseHandler / OnMouseUpHandler / OnDrawPointHandler / OnDrawLineHandler were marked as obsolete and PaintManager.PaintObject.OnPointerHover / OnPointerDown / OnPointerPress / OnPointerUp / OnDrawPoint / OnDrawLine were added instead.

v. 3.0.7

  • New Features:

  • New feature: Brush and Bucket tools support painting using pattern texture! You can also control the scale, angle, and offset!

  • New feature: RaycastController can use Depth Texture to prevent paint on the multiple PaintObjects at the same time;
  • Fixed a bug when Undo/Redo system would clear a layer if the order of the layers was changed;
  • Fixed a bug when Undo/Redo system invoked PaintManager.Render() multiple times per action;
  • Fixed a bug when SkinnedMeshRenderer has incorrect boundaries;
  • Fixed a bug where painting on the SkinnedMeshRenderer would not work if the position was changed;
  • Fixed memory leak when a material field didn't have the source texture.

Editor:

  • Added PropertyDrawer for ToolManager;
  • Added the ability to manage settings for each PaintManager tool;
  • Tool settings were rewritten from scratch and now can set Texture fields;
  • XDPaintSettings now shows the current version of the asset.

Other:

  • The demo scene has been updated, and the user can now invoke the context menu with the right mouse button to manage the settings of the selected tool.

v. 3.0.6

Core:

  • New tool: BUCKET - tool for filling texture parts with selected color;
  • Decreased memory allocations in Runtime;
  • Fixed a bug when the brush preview was not displayed until the first click;
  • Fixed VR Input.

v. 3.0.5

Core:

  • Added ability to paint on a few submeshes of the same paint object simultaneously using a few instances of PaintManager component;
  • Added ability to use Jobs System and Burst Compiler for raycasts to increase performance;
  • Added ability to paint on SpriteRenderer with non-default pivot;
  • Added ability to get layer texture from code;
  • Decreased memory allocations in Runtime;
  • Fixed a bug when the layer Mask was applied incorrectly;
  • Fixed a bug when painting on SkinnedMeshRenderer was performed with offsets when an object has a non-default transform scale;
  • Fixed an exception when Undo/Redo was disabled in XDPaintStatesSettings;
  • Fixed a bug when undo/redo may fill layer texture with solid color;
  • Fixed a bug when SpriteRendererPaint returned an incorrect paint position.

Editor: - Now asset sets Mesh.isReadable = true to Mesh assets automatically.


v. 3.0.4

Core:

  • Added new 'Vector3 localPosition' argument to PaintManager.PaintObject.OnMouseHoverHandler / OnMouseDownHandler / OnMouseHandler events to get paint object local position;
  • Fixed a bug when PaintManager.UseSourceTextureAsBackground flag was automatically unchecked if the object didn't have a source texture;
  • Fixed a bug when the layer might have incorrect color when the user invoked Undo in case the object didn't have a source texture;
  • Fixed a bug when CanvasGraphicRaycaster might be removed in case of PaintManager component destroying;
  • Decreased memory allocations in Editor.

v. 3.0.3

Core:

  • Improved drawing using collisions;
  • Added support for Sprite from the atlas.

v. 3.0.2

Core:

  • Added support for pixel art graphics;
  • Improved brush accuracy drawing;
  • Fixed a bug when WebGL build didn't work correctly in case of disabled brush preview;
  • Fixed a bug when some classes were stripped from build;
  • Fixed default texture size for RawImage without source texture;
  • Fixed a bug when layer texture was copied twice in case LayersContainer was used;
  • Fixed a bug when the extra texture was created in case of PaintObject didn't have source texture and LayersContainer was used;
  • Fixed a bug when a brush with a large size has an incorrect preview position.

v. 3.0.1

Core:

  • Fixed a bug when undo/redo could clear the layer texture;
  • Fixed a bug when lines were rendered as dots using old Input Manager on mobile devices;
  • Fixed a bug when the brush was transparent in case of texture size 1x1px.

v. 3.0

Core:

  • New Feature: layers and blending modes. Asset works with layers and supports 26 blending modes;
  • New tool: grayscale - tool for discolorating parts of the texture;
  • Undo/Redo functionality was rewritten from scratch and now supports layers parameters change;
  • Added support for the new Input System and Pen support;
  • Added support for submeshes and UV channels;
  • Added 48 new brushes;
  • Added support for perspective cameras when using the SpriteRenderer component;
  • Added ColliderPainter component to paint with collisions;
  • Added ability to set default texture color;
  • Fixed brush preview offset;
  • Fixed bug when Canvas UI didn't lock input interaction in case of RawImage painting;
  • Optimized memory usage for tools;
  • Improved VR support.

Editor:

  • Added CustomEditor for Settings.

Other:

  • Updated Manual;
  • API changes (see "v.3.0_API_Changes.pdf" for details);
  • Bug fixes.