Request for a Netcode for Entities Roadmap

Hi Unity Team and Community,

I’m writing to express my concern about the lack of a public roadmap for Netcode for Entities. As developers working with DOTS and trying to build networked games, we heavily rely on this technology. However, the absence of a clear roadmap makes it very difficult to plan our projects and understand the future direction of Netcode for Entities.

Currently, it’s challenging to answer crucial questions like:

  • What are the planned features and improvements for upcoming versions?
  • What is the timeline for addressing known issues and limitations?
  • Are there any major architectural changes or new features being considered?
  • What is the long-term vision for Netcode for Entities within the DOTS ecosystem?

Without a roadmap, we’re essentially working in the dark, which leads to:

  • Uncertainty in Project Planning: It’s hard to commit to using Netcode for Entities for long-term projects when we don’t know what features will be available in the future.
  • Difficulty in Prioritizing Development: We don’t know which features or issues are being actively worked on, making it difficult to prioritize our own development efforts.
  • Reduced Community Engagement: A roadmap would foster greater community engagement and feedback, as developers would have a clearer understanding of the direction of the project.

Therefore, I strongly request that the Unity team consider publishing a public roadmap for Netcode for Entities. This would greatly benefit the community and help us build better networked games with DOTS.

Even a high-level roadmap outlining key areas of focus and expected timelines would be incredibly valuable.

Thank you for your time and consideration.

2 Likes

You don’t plan projects on thin air!

This isn’t planning to get the new iPhone at the end of every year. It’s going to come out, no matter what, give or take a month, except for extreme circumstances (ie Covid 2.0).

Software development roadmaps aren’t like that. They aren’t promises. They aren’t technical specifications. They may or may not get delivered. They may or may not meet your needs. They may or may not be compatible with your project in development.

Commit to what exists and is known and proven, nothing else. Unless you want to be on the leading edge, in this case you manage risks, plan for opportunities and have contingencies when those opportunities do not surface. This is normal for project planning, it can’t be “outsourced”.

If the game needs feature X before it’s first published, it’s your job.
If the game does not need X and it can be added later, you can wait.
Or a combination of the two - you plan on waiting until (future date) and keep enough buffer to be able to
implement it yourself. If Unity provides the feature to you by that date, free buffer! If not, bite the apple.

It’s really that simple. :wink:

Note: Even if X does get released within said future date, there’s no guarantee it will be functional for you. For instance, it could end up requiring Unity 7 for whatever reason but your project is on 2022.3 and you already decided against upgrading to Unity 6 due to various issues. Now what?

There’s also the risk that you spend the entire free buffer on trying to make the new feature work for you before you realize, it won’t work in its current state but now you also don’t have time to implement it yourself. Hence it’s wiser to implement every non-existent feature yourself from the start. It’s far less risky.


FWIW here is the networking roadmap. It does not distinguish between networking frameworks. And yes, it contains Entities features, but for the most part it’s just a few extremely broad items that wouldn’t help you with project planning in a meaningful way.

Take “Host migration” for instance. You could do it yourself, within the Lobby before the network session started. Code samples exist. But if you plan a project right now that relies on in-session host migration - I would NOT place bets on this appearing in (insert personal expectations here) months down the road. And in the end, it may (I’m totally guessing here) only work in combination with Distributed Authority.

1 Like

I’m afraid that the development of Netcode for Entities has been paused because they are working on ECS for all. Maybe it will be merged into Netcode for GameObjects.

3 Likes

I understand that software roadmaps aren’t guarantees like consumer product releases. However, my point isn’t about expecting concrete delivery dates or detailed technical specifications. It’s about understanding the direction and priorities of the Netcode for Entities development. A roadmap, even at a high level, could communicate things like:

  • Key Focus Areas: “We’re prioritizing performance improvements in large-scale simulations.” or “We’re focusing on improving the developer experience with easier debugging tools.”
  • Long-Term Goals: “We plan to integrate with [other Unity technologies] in the future.”
  • Exploration of New Features: “We’re exploring the possibility of supporting [new feature] but it’s still in the early stages.”

