Skip to content

decentraland/unity-explorer

Repository files navigation

unity-explorer

Explorer renderer

Submodule installation required

After checking out, remember to install and update the submodules by doing (git submodule update --init and git submodule update .)

Protocol Generation

Update protocol

To update the protocol to the last version of the protocol, you can execute the following commands:

cd scripts
npm install @dcl/protocol@next
npm run build-protocol

SDK7 Integration Progress

Components

In Progress

  • Animator
  • PointerLock
  • AvatarAttach
  • AvatarModifierArea
  • CameraMode
  • CameraModeArea

Completed

  • AudioSource

  • AudioStream

  • AvatarShape

  • Billboard

  • EngineInfo

  • GltfContainer

  • GltfContainerLoadingState

  • Material

  • MeshCollider

  • MeshRenderer

  • Name

  • NftShape

  • PointerEvents

  • PointerEventsResult

  • Raycast

  • RaycastResult

  • TextShape

  • Transform

  • Tween

  • TweenSequence

  • TweenState

  • UiBackground

  • UiCanvasInformation

  • UiDropdown

  • UiDropdownResult

  • UiInput

  • UiInputResult

  • UiText

  • UiTransform

  • VideoEvent

  • VideoPlayer

  • VisibilityComponent

Runtime API

In Progress

  • CommsApi
  • CommunicationsController
  • EnvironmentApi
  • Players
  • PortableExperiences
  • RestrictedActions
  • Scene
  • Testing
  • UserActionModule
  • UserIdentity

Completed

  • SignedFetch
  • Runtime
  • EngineApi
  • EthereumController

Regenerate protocol

Just run:

cd scripts
npm run build-protocol

Test scenes

Add a new scene

To be able to select the scene at runtime

  • Place it to the "StreamingAssets\Scenes" directory.
  • Add its name without an extension to the "Scenes" list on the EntryPoint component.

img.png

Control scene lifecycle

img_1.png

At the moment one scene can be active at a time. By default at startup no scene is launched.

  • When a new scene is selected, the old scene is unloaded releasing its components to the pool.
  • "Stop" just disposes the scene
  • You can easily notice if the resources are not properly disposed by looking at the Unity hierarchy.
  • Setting the framerate can be useful for a stress test.