Skip to main content

Coming from Unreal

3dverse and Unreal contain 3D engines at their core and share similarities. First and foremost their 3D engines both adhere to an ECS (Entity Component System). The following page helps Unreal developers make the necessary associations to 3dverse concepts, and transition their Unreal knowledge to 3dverse.

Terminology

Unreal 3dverse
Actor=> Entity
Component=> Component
Blueprint=> Scene Composition + Script
Editor=> Scene Editor
Content Browser=> Asset Browser

"Installation" and Collaboration

With 3dverse there is nothing to download and install. All you need is a connection to the internet. There is no special setup for collaboration to work, all you need to do is invite your collaborators to your project. You and your collaborators can work on the same 3d scene at the same time. There is only one source of truth so there is no pain and time wasted when it comes time to merge everyone’s work, and no need to continuously sync with remote changes to the project.

This is a significantly different workflow than what Unreal offers, and it saves time and headaches.

Organization vs Unreal Project Browser

The entrypoint to project management in 3dverse is the organization. A 3dverse organization can regroup many projects and manage team access in a centralized manner. Unreal organizes your development tools locally, whereas 3dverse organizations coordinate team permissions and project sharing in the cloud. Also note that whereas Unreal manages different Editor installations, in 3dverse there are no versioned releases, it is continuously deployed.

Project

When you create or open a project in Unreal you are launched straight into Unreal Editor. When you open a project in 3dverse you are launched straight into the Project Page. From here you can access the Asset Browser, where you can upload/create assets and organize them in a file hierarchy. You can also manage other aspects of your projects, such as collaborators, usage and settings.

The 3dverse Asset Browser in the Console project page.

👉 Double click on a scene to open the Scene Editor.

Scene Editor

The 3dverse Scene Editor and Unreal's Editor are very similar. Each panel in 3dverse is called an extension. Like in Unreal, the panel layout is customizable. You can move the panels around to better suit your needs.

Unreal Editor
The Unreal editor interface layout with labeled and highlighted panels.
3dverse Editor
The 3dverse editor interface layout with labeled and highlighted panels.

On the bottom right, click on Layout to save your tab layout, or to go back to the default layout. Click on Extensions to browse through available extensions.

Highlight of the location of the button to change 3dverse editor layout.

Essential extensions names:

Unreal 3dverse
Outliner=> Scene Graph
Details Panel (with Actor selected)=> Components
Level Viewport=> Canvas
Content Browser=> Asset Browser

Here are some other extensions which may be of interest:

Unreal 3dverseDescription
Output Log=> LogsWhere engine and editor logs are printed. Logs output by scripts show up here.
Material Instance Editor=> Material EditorEdit the material of the entity selected. Entity must contain a material reference component.
World Settings=> SettingsScene settings persistent between sessions.
Sequencer=> Animation Sequence EditorEditor to create and modify animation sequences.
Event Dispatchers=> Event PanelTrigger custom events which may be listened to by scripts.

Simulation

You can start, pause and stop the simulation like in Unreal. There isn’t a separate dedicated tab (i.e. Game) for the simulated scene; it all takes place in the Canvas.

The simulation settings in the 3dverse editor.

By default, your editor camera is your main camera during simulation. If you’d like to assign another camera, you can do so in the Simulation section of the scene Settings.

For scripts to be able to read and react to your inputs (e.g. a camera controller or character controller script), you must assign them to Client Scripts.

Here is an example using the scene from the default Third-Person Character Controller project.

The tutorial on how to take control of third person character setup in 3dverse editor.

👉 Familiarize yourself with Navigation in the Scene Editor.

Other Asset Editors

3dverseHow to Access It Unreal
Scene EditorDouble click a scene in Asset Browser=> Level Editor
Material EditorExtension in Scene Editor=> Material Instance Editor
Script EditorDouble click a script in Asset Browser=> Script Graphs and Visual Studio
Animation Sequence EditorExtension in Scene Editor=> Sequencer
Animation Graph EditorDouble click an animation graph in Asset Browser=> Animation Graph
Animation Set EditorTab in Animation Graph Editor=> (No concept of Animation Set in Unreal)
Shader EditorDouble click a shader in Asset Browser=> Material Graph (in Material Editor)
Render Graph EditorDouble click a render graph in Asset Browser=> (No equivalent visual scripting tool for render pipelines in Unreal)

Scripting

Unreal and 3dverse have similarities and differences when it comes to scripting.

Unlike Unreal, scripts are attached to entities as a component would within the Scene Editor. Each script has access to thisEntity.

All scripting takes place within the Script Editor; there is no outside code editor such as Visual Studio. The 3dverse Script Editor is a visual scripting tool. Following a similar approach to Blueprints Visual Scripting, you will be creating and connecting nodes, specifying their flow of execution. Although the Script Editor favors a no-code visual scripting approach, the special “Custom Node” node can be injected with custom C++ code.

The Script Editor, which contains the Code and Event Maps editor as well.
The Script Editor, which contains the Code and Event Maps editor as well.

3dverse uses an event-based approach to scripting. Scripts can listen to and trigger events. Similar to Unreal’s lifecycle nodes (e.g. Event BeginPlay, Event Tick, Event ActorBeginOverlap ), scripts can listen to system events such as the simulation starting, a frame tick, or physics events such as collision and trigger enter/exit. To orchestrate behavior using multiple scripts, custom events can be used. A script can trigger custom events, which can then be listened to within other scripts.

The following is a comparison of a simple script which logs when the simulation starts in Unreal and 3dverse:

Unreal

The basic Unreal Blueprints nodes layout to print Hello World.

3dverse

The basic 3dverse Visual Scripting nodes layout to print Hello World.

Advanced Terminology

Here are some more advanced terminology equivalents in the physics and skeletal animation domains.

Physics Terminology

Unreal 3dverse
UPrimitiveComponent (with Simulate Physics enabled.)=> Rigidbody
Collision Shape (Cube, Sphere, Capsule, Convex Hull, etc.)=> Geometry (Box Geometry, Sphere Geometry, Capsule Geometry, etc.)
Physics Material=> Physics Material
Physics Constraint=> Constraint

Skeletal Animation Terminology

Unreal 3dverse
Skeletal Mesh (component)=> Animation Controller (component)
Animation Blueprint (asset)=> Animation Graph (asset)
Animation Sequence (asset)=> Animation (asset)
Skeleton (asset)=> Skeleton (asset)
Animation Blueprint Graph (window)=> Animation Graph Editor
Animation Sequence Editor (window)=> No editor to specifically work on animation clips.

Deployment

Deployment is much simpler with 3dverse compared to Unreal. Deploying a 3dverse web application is the same as deploying a web page. There are no device-specific builds to worry about. As long as the user has an internet connection and the URL, they can access the application.

The easiest way to create a 3dverse web application is to use Livelink React. It serves as an interface between your web page and the 3D engine. Explore a variety of samples to help you get started with web integration.

Since assets are managed entirely on the cloud and the 3D is rendered on the cloud (and then streamed to browsers), updates happen instantly. New versions of the application are immediately accessed by all users - no user action is needed to update to the new version.

3dverse is also device agnostic. Because the 3D is rendered server-side instead of client-side, there is no need to worry about inconsistent experiences due to the user’s device or hardware capabilities. This greatly simplifies deployment across different devices such as desktop, tablet, phone, AR/VR headset, etc.