[Request] Project-Type Migration Wizard

My apologies in advance for the wall of text. :confused: Please bear with me.

Will we really have to choose between a blueprint-only project, and a coding project in later betas of UE4? If this is the case, I’d like to request a project conversion wizard.

When first starting UDK, I was mostly using kismet and resorted to unrealscript when it was absolutely necessary. As time passed and skills improved, my projects were switched over to unrealscript with only light amounts of kismet (mostly Matinee stuff). With UDK, I had the option to expand and change the parameters of my project to work with unrealscript (or unlink from unrealscript) at any time by changing a single line in defaultengine.ini.

Suddenly with UE4, users are locked into having to choose between two main sorts of pipelines. This fails to take into account users who will change their mind and beginners wanting to expand their project beyond just blueprints as they become more confident. Or even people who decide that coding is too hard and just want to stick to blueprints. I’ve seen people of all skill levels in UDK changing from one to the other and vice versa… it’s only natural to expect that sort of fluidity to continue into this generation as well.

Yes, you could suggest telling people to start a new project and migrate their stuff to that new project. But as projects get larger and a developer more entrenched, this sort of thing becomes harder to do. What if the user has mountains of existing assets in the content browser, and tons of blueprint nodes already configured? Their learning curve evolves, the engine should be able to scale with it.

So the need to convert between the various project types becomes evident.

If you’re reversing to blueprint-only from a coding project, the wizard could do a custom blueprint node check / worldinfo / map integrity check…

In the integrity check, the tool would highlight any custom game properties / level blueprint nodes in red to indicate which ones are not part of the native architecture, and to signal to the user that those nodes would need to be removed in order for a project conversion to happen.

From there, after the user confirms they wish to do this and they understand the operation is irreversible, the engine would remove all source code directories as a final exit command, and then reboot.

I could see the conversion from blueprint-only to source being relatively easy, but the inverse being somewhat challenging b/c of all the integrity checks. So if the latter is impossible or unfeasible, I might at least suggest a wizard to configure blueprint only to a C++.

I don’t think you are ‘locked’ into those two extremes! There is a decision about whether your project contains any C++ code at all. But you can start a non-code project and then add it later (via option in the editor). Once you have C++ code in your project, it’s really up to you how much you do in code vs blueprint. Our templates start out one way or the other, but those are supposed to be foundational, rather than a requirement for the rest of the project you build. I think the ideal is using a good mix of the two - C++ for core gameplay and then blueprints for effects and variations. If you remove a blueprint for a gameinfo (for example) you should get a warning when you load the project that it is missing. And just because you move towards C++, doesn’t mean you won’t want some things to be Blueprints.