How to Make a Game builder On top of Unity

Hello everyone,

Thank you very much for being so amazing community. I need your help to make this project. here is my situation. I am a conversion student from business to computing at university of greenwich UK. I am doing my MSc project to build a mimigame builder on Unity3D.

  1. Model and Behaviour (Script Will be provided)
  2. user can create account
  3. user can make game
  4. user can save and publish their game.
  5. other user can play that game.

I was thinking to approach by using inventory system to provide model and behaviour and game state or prefabs to save them and some how publish them. Though at this point I do not have specific Idea How i will solve this.

I am ready to work hard and have 3 months in hand. Please put me in right direction.
many many thanks in advance.

I don’t think you can, legally

Wait so you actually can’t build a game maker with unity? Boy that’s new to me I was actually considering making a mini 3d game maker myself.

I can’t imagine this being a competing product.

I can’t see why you couldn’t make a platform like scratch with it? If you allow users to be able to export the games and not just play within your environment then you might start to move into the competing clause.

In theory, you could make Unity, or something reasonably close to it, with Unity itself. A lot of the work would be done for you, and you’d just have to create thin wrappers around lots of Unity’s functionality.

Thank you for a quick reply…
I am new to whole IT… But hard working… being brave to make this sort of product. Please give some idea, resource to study, guidance. Please please…
I did not think It would at first…
Can I use normal C# stuff here inside unity.
Please help me.

Thank you very much guys for quick reply.

@squared55
I don’t think legality will be issue here. its just a form of game.

@Daniel
Please give me some detailed idea how would you go to solve the problem ? and organise everything ? Please… please…

@turkeypotpie
please explain a bit more… put me through direction.

I was working on some such thing at one point and asked Unity about it and they said you could just send it to them and they’d look at it and tell you whether it’s acceptable… if its a direct rip-off of capabilities, it’s a no no… but if you’re offering enough custom interface/features/higher level stuff then I don’t see why not. Especially if the kind of games it makes are a niche.

I was saying they have that competing product restriction because some things would be quite easy to copy. As long as Unity exposes an API for something, you could build your own UI around it and call it your own, even though it really isn’t.

@Plaban: That’s a bit vague to answer, can you be a little more specific?

@imaginaryhuman: I think you’re right, as long as you’re not doing some kind of 1-1 thing where you expose the whole api and let the user code in c#, you’ll probably be fine.

Good morning guys

Thanks for all your reply. I am not worried about legality. I am sure product I am building will not be conflicting with unity. no coding will be necessary on my version and no designing stuff… all provided for user. just drag and drop sort of game.

I need your help on guidance on technical area. How I can make this project a reality?
How can I let user create account and create game ?
How can user save, export and publish for other to play ?

Please please I need guidance to build the product.

Well, first off, which is better:

Assuming you’re fine to make the product, then get sued by Unity a year into it and lose all your time and money.

or

Asking Unity first.

As for how to do it - do you understand game development? If you’re asking basic questions about C#, then you aren’t ready to tackle something as complex as a game engine. Judging by your questions, you’re a LONG ways from being able to start your project.

An account would require a database connection, which means a basic back end in PHP or .net and understanding of SQL. Saving is ambiguous. You can write to a serialized file, use system.io to save in xml, or use a local sqlite database. There are other options as well, or you can write your own.

Nobody can really tell you which way is the best way because we don’t know what your ultimate goal is. However, if you’re dead set on doing this, I recommend:

Don’t try to ship a modified version of Unity as your own product. Instead, make game “templates” for the asset store. For example, an RPG template with all the controllers, save functionality, conversation system, etc already built into it. This way, someone could buy the uRPG template for $50 or whatever and essentially be able to drop their models into the scene, apply a handful of scripts, and go.

Then advertise your templates the same way you would your game engine, similar to how Tornado Twins push FPS Controller.

That being said, if you are new to programming, then this is shooting yourself in the foot. You really need to at least make a couple of games and actually learn efficient coding and how to use Unity before trying to sell that ability to other people.

