Knowledge Base: Niagara Data Channels Update: NEW Access Contexts in Unreal Engine 5.7

This document covers various updates to the Niagara VFX Data Channels feature as of the 5.7 Unreal Engine release.

https://dev.epicgames.com/community/learning/knowledge-base/6mKa/niagara-data-channels-update-new-access-contexts-in-unreal-engine-5-7

Interesting changes. I’m still on 5.5, I’m using a small map, got my own ability system, no multiplayer, no islands. Do I even benefit from the new system? There is lots of variables in the struct that don’t look useful to me. In general the section about access context reads like an info dumb and I hope we can add some examples, ie for which VFX should I use which struct.

About getting members in instance, getting the spawned systems and instantly setting the parameters looks useful if I ever start using a NDC for multiple Niagara Systems. Though, I do have to ask who the people are that request features. Is it Unreal Engine devs or can a random guy like me talk about this somewhere, because I’m also really into NDCs :slight_smile:

What settings should we be using to replace a Global NDC? I’ve found a “Component” option which seems close, but when debugging it still creates an extra system.

I am also struggling to get a Global NDC working without using Legacy nodes.

Not sure if this helps - I was able to get it working with a Make NDCAccess Context Legacy node you can feed into the non-legacy read node.

Hi.
Apologies for the delayed response over the Christmas period.
@Ninjin ”Do I even benefit from the new system?”
It all depends honestly on what you’re doing and need. If what you have now is working for you then I’d say stay as you are.
The biggest benefits with the new NDC type and access contexts are;

  • being able to override the spawned system using a single NDC asset. Many people were having to duplicate NDCs just to change the system being spawned.
  • More scalable perf when the number of unique islands/systems becomes large.
  • Extensible so custom NDC types can take in any data they may need.

If none of these are a concern for you then it’s likely you wouldn’t see much benefit.

”Is it Unreal Engine devs or can a random guy like me talk about this somewhere, because I’m also really into NDCs :slight_smile:”
I am always eager to hear how people are using this tech and to take feedback and feature requests :slight_smile:
Feel free to reply here. Many people also use the RTVFX discord community. RealTimeVFX
@SheDoesArtStuff may know of some other good avenues for feedback and feature requests.

“What settings should we be using to replace a Global NDC? I’ve found a “Component” option which seems close, but when debugging it still creates an extra system.”
Can you describe in more detail what you’re doing?
Are you trying to replace a global NDC with a GameplayBurst NDC? Or just use the new AccessContext path to interact with a global NDC?
For the former, this will change how the NDC operates, you don’t need to change all NDCs to the new gameplay burst type. It is very use case dependent.
For the latter you can use the Access Context Legacy type which allows use of older NDC types that don’t directly yet support the new access context path. i.e. the global and island types.

1 Like