V4 dev status? Could we have a roadmap?

There hasn’t been much activity on github, only four commits since January. This makes me wonder what is the current status for cocos2d-x v4 and what the devs priorites are. Should we expect slow development of v4? Are devs just focused on cocos creator?
It is a bit worrysome for us devs with big projects under developement as well as popular games using v3 currently in production which might be updated to v4 in the future.

This makes me wonder if there is a current roadmap for v4? I remember there used to be one in trello a long time ago.
A roadmap would be nice, even if development is slow, so everyone could know what the team’s priorites are. Also if an user sees a task in the roadmap he could be tempted to implement it himself and make a PR :slight_smile:


It seems like Cocos Creator is the main engine for now. It has features like JS web, which therefore also supports WeChat mini games, and also many increasing features for 3D.

@bolin i’m just wondering what features are you hoping to see in V4? From what i see, the only thing missing from v3 in v4 is JS binding.

I remember reading somewhere in the forums that there’s no plans for bringing JS to V4? So i think projects with JS have to either stay on v3 or migrate to Creator?

Your post definitely leads me to think about this a little, and my hypothesis is that v4 is probably a test bed for Metal support. And once that is stable, they will work towards bringing it to Cocos Creator? I doubt they will continue to bring anymore new features to Cocos2d-x.

At the moment I care more about maintenance, bug fixes and performance improvements rather than new features really.
There are some basic features missing though… for example there’s no way to store a user defined shader program in ProgramCache (in fact I implemented this and made a PR: https://github.com/cocos2d/cocos2d-x/pull/20496).

One peformance issue I care about is if you use a custom shader then batching will be disabled (see: https://github.com/cocos2d/cocos2d-x/blob/f888277b9a2ba0c978b4869a0d432f7b4e1cce7a/cocos/renderer/CCTrianglesCommand.cpp#L59). This seems like a huge deal for any mid-sized game or an action game which wants to use a custom shader.

It would be nice to know if they are currently 100% focused on cocos creator or know what’s going on. Devs might want to either use v3 or switch to a different engine depending on what’s the status or roadmap for v4.

Ah i haven’t noticed about the batching part before.

Hmm seems like previously (v3) it was using the ProgramState pointer in the hashMe struct, but it’s now changed to use ProgramType in v4 (Line 86).
Not sure what is the reason for the change…? :man_shrugging: any Cocos2d-x dev can advice on this?

I think the ProgramCache having only ‘built-in’ shader programs with ‘valid’ ProgramType is somewhat related to this hashing?

It seems you are dealing with pretty advanced stuff by using custom shader that is used widely across your game objects.

One suggestion i can think of, is to create your own ProgramType and add on to the existing list. This way, probably may fulfill your requirement of having the shader program hashed for batching.

I wouldn’t consider a custom shader advanced stuff… at least no the one I wrote :slight_smile:
I haven’t looked in depth but I don’t think it would be as easy as creating a custom ProgramType (plus it doesn’t seem to be the best way workflow-wise if you have to create one for each shader you write), since you’d have to check if the uniforms have changed from one ProgramState to the other…

Anyways I don’t really want to derail the thread with this particular issue. Hopefully @zhangxm or @slackmoehrle or someone else from the team can answer our doubts about v4 dev status and/or it’s roadmap.

I’ll get an update from the team to be sure I convey accurate info.

1 Like

Any news? It’s been three weeks…

I don’t have an update on this yet. I will work on this more.

hi @slackmoehrle Do you have any updates on V4 ? thanks

I am not current on the entire v4 plan. We are discussing it. I will post an update when I have one. Thanks for the follow up.