April 29, 2025
·
Update
Update
v2025.2.2 - Properties
In this update, the custom properties, sub-types and shared properties and some bugs were fixed.
What’s New
Overview
- Introduced a UI extension mechanism for creating custom field editors using
Web Components
packaged as NPM modules. - Added new data subtypes:
Asset
/Asset Collection
with support for Unity, Unreal Engine, and standalone assets. - Introduced
Tag
/Tag Collection
data subtypes for free-form tagging of documents. - Added new data types:
Vector2
,Vector3
,Vector4
, andRectangle
for representing engine-specific structures. - Implemented
Shared Properties
to synchronize property parameters across multiple schemas. - Added support for Chrome 93 to maintain compatibility with Unreal Engine’s CEF 93.
- Extended REST API documentation for improved clarity and integration support.
Asset Paths
A relative path to a single or multiple game assets.
Vector 2/3/4 and Rectangle
Vectors are group of 2, 3, or 4 decimal values (e.g., position or scale).A rectangle with floating-point position and size.
Tags
A reusable set of tags shared across documents.
Shared Properties
Some properties describe data types that are common across multiple schemas. For example, a PickList
property might benefit from shared pick options used in several schemas. For this purpose, shared properties were added.
UI Extensions
Charon now supports a powerful plugin model through extensions, which allow developers to create custom field and document editors that integrate with the application. These extensions are built using Web Components and packaged as NPM modules for easy distribution and reuse.
Game Data Editing
- Added
select
parameter to the List Documents CLI/REST endpoint to allow output shaping by including specific fields. - Introduced the
Extensions
field inProjectSettings
to specify which NPM packages should be loaded into the editor. - Enhanced support for
Multi-Pick List
types with multiple delimiters (space,;
,|
) to assist future tag conversions. - Resolved validation logic preventing switching to types requiring
ReferenceType
values. - Automatically remap legacy requirement value
1 (Unused)
to2 (NotNull)
for better consistency. Reported by @malaron
User Interface
- Added a "Graph" button to switch to a custom Schema editor.
- Enabled custom/extension editor selection at both the schema and property levels.
- Automatically load and register editor extensions during grid/form rendering.
- Added an Extensions table in Project Settings to manage and verify loaded extensions. Imposed size/count limits in the online version to prevent abuse.
- Displayed native tooltips for long property names and field hints.
- Implemented REST APIs for file retrieval and extension load progress monitoring.
- Added a
Sync Name
field in the Schema Designer for shared properties. - Exposed document form, JSON view, and fields as
Web Components
for extension integration. - Persisted view mode (
form
,layout
,json
) in the document URL for sharing and reload consistency. - Disabled password reset for invited (non-registered) users and improved error messages.
- Hid navigation buttons (next/previous) for newly created documents.
- Added icons to distinguish subtypes/editors in selection lists.
- Merged
Custom Editor
andData Type
fields into a unifiedData Type
tree in the Schema Designer. - Added
Tags
subtype that shares tag lists across documents. - Introduced alternative editors (
Toggle
,Button Toggle
,Checkbox
) forLogical
types. - Added subtypes for
Vector2
,Vector3
,Vector4
, andRectangle
. - Ensured
Text
fields are initialized asnull
instead of empty strings. - Automatically remove draft documents on save/discard/reload to reduce local storage clutter.
CLI
- Added
--select
parameter toDATA LIST
CLI command to control output structure by selecting specific fields.
Fixed
- Fixed a memory leak in
AbstractFieldComponent
by unsubscribingvalueControl
on destroy. - Fixed navigation button behavior when opening documents directly via link.
- Fixed JSON view sync issue when editing documents.
- Fixed saving issues for documents using PickList-based identifiers (
Id
) which previously threw "Document not found". - Fixed errors when creating
Settings
orComponent
-typed schemas to ensure at least one document is created. Reported by @malaron