The Metaverse project allows people of any technical ability to pick up and create virtual worlds using free and open-source software. However, to develop this software, one must utilize the Metaverse framework, which is located in this repository.
You can install the framework to any C# project using NuGet. If you're using an older version of C#, check the branches to see if there is a compatibility branch that will work with your project.
dotnet add package Metaverse --version 1.0.1
https://www.nuget.org/packages/Metaverse
The documentation contains most of the info needed to effectively utilize this framework. It explains the core concepts, and has many examples. Use this if you would like to contribute to the framework too.
🚧 Under Construction 🚧
A rotator component:
public record Spin : IComponent
{
public float speed { get; set; }
}
A script that rotates the entity:
using KVSV.Metaverse
public class RotateScript : IScript
{
private List<Guid> entityIds;
public void Start()
{
// Todo - get components using archetypes
entityIds = GetEntitiesWithComponent(x);
}
public void Update(float deltaTime)
{
foreach(Guid entityId in entityIds)
{
Entity entity = GetEntity(entityId);
float speed = entity.GetComponent<Spin>().Speed;
entity.GetComponent<Transform>().Rotation += Vector3(0, speed * deltaTime, 0);
}
}
}
🚧 Under Construction 🚧
Contributions are always welcome!
See contributing.md
for ways to get started.
Please adhere to this project's code of conduct
.
For support, open up an issue using github issues.