Thoughts on PlayCanvas from a Veteran Unity Dev

After 20 hrs learning PlayCanvas I have some thoughts. This comes as a 20 year game development veteran (Recently 8 yrs with Unity).

OVERALL

  • Fantastic product!!
  • Best features: Browser based user-experience (RUNTIME)
  • Best features: Browser based developer-experience (EDITOR)

SUGGESTIONS: OVERALL

  1. Documentation pages often link to “EDITOR” (for a developer) and “PROJECT” (for runtime as a user) which I think are ambiguous names. I suggest instead to use “HOME” (for the projects home), “EDIT” (for the developer) and “RUN” (for the end user experience.

SUGGESTIONS: EDITOR

  1. Change class to “SpriteAsset” for consistency
  2. Change all variables on an entity to the full class name or type. So…use “entity.spriteComponent” not “entity.sprite” and use “sprite.spriteAssetId” not “sprite.spriteAsset” for accuracy.
  3. Mouse drag and/or mouse wheel to change numeric values in the editor (including attributes)
  4. Clickable browser console log text (e.g. " CollisionClickable.js:12:13" which opens the existing PC editor window and highlights the related code.

QUESTIONS

  1. Why is my custom script (e.g. “Hero”) a CHILD of a Script Component instead of a component itself? (e.g. more like unity). This would give parity between custom scripts (e.g. “Hero”) and 1st party scripts like “Light”. Currently as developers our code is systematically and perceptually “less powerful” than 1st party code. That’s not fun :slight_smile:
  2. Why is Tween a library I must find and add myself as a file and ammo is a module that I can click to add. Why not have consistency for all “external” party libraries?

Thanks again!

8 Likes

I also have some problems with this. When I get an error and I click on it, a new tab opens. The result is that I continue to work there unnoticed. It goes wrong if I want to undo recent changes before opening the new tab.

1 Like

I agree. I would choose to only mention a project link on the documentation page, because from there the users can enter the editor or play mode. (An alternative is to mention an editor and play link instead of editor and project link).

1 Like

Thanks for the feedback!

While it is unlikely we would make any major architectural changes to the engine, we can definitely look at the usability issues that you have come across:

Just to be sure we are on the same page, can you give some examples of where this happens please?

Yep, definitely sorely needed :sob:

Are we talking about the console logs in the browser devtools or the console that pops up at the bottom of the window on the launch page?

Architecturally, the engine is based on ECS where the systems update the data rather than the components updating themselves. At the moment, user defined ScriptTypes are updated as part of Script System in the update loop.

Honestly, we should be adding more of our ‘extensions’ to the ‘store’/page so users can pull them easily into their projects.

In my case the console that pops up at the bottom of the window on the launch page.

Personally I would like to go to the already active script tab, but I don’t know if that is technically possible.

I noticed that it only opens a new tab the first time, then uses that tab always, if you keep it. I agree though, perhaps the very first use could utilize the already opened tab.

1 Like

Ah I hadn’t noticed that yet. Perhaps it can then be optimized so that it also goes well the first time.

Oke never mind! I think it will be disadvantageous because after clicking on the link the tap refreshes and I lose my undo ability! :sweat_smile:

Ahhhhhh. Now I see. The Project link intention was to allow users to get to page where they can watch, fork the project. I have ponder on this :thinking:

It’s a tricky thing with the browser tabs as it relies on the browser/user opening the pages from other certain pages to maintain the link. This has more details: https://www.w3schools.com/tags/att_a_target.asp (in particlar, framename)

Then keep the project link and remove the editor link, because you can already achieve everything with the project link. It does take an extra step for the user to reach the editor, but I think it is less confusing.

Yes, I already had such a suspicion. It is a pity that the undo ability (CTRL + Z) is lost. Since there is an error, chances are I want to use that ability.