desired language:
desired language:
SDK Release 6.0.0
6.4.9
- External links
- Font support (for now only San Francisco and its variations)
- Support for videos from files
- Picture frame support for any NFT from Open Sea
- Picture frame support for GIF NFTs
- Open picture frame UI
- New reflection texture on metallic materials
- Preview keeps loading even when browser window is inactive
- Hide/Show DCL UI by pressing the U key
- Several scene-loading optimizations
6.4.8
- Support for audio streaming
- Support for video streaming
-
Support for external texture URLs with upper and lower case
- Bug Fixes:
- Fixed issue with flickering of textures while loading, which sometimes made objects transparent or partially transparent
- An OnPointerDown component is no longer passed on to an entity’s parents
- Invisible entities no longer show on-hover click feedback.
- On-hover click feedback no longer shown when entities are too far to click
6.4.7
- Support for 3rd person view in preview (use v to toggle)
- Placeholder values for user name an ID when in preview
6.4.5
- Obtain the server and layer of the player.
-
Customize the on-hover text on clickable entities.
- Bug Fixes:
- NFT picture frames work
- Various performance and stability improvements
6.4.4
- On-hover feedback for clickable entities Button events
- The rays of button events don’t go through other entity’s colliders.
- Mouse sensitivity improved, making it easier to point at small objects
-
Bug Fixes:
- Camera rotation includes all axis again
- Player less likely to fall off moving platforms
6.4.3
- Optimized queuing of raycasting messages. See Raycasting for details.
- Fine tuned messaging budget per frame to handle more actions in the scene
-
Bug fixes:
- Players now take their time to fall, instead of falling instantly
- Various animations fixes, including support for animations that are non-skeletal or that have rotations, colliders, or transitions with non-linear curves.
- Fixed uv mapping of textures created via code
- Triangle count in the Panel now properly reflects true triangles being used.
- Issue fixed with large animations that were timing out and not loaded into the scene
- Issue fixed where cursor gets stuck for a few seconds when leaving the preview window and then returning.
6.4.2
- Material colors now support Color4 to include alpha values easily
-
Bug fixes:
- The UITextInput now retunrs the provided text in the “value” field
- The player no longer loses control of the pointer when standing on a rotating platform
- The player no longer instantly teleports to the ground when falling off a cliff
- Transparent materials using AlphaTest mode now work as expected
6.4.1
- More detailed feedback when entities are out of scene bounds, marking mesh bounding boxes
-
Various bug fixes:
- Original material for entities out of scene bounds is restored on hot reload
- Alpha clipping is fixed on 3D models that use partially transparent textures
- Players can jump from slanted ground
- Scene spawning points defined on
scene.json
work on preview - Repeated 3D models with animations now all play
- P2P communication fixed between local isntances of a scene running in preview
- Large scene loading time performance improvements
6.4.0
- Raycasting
- Global
BUTTON_DOWN
andBUTTON_UP
events - Support for
PRIMARY
andSECONDARY
button events (E and F keys, on a keyboard) - If player is standing on an entity, they now move together with that entity
- Entities that extend outside scene boundaries are now marked as red
-
Fixed bugs
- Several bugs with entity lifecycle when adding and removing from engine
- Several bugs with billboard mode
6.3.2
- Support for Billboard component
- Bug fixes related to scene loading & lifecycle
6.3.1
- Support for OnPointerDown and OnPointerUp events
- Camera height adjusted slightly, so avatars see each other eye-to-eye
- Support for hot-reload and export functionalities with the latest CLI version
- Bug fixes and performance improvements
6.3.0
- NFT picture frames support
- All shapes, including primitives, have collisions by default
- GLTFShapes can have collisions dissabled
- Several optimizations
6.2.4
- Entities that have
visible = false
can’t be clicked - Several optimizations
- Bug fixes - Fix parsing of materials on GLTFs (normal maps, emissive maps, roughness maps, etc)
6.2.3
- Bug fixes - Fix parsing of materials on GLTFs (emissive, specular, etc)
6.2.2
- Important optimizations, specially for scenes with multiple transforms updated on every frame
- Updated Unity engine to latest version:
2019.1.8.f1
- Reduced fog levels and other art adjustments to materials
- Bug fixes: - Fix Z-fighting between surfaces that are close to each other - Entities that share a same shape component can be removed independently without affecting the other - Fix alignment of children of UIContainerStack components - Audio can now be looped - Audio sounds no longer start on the first frame if not explicitly played - Fixed exaggerated doppler effect, that was most notable when running - AnimationClip.Stop() now returns the model to the first frame of the animation
6.2.1
- Unlock cursor by pressing
Esc
only once (used to require pressingEsc
twice) -
Enter
key focuses or leaves from chat - Change empty floor texture
- Bug fixes: - Fix UI positioning -
setParent(null)
now sets an entity to be a child of the scene object - Removed entity now can be re-added to engine
6.2
- Bug fixes: - Very large scenes disappear when walking too far from origin
6.1.5
- Serverless multiplayer: Send messages over content server, publish - subscribe
- Bug fixes: - Emissive and transparent materials for primitives fixed - Alignment of TextShape components - Audio fixed work as positional - UI positioning when set to invisible
6.1.3
- Bug fixes: - Emissive materials fixed for primitives - Camera.position & Camera.rotation fixed
6.1.2
- UI screen space limited to not use the top 10% of the screen
- Decentraland UI components always rendered on top layer, above screen-specific UIs
- Bug fixes
6.1.1
- Unity set as the default engine
- Various bug fixes
6.1
- Unity engine integration - Shadows - Various optimizations
- Components for player UIs, see UI for details.
6.0.1 - Beta
- Fix a bug with entity positions out of bounds
- Rename the
AnimationClip
object toAnimationState
for more clarity - Rename the
BUTTON_A_DOWN
andBUTTON_A_UP
events toBUTTON_DOWN
andBUTTON_UP
6.0 - Beta
This release includes the following new features
-
Each parcel now measures 16 x 16 meters. This was decided via a vote by the community. New scenes created with the CLI are 16 x 16, old scenes remain as 10 x 10, but we recommend migrating to a 16 x 16 format. Scene limitations per each parcel haven’t changed since 5.0.
-
Improved audio engine: Multiple audio samples can be played at once. Also, each audio sample has a specific location. See Sounds for details.
const trevor = new Entity()
//Create audio clip
const audioClip = new AudioClip("sounds/Vexento.mp3")
audioClip.loop = true
//Create audio source
const audioSource = new AudioSource(audioClip)
trevor.addComponent(audioSource)
engine.addEntity(trevor)
- Custom events are now possible, using functions to emit and listen for them.
This version includes several bug fixes and optimizations. It also includes the following changes:
-
3D model animations are now handled by an
Animator
component, instead of by theGLTFModel
component.let shark = new Entity() // Create Animator component const animator = new Animator() shark.addComponent(animator) // Create animation clips let clipSwim = new AnimationState("swim") let clipBite = new AnimationState("bite") animator.addClip(clipBite) animator.addClip(clipSwim) // Activate swim animation clipSwim.play() engine.addEntity(shark)
-
Textures are now handled by a specialized
Texture
component, that can be referenced by aMaterial
component.let wheel1 = new Entity() // Create texture const spiralTexture = new Texture("materials/hypno-wheel.png") // Create material let spiralMaterial = new Material() spiralMaterial.albedoTexture = spiralTexture // Add material to wheels wheel1.addComponent(spiralMaterial) engine.addEntity(wheel1)
-
Billboard mode is now done via a separate specialized component, instead of by setting a property in shape components.
let box = new Entity() box.addComponent(new BoxShape()) box.addComponent( new Transform({ position: new Vector3(5, 1, 5), }) ) box.addComponent(new Billboard()) engine.addEntity(box)
-
Basic commands for handling components are renamed for more clarity. For example
get
is nowgetComponent
,add
is nowaddComponent
andset
is nowaddComponentOrReplace
.
See the migration guide for clear examples of how to migrate your code.
Read the [release announcement(https://decentraland.org/blog/announcements/introducing-sdk-6-beta/) blogpost for more details about these new features!
Note: All 3D models are now rotated 180 degrees along the Y axis to follow standards that are consistent with most other platforms. Any 3D models in your scene will now be rendered facing backwards. You may have to reposition or rotate your entities to compensate for this new rotation. Also, we now check that 3D models are within scene bounds by looking at the bounding boxes, not at each individual vertex. This is a lot more efficient, but some 3D models may have empty bounding boxes that stretch far beyond the vertexes. If that’s the case, you’ll have to clean up the 3D model so that the bounding boxes more closely match the vertexes of the model.