Start with “City Builder” type tutorials, also you mention accounts and stuff, so im assuming you’re making an online game, if not than don’t do it, other than that “saving” is just writing/reading variable states to a file.
Go read up on database design and arrays, especially arrays and using them in loops im sure you will need a lot of that knowledge.

Sounds like you are new to Unity3D and game development in general. We will gladly help you, but we can’t teach you Unity. Unity has exhaustive section of learning material, both in video and text form. You should start there.

Yes, you can script Unity using C#, but you are limited to what the Movo framework supports. You should not learn “general” C# first and then go to Unity. Instead, pick it up along the way. Look at the examples that Unity themselve provide (see Asset Store → Free category).

To me it sounds like what you actually want to do is a “game kit” inside Unity, a la the Action Game Kit. You are allowed to do this, but not much more. For more examples, look in the Asset Store under: Editor Extensions → Game Toolkits.

If you want visual workflows without coding, you are looking at something like Playmaker. It is perfectly legitimate to declare Playmaker a requirement of your product. That would limit your target audience, but if this is academic work it wouldn’t matter.

Since a game kit is still working inside Unity, Unity would take care of the publishing side, you don’t have to do that. In terms of account creation scripts, there are countless examples on the Unity Asset Store. Also notice that “account creation” is rather vague. A offline account creation is obviously simpler to do, requiring not more than your average save/config file magic.

I’m pretty sure thats not what he was talking about.

Im pretty sure he wants to make something like Gmod, Little big planet or Project Spark, something where you can drag and drop stuff and make a “game” in 5 minutes.
That’s totally different from asset/template kit.

He said specifically that he wants users to be able to publish and then play games.

I take game to mean game, not level/mod/etc.

What he describes is like a template based game maker.

Thank you very much guys for taking the time to help me out…

@S3dition
I am good with database and php is not a problem. I studied java therefore chosen c#… now its seems I only can use what supported by unity API’s. Final product I want to make is giving users the tool to make and play game with out any technical knowledge and with out having to download any software as plan is to make it browser based. for education and training purposes. you can say visual learning.

@JovanD
Is this is planned to be online game. yes, I was thinking to go about making a role playing game type. I might be able to give users model and script in format of inventory system. but when they produce a game how can they save and publish and how other users can play it. Now publish game should have a list from where user can pick and play game. it would be nice to give users ability to edit and republish.

@Bradamante
Yes, I am new and learning as much as I can. reason I am asking question before going deep in unity system that I can get proper guidance on what I need and how should I go about it rather going worn direction and rework everything as the project is time limited by 4 months.Playmaker seems almost everything. It is online game development tool right ?

My proposed project is a visual game builder using unity.
use case:
You are a first aid trainer. you develop a a simple game with character, props and action (script) provided.
and instead of give people speech ask them to play the game. so, they can be more involve and learn more.
the game is online based user do not need to download any software. Like scratch.

Now, I am not hopping for finished product just want to develop a prototype. I need your guidance on how I can make it easiest way possible as I am new and I can develop it further after my MSc but time is very limited now. If you guys can tell me :

how I can solve this problems ? (suggestion)
what I need to learn ?
Possible where I can find them ?
If any feature is impossible to implement ? (then I have to change my proposal)

Thanks again

That’s pretty massive in scope. If you have CPR trainers and Drivers Ed Instructor, that’s an enormous amount of models, coding, physics, etc just for those two areas. If you’re familiar with php, sql, and java, then you should already know everything that’s involved (minus the graphical assets perhaps). Honestly, all you would be doing is the coding. Unity already has a drag and drop asset manager and web publisher. But getting the assets together so that all your customer has to do is drop from a library of models… that’s a lot of time right there, just in models alone.

Thanks for your reply.

Yes it big. But I am not going to provide everything for my Project. Just may be one or to use case. Very simple one. may be something like simple education game for kid. What i am after is to provide all those functionality. I know those but not too familiar with unity. learning though.

I am just trying to cut my learning process as I have to write a theirs on it as well. So, would learn what I must and needed right now. Please give me some idea where to start, what to learn and what techniques and and tricks will make it easier and quicker.

Thanks again