This kind of information helps us assess the long-term viability of using Netcode for Entities in our projects. It’s not about planning on “thin air,” but about making informed decisions based on the intended trajectory of the technology.

I agree that we should primarily rely on existing, proven features. However, when working with a relatively new technology like Netcode for Entities, choosing it often is a decision to be on the leading edge. We choose it for its potential performance benefits within the DOTS ecosystem. The problem is that without a roadmap, it’s difficult to manage the associated risks effectively. A roadmap helps us:

  • Assess the likelihood of needed features being implemented: If a roadmap indicates that a crucial feature is being actively worked on, we can factor that into our planning.
  • Plan contingencies more effectively: Knowing the general direction of the technology allows us to develop more targeted fallback plans. For example, if a roadmap indicates that a certain feature is not planned in the near future, we can decide to implement it ourselves or explore alternative solutions earlier in the development cycle.

It’s not about “outsourcing” project planning, but about having the information necessary to make informed decisions about technology adoption and integration.

While I understand the point about implementing necessary features ourselves, this approach is not always practical or efficient, especially for complex systems like networking. The reason we choose to use a networking solution like Netcode for Entities is to avoid reinventing the wheel. A roadmap would help us:

  • Avoid redundant work: If a roadmap shows that a feature we need is planned, we can avoid spending time implementing it ourselves.
  • Better integrate with the framework: If we know the planned direction of the framework, we can design our own code to better integrate with future updates.
  • Provide valuable feedback: A roadmap would allow us to provide more targeted feedback to the Unity team, helping them prioritize features that are most important to the community.

The concern about potential incompatibilities with future Unity versions is valid, but this is a risk with any evolving technology. A roadmap can actually help mitigate this risk by giving us advance notice of potential breaking changes or new requirements. It’s not about eliminating all risk, but about managing it more effectively. Implementing every non-existent feature ourselves is often not less risky, especially for complex networking features. It’s often more efficient and less risky to rely on a well-maintained framework, provided we have some visibility into its future.

1 Like

That’s a very real concern, and it highlights exactly why a roadmap is so important. If the development of Netcode for Entities is indeed paused or being merged into Netcode for GameObjects, transparency about this is crucial.

Here’s why clarity is needed in this situation:

  • Investment of Time and Resources: Developers are investing significant time and resources into learning and using Netcode for Entities. If the technology is being deprecated or significantly altered, this investment could be wasted.
  • Alternative Solutions: If Netcode for Entities is not the long-term solution for networking with DOTS, developers need to know this so they can explore alternative approaches. Without clear communication, we’re left guessing and potentially pursuing dead-end paths.
  • Impact on the DOTS Ecosystem: Netcode for Entities is a key component of the DOTS ecosystem for networked games. Uncertainty about its future creates uncertainty about the future of networked DOTS games as a whole.

If the plan is to merge Netcode for Entities into Netcode for GameObjects, it would be extremely helpful to understand:

  • The timeline for this merger: When can we expect this to happen?
  • The impact on existing Netcode for Entities projects: Will there be a migration path? How much effort will be required to migrate?
  • The benefits of the merger: What advantages will this bring to developers?

Even if the development is paused temporarily while focusing on “ECS for all,” communicating this clearly would be far better than silence. It would allow developers to make informed decisions and adjust their plans accordingly.

In short, whether Netcode for Entities is being paused, merged, or continuing as a separate project, clear communication from Unity is essential. A roadmap, or even a simple statement about the current status and future direction, would greatly alleviate the current uncertainty and allow us to continue developing with confidence.

2 Likes

I’m really hoping that Unity will provide more visible information or a roadmap for Netcode for Entities at the upcoming GDC. It would be a great opportunity to address the community’s concerns and provide much-needed clarity on the future of this important technology.

I understand all of what you say, and there’s merit to that. But even the trajectory is going to change, and has changed significantly in the past. Even already-published tech has been dropped with no notice (eg Project Tiny). If these details are so concerning to you, I’d advice to consume everything that becomes available ie the Unite presentations, the milestone posts, and tracking important keywords and key DOTS/NfE staff on here - you’ll get far more details from those posts than you’ll ever get from roadmap items.

