MEGHA SHARMA: Welcome everyone.
Today we'd like to talk to you about Microsoft Mesh.
It's a platform that enables organizations to
build custom shared immersive experiences.
BRENT JACKSON: Mesh offers hybrid workers
a way to truly connect from anywhere.
The sense of co-presence and natural ways to
interact in three-dimensional immersive experiences.
Today, we're going to show you how you can create
your own immersive experiences in Mesh and if you like,
what you see will share a link so you can
register interests for private preview.
Hi, I'm Brent Jackson.
MEGHA SHARMA: I'm Megha Sharma
we're product managers for
Microsoft Mesh and excited to
be here today to tell y'all about it.
We're already seeing our early adopter customers
unlocking the power of Mesh by creating
custom immersive solutions tailored to
their organization's needs that go
beyond the limitations of the physical world.
BRENT JACKSON: Whether you're on
a PC or a VR headset,
Mesh offers a seamless and
immersive experience that transcends
physical boundaries and allows you to connect
with others like never before, Megha.
Why don't you share some experience scenarios
we've seen partners creating for Mesh?
MEGHA SHARMA: Sure. Some examples of
these enriching immersive experiences
include corporate events such as all hands,
where you can have one-to-many events with
immersive storytelling and connects
people from different places around the world.
With Mesh, you can unlock a deeper engagement between
the presenter and participants
with a stronger connection between peers.
Another example is
interactive learning and simulations where
Mesh can be used to facilitate
guided and self-guided experiences.
You can also create immersive simulations for
specialized training that could connect new people,
through shared learning experiences.
Having fun together is a vital ingredient in
successful relationship-building and something
that's often missed in remote work.
With Mesh, you can have social gatherings and
interactive spaces that are
designed to bring people together.
I worked remotely when I first
started working at Microsoft,
and I really did feel a deeper sense of connection
when interacting with colleagues in fun 3D environments,
like a beach Cabana, as you can see in this video.
I found such experiences invaluable in combating
the isolation and lack of
physical presence associated with remote work.
You can build experiences like these when you're
confirmed as part of the private preview program.
Now, you might be wondering
how to build these experiences.
You'll see possibilities are endless as we
dive into Meshes' capabilities.
Why don't you tell us more?
BRENT JACKSON: Yeah, of course. You can
build scenarios like these for Mesh by
using a collection of tools we
provide for you for use with Unity.
Now, I do want to point out that these tools are
designed for creators who have a familiarity with Unity,
C# either technical art skills
or a way to procure whatever technical art
your experience may need.
If you don't have these capabilities
or access to people who do,
there are plenty of third parties
out there that can help you skill
up so that you will be ready to start creating for Mesh.
Anyway, the tools provided will enable you to create
custom experiences users can explore with their avatars.
You can include things like
physics-enabled GameObjects that can manipulate together,
and interactive web content.
Plus with Mesh's Cloud scripting,
you can leverage the full power of C# and Dotnet core
to connect things like your business logic
to your Mesh experiences,
will show you what this looks
like in Unity in just a minute.
But I mentioned exploring with our avatars a second ago.
You'll see there's a lot of stuff in Mesh that just works
that you don't have to worry
about when you're creating for Mesh.
Megha, why don't you cover these Mesh features?
MEGHA SHARMA: Sure thing.
Microsoft Mesh offers a range of
impressive features designed to
enhance your immersive experiences,
including the ability to host up
to 1,000 users at a time,
distributed across different charts
of the same environment.
Our production tools ensure that
your presenters are seen and heard clearly.
Other features include
our fun customizable Avatar system,
input system, and spatial audio.
You also only need to design, build,
and publish your environment once for PC and VR,
making it easy to interact
synchronously with the mouse and
the keyboard on PC and have
a fully immersive VR experience.
Finally, we provide robust privacy, security,
and identity management features through Microsoft
365 so you can trust that your information is safe.
BRENT JACKSON: Now that
you've covered everything you
get when you build with Mesh,
tell us about the one-on-one tutorial that you will guide
users through how to leverage these capabilities.
MEGHA SHARMA: I'd love to.
Like all things
in life that have a one-on-one tutorial,
we recommend that you begin there to start building with
best practices and then you can mesh around all you want.
Mesh one-to-one is
an interactive tutorial designed to guide
creators with experience in
unity through some of the basics.
These will be some of the most
commonly used building blocks
across all the mesh experiences we discussed earlier,
such as all hands and social gatherings.
This tutorial will give you confidence to create
engaging experiences for Mesh using Unity.
BRENT JACKSON: One of the things I love
about this tutorial
has it also serves as a learning scenario in
this example accompany is educating its users on
wind turbines via interactive stations and Mesh.
But you can imagine other enterprises
could do something similar to teach
their audience about other relevant topics
applicable to their industry.
It doesn't have to be wind turbines.
It can be anything they want to teach.
MEGHA SHARMA: What we give you when you
get started with Mesh in
private preview to create
this experience is documentation,
providing a detailed tutorial walk-through
of these building blocks.
Tools for building your environment and a pre-made URPC,
this tools come with buttons and it will be your job
to learn how to turn the scene into a mesh experience.
Brent, why did we demo how to
get started building for Mesh?
BRENT JACKSON: Yeah, let's take a look.
What you see
here is a scene and some of
our tools set up for use in Unity.
The first thing we need to do is make sure
our avatars can explore the area we want them to.
Now we do this by adding a NAB Mesh layer and
a teleprompter tag to these spots
where we want our users to keep their focus.
Next, we make sure the scale is right.
Since mesh has experienced at a one-to-one scale,
we need to size our environment accordingly.
One thing that can help here is that
when you add the PlayMode pre-fab
by left-clicking in the hierarchy
and navigating to PlayMode setup,
you get our little DevOp person
who's about average height so you can
use them as a reference to get a sense
if you're experienced as it person scale.
MEGHA SHARMA: What if I find
a cool article on
wind farms on the web?
Can I add that in here for participants to see?
BRENT JACKSON: You can.
We just add in a web view,
go to the same place I found PlayMode setup and
add a web view and
position and the scene where I want it.
Now, if you look in the inspector,
you can see it defaults to Microsoft.com.
Just paste the site you want to go to
here and your WebView is ready to go.
Once you have your scene set up, enter PlayMode,
get a feel for interactions and
some basic mouse and keyboard locomotion,
and see if there is anything you may want to change.
Note here that by default,
you will spawn into your scene at
the origin point and
this environment was designed with that in mind.
But you can change this using
our spawn point configurator if you
want your users to spawn somewhere specific.
This can be helpful if you are importing
pre-existing content into Mesh
that wasn't designed this way.
You can see now that we are in PlayMode,
we can move around our scene and interact with the web.
PlayMode provides this quick Dev Loop.
We think you'll appreciate.
Something else that's helpful with putting experiences to
Mesh is our content performance analyzer tool.
With the click of a button,
I can get an analysis of my seen and understand
where I may be going over budget with my polygon counts,
or where my textures may be too high res or a myriad of
other things that all need to be
imbalanced in order to create a performance experience.
We can see
now that there are
a couple of areas that have failed.
Obviously, that doesn't mean your scene
won't work as you just saw on play mode.
What that really just means
is that there's an area that we
generally think you're spending
a decent chunk of your performance budget,
and we point out what those things
are when they are over our suggested values.
Let's check out the collision complexity.
This one says that
our Mesh Collider has a high polycount,
which is true. This is a good insight.
We may choose to leave this as by design or consider
gaining some purf by changing
from Mesh Colliders to Capsule Colliders.
This part really isn't art form.
There's no right answer on how
to balance your purf budget,
but performance is key to
creating environments that feel truly
immersive where users can
really connect naturally with each other.
We hope these guiding references will help
you make the best experiences you can.
I'll hand things off to you now.
MEGHA SHARMA: Let's take
a look at the building
blocks in this tutorial,
including configuring
mixed reality design language buttons
and adding basic interactivity to a scene using physics.
First, we use a simple button to introduce scripting.
As mentioned earlier, you can do
amazing things with scripting,
like connecting live backend data,
accessing the full power of C#
and.NET Core using enterprise data,
and also making these simple buttons.
You can configure these buttons so
participants can play a video,
trigger information based on avatar proximity,
and teleport within the scene.
I'll show you how to configure
a teleport button to teleport your users anywhere,
including the top of a wind turbine,
a place where most people wouldn't usually get to go.
BRENT JACKSON: Can you imagine
taking your whole team there?
MEGHA SHARMA: We can. We already
have a teleport button working in the scene,
but I'll demo how to make one work for Mesh.
First, I'll drag both the
backplate and button prefabs into
the scene and place them under
this Chapter 3 parent game object.
I'm doing that because Chapter 3 contains our Mesh app.
Because the buttons rely on Mesh scripting,
we need these buttons to be a child of the Mesh app.
I'm positioning these buttons where we want them,
and what I'll do is change the label to say teleport.
I'll call this button teleport to wind turbine,
so we can identify it in VS Code later, no confusion.
Next, I'll add an empty game object that
specifies where in the world we want to teleport to.
I'll call it teleport location wind turbine.
I'll turn my z axis to the turbine because that
specifies what direction my user
is facing after teleporting.
Now, that's it for our work in Unity.
I've added a button to our scene,
given it a name, and I've set
a location I can teleport to.
Next, let's jump into our Visual Studio project,
which I already have open.
All the logic for this whole wind turbine scene
lives in these functions.
I have some code here. Looking at the code,
we find the button subscribed to the clicked event.
Look for the location of the top of
the turbine, aka TransformNode.
If we find it, we grab
the avatar that clicked on this button
and teleport them to
the specified position and orientation.
Let's jump back to Unity and see if this all worked.
I'm going to go into play mode now,
and I'm going to wait for assemblies to
reload and Cloud apps to build
and attach. It worked.
We're teleported all the way up here.
I can click the show generator button
and stick my head in and look
around and we already
have a button up here to teleport right back.
BRENT JACKSON: Now that we've learned
about buttons and scripting,
can you tell us about our physics-based interactivity?
MEGHA SHARMA: Perfect timing.
I can teleport
to our physics learning station from up here.
Physics is a language understood by
everyone because it mimics the real world.
Physics is used to enhance interactions and
enrich environments for collaboration and play.
It's an easy way to make
your world feel more alive and immersive,
as you can manipulate physical properties
to tell stories.
You can use physics to add
basic interactivity to a scene,
such as making a rigid body grabable and releasable,
setting up a physics animation reaction to a trigger,
and creating a containment field for rigid bodies.
All of this will be covered in the tutorial.
But for now, I'd love to show you how to make
a rigid body grabable and
releasable with our physics tools.
First, we use the Mesh interactable objects script
to make an object,
you guessed it, interactable.
There's a lot of different settings you can customize,
including scaling and transforms.
But we'll stick to the basics
for now and make this turbine
manipulable so we can directly
grab and release in the space.
It's as easy as checking the box.
Now, I can't wait to
play around with these turbines in Mesh.
Brian, take it away.
Let's publish our environment.
BRENT JACKSON: I've already logged in and
created my template here,
so I can just click "Build & Publish"
and my environment loads into Mesh.
Now you can see our avatars in
Mesh interacting with the wind turbines.
This project will be available to
you if you just want to download it,
publish it to Mesh, and check
it out with your coworkers.
But we recommend completing it,
as we've designed this sample with developers and
creators in mind to help you self
enable as best as possible.
Megha, let's recap what we've covered today.
MEGHA SHARMA: Well first, we told
you about Mesh and
all the great experiences you can
build to better connect with people,
like social gatherings, interactive storytelling,
all hands meetings and more.
You can take people to places they wouldn't
normally go and control things like
time and space to set up
experiences that people wouldn't normally have.
BRENT JACKSON: Next, we
showed you how using
our combination of Mesh capabilities
enables you to create
the spoke experiences that can
bring you closer to your coworkers,
whether they be down the hall or across the world,
or on top of a wind turbine.
MEGHA SHARMA: Speaking of, finally
we gave you a tour of
our Mesh 101 tutorial where you
understood that we will give you not only tools,
but also guidance on how to create compelling,
immersive experiences for Mesh.
BRENT JACKSON: What I'm
really excited about
is how all these pieces come
together to provide a truly unique set
of tools you can trust.
We have an avatar system that
works in both Teams and Mesh.
If you haven't already, go learn about
avatars for Teams and immersive spaces for Teams.
We have a physics interactivity system you can use to
create fun real world activities
you can enjoy with others.
We have a Cloud scripting system that
enables companies to securely connect to
their business logic and do things like
dynamically load data from SharePoint and much more.
All of this is done securely on
a company's own Microsoft tenant.
It really is something else.
MEGHA SHARMA: We really appreciate you
spending your time with us learning
more about how you can craft
amazing experiences with Microsoft Mesh.
BRENT JACKSON: If you're interested
in our private preview,
you can register at aka.ms/JoinMeshTAP.
You can go to mesh.com to
learn more about Microsoft Mesh,
avatar for Teams, and immersive spaces for Teams.
We can't wait to see what you'll build.
MEGHA SHARMA: Good one.