Xenko Engine 1.6 Beta Released

 

Xenko Engine, previously known as Paradox, just released beta 1.6.  If you are unfamiliar with Xenko, I have done an in-depth tutorial series here.  This release brings quite a few updates, so let’s jump right in.

 

Updates to Xenko 1.6 include:

  • addition of prefabs enabling reusable content easily
  • archetypes, essentially create new objects using the traits of another object 07
  • particles can now be created directly in Xenko editor
  • curve editor inside Xenko studio (currently particle only)
  • new graphics engine.
  • experimental Direct3D 12 support
  • improved OpenGL support
  • scripts are now components
  • event system for communications between scripts
  • game settings improvements

Plus several smaller changes, fixes, etc:

Enhancements
Assets
Engine
  • The KeyedSortedList now implements ICollection<T> instead of IList<T> and is more consistent with CollectionDescriptor.
Game Studio
  • Support for prefabs, add a prefab editor
  • Create derived assets and support property inheritance
  • Added a curve editor to edit animation curve
  • Layout is saved on a solution basis. When reloading a project, Game Studio will try to present the same layout and reopen all assets that were edited (this include scenes, prefabs and sprite sheets).
  • Add a confirmation dialog to enable saving newly created script automatically.
  • Add a confirmation dialog to enable reloading modified assemblies automatically. This is necessary for the script to appear in the list of components that can be added to an entity.
  • Physics gizmos are shown by default.
  • Preview of an asset can be displayed even if this asset is being edited.
  • Project folder can be opened in Windows explorer from the launcher with right-clicking.
  • Properties of derived asset are displayed in gray, unless they are overridden. In this case they are displayed in bold.
  • Rework scene initialization in the scene editor: the scene will be available almost immediately, and content (model, etc.) will be streamed in as soon as they are (asynchronously) loaded.
  • The entity fixup wizard has been removed. Now when an entity is deleted, all references to it or to one of its component is reset to null.
  • The gizmo and camera menus are now displayed in the top-right corner.
  • Entity hierarchy is synchronized (automatically expanded) with the selected entity in the scene.
Graphics
  • New D3D12 renderer (experimental)
  • New Windows OpenGL and OpenGL ES renderers (experimental)
  • Rewrote most of the low- and high-level graphics code to have better performance and better take advantage of new graphics APIs
  • Properly separated rendering in 4 phases: Collect (collect & cull), Extract (copy data from scene to renderers), Prepare (prepare cbuffer data & heavy computations), Draw (emit draw calls)
  • Introduced concepts of RenderFeature (entry point for extending rendering), RenderStage (effect selection), RenderView and RenderObject
  • Render sorting logic can now be customized (culling will be soon too)
  • Low-level API has been rewritten to match better new API: CommandList, DescriptorSet, DescriptorHeap, PipelineState, etc.
  • Introduced concept of RendererProcessor which are responsible for pushing component data to rendering
  • Many other changes, that will soon be covered in documentation
Input
  • Improved GamePad event management to resemble the keyboard API.
Issues fixed
Game Studio
  • Fix Scripts thumbnail generation during project launch.
  • Fix Settings window sharing columns layout with property grid ([#341](https://github.com/SiliconStudio/xenko/issues/341 (new window))).
  • Fix default IDE settings incorrectly reset to null.
  • Fix a crash occurring when duplicating an object quickly after selecting it.
  • Fix an issue with the message box incorrectly resizing.
  • Tooltips are always visible even if the control (menu, button…) is disabled.
  • Fix several issues with undo/redo.
  • Fix drag and drop of components into properties
  • Sometimes the Game Studio was not asking to save when closed with some changes in a project.
  • Fix some issues related to folders in scene editor.
  • Redo does not re-open asset picker anymore.
Graphics
  • Tangents generation was invalid and might have resulted in various swaps
Physics
  • Improved collision detection reliability
  • Fixed collision filter groups
  • Fixed enable/disable component behavior
Breaking changes
Graphics
  • Extending rendering is quite different from before. Please check SpaceEscape and other samples to have a better idea while we prepare documentation.
  • Many methods of GraphicsDevice have been split off into a second class: CommandList
  • Added objects such as PipelineState, DescriptorSet and DescriptorHeap to better match new graphics API
  • Game now contains a GraphicsContext which gives access to the current CommandList
  • GraphicsDevice.BackBuffer and GraphicsDevice.DepthStencilBuffer are gone. Use GraphicsDevice.Presenter.BackBuffer to access the actual backbuffer.
  • In addition to RenderContext, there is now a RenderDrawContext. Some methods have been changed to expect the latter.
  • ParameterCollection has been rewritten to be much more memory and performance efficient (data is now stored directly in buffers).
  • Transferring values from application to shaders and computation of effect permutations used to be done through various inefficient ParameterCollection overrides. This should now be done using RenderFeatures.
Physics
  • PhysicsComponents are now split into 3 different types (Rigidbody, Character, StaticCollider) which can be added multiple times to an entity.
  • PhysicsElements are now removed, including the Collider, Rigidbody and Character classes. They now are merged into the new components.
Known Issues
  • iOS on ARM64 iPhones encounter crashes after a few second. We are currently investigating this.
  • Sometimes duplicate contacts are detected by the physics engine

Full details of this release are available here.

GameDev News Paradox


Scroll to Top