Also, and I give you the benefit of doubt perhaps due to a language barrier, but your answers read awfully like what an AI like ChatGPT would respond with given the quoted text as input.

Do you have a link to the source?

I checked the related announcement posts but couldn’t find “paused” being the state for NfE (I skimmed over it, and since that’s so much text, searched for keywords). It may be in the videos. It may also be a misunderstanding since the “unification” roadmap icon is known to be a focus, and also said to take some time and in relative silence.

Milestone posts:

1 Like

I appreciate your feedback. My focus is on clearly articulating the need for a roadmap and explaining the challenges we face without one. I’ve put a lot of thought into these points, and I believe they accurately reflect the concerns of many developers working with Netcode for Entities. Regardless of how the responses were formulated, the core message remains the same: clear communication from Unity about the future of this technology is essential. :wink:

1 Like

It’s just my guess, but paused and shift focus are the same. I think Netcode for Entities will still receive updates, though they’ll probably be minor rather than major, at least until ECS for All is completed.

I think Netcode for Entities will still exist after ECS for All. It will be part of the unified Netcode for All, with an option to select the runtime (ECS or GO) to use. However, that’s just my guess, I’m not sure about it. @tertle asked a similar question about Physics, and here’s the response from Unity staff.

Perhaps even the Unity staff doesn’t know what will happen yet, so there will be no roadmap for it in the upcoming period. Hopefully, we’ll get some updates at the next GDC.

3 Likes

Just wanted to be quick here. Almost all these threads informations are heavily misleading and mostly wrong.

As a clarification: ECS (all packages) and In particular Netcode for Entities are in development and never stopped.
We are not stopping releasing updates or new features, as well as improving performance and tooling.

I dunno what ECS for All naming coming from, but there is not “ECS for All” product to my knowledge. Dunno where this name comes from.

There is ECS and its evolution and roadmaps and updates in that regards are going to be announced soon enough, when we have more clarity about what we would like to release.

But speaking again for Netcode for Entities and to re-iterated: the development is still on going as usual.

5 Likes

ECS for all comes from here:

Do you mean Netcode for Entities and Netcode for GameObjects will not be unified after ECS for All is released?

2 Likes

Thanks for the quick clarification! It’s good to hear that ECS and Netcode for Entities development is ongoing. The information circulating in these threads, including the one here: DOTS development status and milestones + ECS for all (September 2024), clearly caused some confusion. We appreciate you setting the record straight. We’re eager to hear more about the upcoming roadmaps and updates when you’re ready to share them. Perhaps you could shed some light on why the ‘ECS for All’ name was used in that specific discussion, even though it’s not an official product?

Hello, you can find the latest roadmaps in the DOTS development status and milestones + ECS for all (September 2024) and Multiplayer development status and milestones - September 2024 sections on Unity Discussions.

The information about the Netcode for Entities roadmap is included int the Multiplayer section. We are working on adding host migration support to Netcode for Entities, integrated with the Lobby multiplayer service, to enhance session persistence.

Details about the DOTS + ECS for all roadmap can be found in the ECS section (Updates from Unite 2024). This work focuses on consolidating Entities with GameObject workflows (see also The Unity Engine Roadmap presentation from Unite - starting at 34:55).

Work on both Netcode for Entities and DOTS is progressing, and we expect to see more capabilities in future releases. Look out for another DOTS and Multiplayer Discussions roadmap update soon!

You can also provide feedback on the DOTS and Multiplayer roadmaps to let us know which features are most important to you or to submit a new feature request.

2 Likes

I just rechecked, and here’s the roadmap for the unification of Netcode:
https://portal.productboard.com/36ukwpc4kysiqwfanhjdglcd/c/2339-netcode-unification

So Unity is working on both adding new features and merging Netcode for GameObjects with Netcode for Entities???

I think if you are planning your project, you should stick with Unity 6 and Netcode for Entities. There’s no reason to plan your project upgrade to ECS for All and Netcode for All with the upgrade effort still being uncertain.

2 Likes