Repository navigation
CometEngine_2.0-RC1
Pre-release
Pre-release
[2.0-RC1] - 2026-01-28
Breaking Change
- Removed C# scripting support. AngelScript is now the only supported scripting language.
Added
- Project manager new functionalities:
- Added a search bar to the top menu for finding projects.
- Added "Scan" button to search for projects inside a folder recurive.
- Added a favourite button for every project in order to show it at the top.
- Added the current version of a project.
- Added the last modification date for a project.
- Each project now includes a "project.cometProject" file at its root to mark the folder as the project’s entry point.
- Opening the engine when the scripts project does not compile now can trigger two new popups:
- Just once when the engine is openend a popup saying that the scripts does not compile and that it should be fixed before anything else is triggered.
- When the scripts now compile correctly (only once and just if the engine was opened when they did not compile correctly) a new popup saying that it is better to reload the project is triggered.
- Support for playing videos:
- VideoClip: New resource that can read video files.
- VideoPlayer: New behaviour class that is used to display a video clip in some different modes.
- The .fnt files now can be imported and used as BitmapFont to render using the BehaviourText.
- Slider to modify the volume when previsualizing an audio on the AudioSample inspector.
- Now a text box explaining what is happening is displayed at any collider inspector when the instanciable entity is selected instead of showing nothing.
- Now in a CometEvent clicking at an entity that owns a callback will highlight it at the hierarchy.
- Also a behaviour can be dropped inside a CometEvent and their Entity will be taken as reference.
- Added the tag "Overriding" for the platform export options tab of the textures and texture atlas that are enabled.
- The behaviour text now uses the kerning of the font.
- Now the inspector of a Font shows its texture and all the available glyphs.
- Some AudioEffect parameter:
- AudioEffectEcho: filter.
- AudioEffectReverb: width, damp, roomSize, freeze, wetMix.
- Script logs are now shown in the console panel with their script path, function name, and line number. Double-clicking a log entry opens and focuses the corresponding code in the editor.
- AssetIcon now always shows the icon, even if the asset is not loaded.
- Scenes referenced in the inspector of a Script or CometObject are now automatically included in the build.
- New metadata attributes:
- TreeNode: Makes a group with all the fields that has the same tree node name and shows them as a tree.
- Tab: Makes a group with all consecutive fields that has a Tab attribute and shows them with tabs.
- The behaviour text now has a font by default.
- Added a new (+) button in the Animation Event Inspector that allows adding a new event at the currently selected frame.
- Added support for 9-sliced sprites using configurable borders to maintain correct aspect ratios. Borders have to be set using the SpriteEditor panel.
- Added render modes for the SpriteRenderer and Image:
- Simple: Renders the sprite normally (same as in previous versions).
- Sliced: Uses the sprite’s borders for 9-sliced rendering, preventing distortion and preserving aspect ratio.
- Tiled: Repeats the sprite using 9-sliced rendering, preserving the corners while tiling the edges and center.
- Added an option to add a UI background panel when right-clicking the hierarchy.
- New UI Behaviours added:
- Raw Image: New behaviour that allows rendering a RenderTexture inside a Canvas.
- RectMask: It allows to create a rect zone for the UI where only there it will be rendered.
- Mask: Creates a mask based on the image attached to the same entity, allowing rendering only within that area.
- HorizontalLayout: Organizes all children horizontally.
- VerticalLayout: Organizes all children vertically.
- GridLayout: Organizes all children into a grid.
- LayoutElementConstraints: Defines the preferred, minimum, and flexible sizes of an element.
- ContentSizeController: Adjusts the transform’s size to fit all its children.
- ScrollRect: Allows a rect’s content to be scrolled inside another rect.
- Scrollbar: Interactable bar that allows scrolling a ScrollRect.
- Toggle: Interactable that maintains an on/off state.
- ToggleGroup: Groups multiple toggles so they behave as a unified set.
- Slider: Interactable that holds a bar with a value between the minimum and maximum.
- InputField: Interactable that captures keyboard input to update a Text with what the user types.
- UIParticleSystem: Allows rendering the entity’s particle system directly inside the canvas.
- DropDown: Interactable that open a popup options menu when clicked.
- The UI Interactable color transition now includes a “Use Scaled Time” property to determine whether the fade duration uses scaled time.
- The UI Interactable color/sprite transition now takes by default the self image as a target.
- Added “Ignore Mouse” property to CanvasGroup, allowing it and all its children to ignore mouse interactions.
- Added "Mouse Filter" property to UI Graphics, allowing control over how mouse events interact with them:
- PROPAGATE: Mouse events propagate upward until handled.
- STOP: Mouse events are handled only by this entity.
- IGNORE: Mouse completely ignores this graphic.
- BLOCK: Mouse events stop when reaching this graphic.
- Text now has a property to auto set the font size to the biggest possible.
- Added sortingLayout and sortingLayoutOrder to the Canvas Screen Mode Camera.
- Added sortingOrder to the Canvas Screen Mode Overlay.
- Nested canvases can override sorting and be rendered independently from their parent canvas.
- ShowNavigation option for selectables now saves the state when closing the app and recovers it when opening.
- Added Get/SetPosition method at Window namesapce.
- Added an options button to the instantiable entity header in the scene view, allowing changes to be saved or discarded.
- New window configuration properties:
- Initial Position Mode: An enumeration that defines how the initial position of the window is determined. The possible values are:
- ABSOLUTE: The window position is set using the InitialPosition value.
- CENTERED_PRIMARY_SCREEN: The window is centered on the primary display.
- PRIMARY_SCREEN: The window position is set relative to the top-left corner of the primary display using the InitialPosition value.
- CENTERED_OTHER_SCREEN: The window is centered on a non-primary display specified by InitialScreenIndex.
- OTHER_SCREEN: The window position is set relative to the top-left corner of a non-primary display specified by InitialScreenIndex using the InitialPosition value.
- CENTERED_SCREEN_WITH_MOUSE: The window is centered on the display where the mouse cursor is currently located.
- SCREEN_WITH_MOUSE: The window position is set relative to the top-left corner of the display where the mouse cursor is currently located using the InitialPosition value.
- Initial Position: Value specifying the X and Y coordinates for window placement, used in conjunction with certain InitialPositionMode settings.
- Initial Screen Index: An integer specifying which display to use for positioning when certain InitialPositionMode settings are selected.
- Always On Top: Flag that indicates whether the window should always stay on top of other windows.
- Viewport Aspect Ratio: An enumeration that defines the aspect ratio of the game viewport.
- Free Aspect: The viewport will resize freely.
- 16:9, 4:3, 21:9, 16:10, 3:2, 5:4: The viewport will maintain the selected aspect ratio.
- Custom: The viewport will maintain the custom aspect ratio defined in Custom Aspect Ratio.
- Custom Aspect Ratio: Value specifying the custom width and height ratio when Viewport Aspect Ratio is set to Custom.
- Keep Aspect Ratio On FullScreen: Flag that indicates if the aspect ratio should be maintained when in FullScreen mode.
- Keep Aspect Ratio On FullScreen Desktop: Flag that indicates if the aspect ratio should be maintained when in FullScreenDesktop mode.
- New SplashScreen settings: enable or disable the splash screen, change its size, and assign a new texture.
- Initial Position Mode: An enumeration that defines how the initial position of the window is determined. The possible values are:
- Closing the Editor while the SpriteEditor has unsaved changes now triggers a popup asking the user whether to save or discard them.
- Added suport to Undo/Redo when editing an sprite in the sprite editor.
- If the editor engine crashes, it will generate a .txt with the report of the crash.
- The panel that displays information about the selected sprite in the SpriteEditor can now be minimized and maximized.
- Added an option for the scene camera to simulate the culling view of another game camera.
- AudioClip now has platform-independent properties, such as Streaming Enabled.
- Creating a new project with the project manager now adds a basic gitignore with all files that Comet generates that should not be uploaded.
Changed
- Editor font now is OpenSans. It is bigger and clearer.
- Project manager moved stuff:
- Button "New" and "Import" have been moved to the top menu bar.
- Button "Delete Missing" has been moved to the bottom utility bar.
- Version has been moved to the top right menu bar.
- The popup "InstanciableEntity has been modified" its title has been renamed to "InstanciableEntity modified".
- Right-clicking an animation event on the timeline now shows individual options for each event instead of only removing all events at the current frame.
- The Sprite Editor tool gizmo now uses an improved handler.
- The default button texture has been updated to one with rounded borders.
- Behaviour image now has by default a white quad as a sprite.
- Creating a UI Behaviour via right-click on the hierarchy will now look for an existing canvas, or create one if none is found, and then create the entity there.
- Clicking in the scene now cycles through overlapping objects one by one, instead of always selecting the first one.
- The Canvas and CanvasGroup options under the Inspector’s “UI” → “Add Behaviour” menu have been moved to the “Layout” category. The same change applies to the Main Menu Bar under “Behaviour”.
- The UI interfaces IBeginDragAction, IDragAction, IEndDragAction, IPointerClickAction, IPointerDownAction, IPointerEnterAction, IPointerExitAction, IPointerUpAction and IPointerUpOutsideAction now its method receives a PointerEvent parameter that contains information about the event.
- FullScreenMode SIZE has been renamed to WINDOWED.
- The AudioClip Preload Data property is now platform-independent, allowing it to be configured per platform.
Removed
- Some AudioEffect parameters:
- AudioEffectEcho: dryMix.
- AudioEffectReverb: referenceLF, gain, roomRolloffFactor, decayTime, decayHFRatio, reflectionsLevel, reflectionsDelay, wetLevel, dryLevel, reverbDelay, diffusion, density, referenceHF.
- Some AudioEffects: Chorus, Compressor, Fader.
- Removed the support for the external code editor for VisualStudio. Now VSCode is the only one supported.
- Removed the "version.cometVersion" file from the "Library" folder.
- Selectable SpriteTransition no longer includes the Normal Sprite property, as the normal state now uses the attached image by default.
- Canvas Screen Mode sortingOrder property has been removed.
Fixed
- Default input bindings for UI Left and Right for controller were inverted.
- Switching the window to fullscreen or fullscreendesktop made it impossible to exit it.
- Executing CometEngine with a console on Windows now will show the logs.
- Modifying a canvas with the screen space render mode was causing a crash when an undo action was performed.
- Behaviour text now can render characters with accents correctly.
- Copying and pasting a canvas that had ScaleWithScreenSizeScaleMode was causing a crash.
- Closing Comet with a copied canvas in the cache that had a camera attached on the WorldSpace or ScreenSpace was causing a crash.
- Closing Comet with a copied script behaviour after play and stop a game was causing a crash.
- Cameras that were rendering to a render texture were rendering to the game view as well.
- Once an AudioMixerGrup was set to an AudioSource, it was not possible to remove it again.
- Changing the 'Max Size' of a texture with no RGBA format in its inspector to a size that is smaller than the original was causing the texture to lose its alpha.
- Some fonts were not positioned correctly when rendering them using the BehaviourText.
- When using the search in the panel project sometimes textures appeared black.
- If the pc crashed (blue windows) while CometEngine was opened, the next time Comet is opened it crashes.
- Selecting a tile and setting the desired tile object via the inspector was not rendering correctly the tile.
- The properties for the PanelAnimatorTimline that were from a script where not showing the name of the behaviour.
- When the InputWrapper script was deleted using the internal CometEngine filesystem or an external one and then on the ProjectSettings/Input was indicating that the InputWrapper already existed.
- The popup "InstanciableEntity modified" now its text fits correctly.
- Importing a folder that already exists, now will overwrite file per file and import them again.
- Clicking a mixer or a layout at the project was not focusing the correct one at the mixer panel.
- Custom shaders were not able to use sprite renderer sprite texture.
- Closing Comet while playmode was active caused the current scenes to be saved as the last opened. As a result, the next time Comet started, those scenes were reopened instead of the original ones from before entering playmode.
- Tilemap brushes are now disabled when the panel is hidden.
- Dropping a texture with single sprite mode to the inspector script field variable was not reacting. Now it is possible to set it.
- Inspector script sprite fields now correctly accept textures in single sprite mode (previously dropping them had no effect).
- The renaming input box for sub-assets was incorrectly positioned at the start of the next asset.
- The renaming resource input box sometimes never disappeared, depending on the first action after requesting the rename.
- An animator state node was sometimes not deselected when another item was selected, requiring a double-click to select it again.
- Using the AssetIcon attribute on a Texture or Sprite field for a CometObject displayed the icon in the project file nodes as expected, but if later it was set to null, the icon remained visible.
- TextEditor was not capturing the keyboard so it was impossible to write.
- Animator nodes showing animation progress no longer grow in size.
- Scripts dropped onto hierarchy entities that are not selected now correctly attach even when another entity is selected.
- Dropping a script onto an entity in the hierarchy was deselecting everything.
- When the window was in fulldesktop mode and the focus was gained/lost then it turned to black for one second.
- The pref directory was not working on Linux.
- Default build platform was always windows, now the default platform is the platform where Comet is running on.
- Joysticks and hapatic were not working on linux.
- Switching from fullscreen to windowed mode could cause parts of the screen that were outside the new resolution to retain old frame data instead of being properly cleared to black.
- Filtering a resource by type in the project panel could cause multiple resource types to appear selected at once.
- Filtering by instantiable entities in the project panel did not detect any, even when they were present.
- Undoing after modifying a Rect Transform was not restoring the entity to its correct position.
- Undoing after deleting an entity could crash the engine.
- Adding a canvas to a entity when that entity was already inside another canvas was scaling the current entity incorrectly.
- Nested canvases were not rendering according to their hierarchy, which sometimes caused incorrect render layouts.
- Nested canvases are now refreshed and adjusted correctly when the main canvas changes its render mode.
- Editing a draggable number field with the mouse, confirming with Enter, and then editing a different field caused Undo to revert both edits instead of just the last one.
- Disabling a CanvasGroup now stops applying its properties.
- Fixed some issues when rendering a text with truncate activated.
- Huge performance improvements when moving a RectTransform within large hierarchies.
- Fixed an issue where adding an AudioListener after some audios had already started caused them to still be inaudible.
- Fixed an issue where opening a prefab containing UI elements would not render them.
- Loading scenes asynchronously could sometimes duplicate some entities.
- Double-clicking a folder in the Project panel would select another file or folder occupying the same position after entering it.
- Fixed error of Pivot/Center and Bounds transformation tool for sprite renderers when using the tool if that sprite had a pivot.
- Launching the engine using a shortcut (such as the Windows taskbar) could cause unexpected behavior.
- Closing the engine while Play Mode was active with the Play view maximized caused it to remain maximized the next time the engine was opened.
- Selected entities and resources were sometimes deselected unexpectedly.
- World Canvases were not sorted as expected.