Unfortunately, the plugin doesn't support MultiMeshInstances yet. I once toyed around with a MultiMesh tool, but the performance gains that I was able to achieve were so minimal, that I temporarily dismissed my progress. My idea was to make an Open Source plugin for combining instances of the same mesh, that would work together with AssetPlacer.
CookieBadger
Creator of
Recent community posts
Unfortunately I cannot directly tell where your issue is, from that information. Any of the following might help you:
- Make sure you followed the installation steps carefully, especially the "build" part (https://cookiebadger.github.io/assetplacer-docs/installation.html). Notice the small build button next to the play button in Godot 4.2.2.
- If this does not help, remove the addon, but also remove the "mono" folder inside the ".godot" folder in your projects root directory. Then, add plugin again and build. It should work now.
- Otherwise, try the plugin in a new project, to see if the issue is related to your project and let me know your findings.
I hope this helps!
Ok, since this error is clearly not supposed to happen, may I ask you also tell me the version of .NET, and the contents of your .csproj file? I am not sure, but it may help to go into your project folder, go into the .godot folder and delete the "mono" folder inside. After that, try if recompiling fixes the issue. Please also check if there is only one assetplacer copy in your project, and that it is where it is supposed to be.
Hey WungielPolacz! The plugin itself should neither have too large of a performance footprint on your development nor should its use be encumbered much when using high-fidelity assets. What you have to take into account though, is that Godot itself (and other Engines as well) needs to be able to handle all assets that are used. If your scene would, for example, have a thousand realistic trees, that are just instanced as nodes (which the plugin does), you will eventually notice your speed tree to go down, and your frames drop, if you do not take any optimization measures (using LODs, editing with lower viewport resolution, etc.). Hence, if you place an asset that takes a few seconds to instance, than AssetPlacer will be as slow as Godot. If you had no problems using these high-fidelity assets in the quantities you need so far, AssetPlacer should handle them fine. One thing to note, however, is the size of libraries. The more assets, and the more complex they are, the longer loading their thumbnails will take. I recommend having no more than a hundred assets per library. As for surface placement, your objects have to include collisions, as of AssetPlacer 1.2.x.
Regarding the support and updates of the plugin, I can assure you that it will continue, and is in my professional plans for at least this and next year. You have to take into the account, that as of this year, I am still a university student, maintaining this project on the side, and I like to also do not-for-profit work, like contributing to the Engine (I recently worked on Godot's AnimationPlayer) and making free plugins.
I hope this clarifies your doubts, and I could maybe convince you to give AssetPlacer a try! If you have any more questions, please go ahead.
~ CookieBadger
Hello Banana!
Of course I could try to highlight all the features, but if my plugin is worth your money is ultimately your decision :)
The last update was a compatibility, but I do plan to add more features in the future (many people have requested scattering, for example).
I can't guarantee when these are going to be implemented, but I hope to make some updates this year for sure - just know that I'm a student doing this on the side (and the time around new year's is especially hard with assignments and exams). Actually the plugin was an artifact of my Bachelor's Thesis, but I kept improving and adding to it, until I was confident enough to sell it.
Rest assured, the plugin as is will be made compatible with all Godot 4.x versions in the near future.
I hope to make more video content as well, I just didn't find time - also the added stuff was not as substantial to justify the effort, but in the meantime you can see it in action a bit in a video a friend made:
https://mastodon.art/@vukbo/111700043306101099
I hope this gave you some insights, if you have any other questions, I'll be here for you ^^
Cheers,
Cookie
Hello DistilledNuance!
Thanks for your comments, I take them into account. First of all, you are absolutely correct about the mono version. Then, about the filter system, I'm happy to let you know, that I'll include a basic one in the next version. As to the randomization, I hear this a lot, and so once I'll have the resources available, I'll think of how to implement one.
Best,
Hello flow!
I'm sorry for the late reply. I think you can fix the error by opening the PreviewRenderingViewport script, replacing line 18 with
[Export] private Godot.Environment _environment;
and then removing line 11, that says
using Environment = Godot.Environment;
Don't forget to save and press the "Build" button in the top right corner of Godot afterwards.
Please let me know, if this fixed your issue. I will then include this fix in the next version accordingly.
Hey Taobis, great to hear you got it working! Indeed, pressing the build button should do exactly that, although the button often does not show up the first time you open the project, so thanks for the tip of going through Project -> Tools.
I'm very happy that you like the tool, and I wish you all the best for your creations. I will definitely support it as long as I can.
Cheers
Hey!
What you are asking for is basically a Scattering tool. I don't know if I will ever integrate one, although it is frequently asked for, reason being that many free alternatives exist, such as SpatialGardener, Zylann's Scatter, ProtonScatter, or the built-in MultiMesh "populate surface" tool. At the moment, I can't achieve the sophistication of SpatialGardener if I tried tried to integrate something similar, so I advocate for using a different tool, instead of waiting for AssetPlacer to provide the functionality.
I hope this helps!
Hay Raffaele!
At first, I'd like to thank you for your feedback. You make valid points, and I'm sorry not everything is as intuitive for you as you would expect.
If I may respond to some of your comments:
- I really hear you about the Mono version. This decision was made a long time before I decided to sell the plugin, and if I could go back, I might decide differently now.
- I have good news about the libraries, you can change their location in the Project Settings (Enable Advanced Settings -> Asset Placer -> Settings), exactly for the purpose of version control. You will still have to reconfigure your placement settings across devices, but at least the work of organizing your assets won't double.
- Filtering might become available in a future version. You are in fact the first person to specifically ask for it, but I had already had it included in my mockups for a long time.
- You can favorite your assets in the built-in FileSystem, or create a separate library for your favorites. Favoriting within a library is something I will think about.
- About the placement: I think this is a matter of getting used to Godot's gizmos. I am not trying to just duplicate Blender's functionality here, and did not want to introduce a different system that is prone to more bugs.
I can understand your complaint about the price tag - we all have a view on what is worth how much of our money, and how much our work is worth, so it is normal that our views might differ.
I hope my response can relief some of your frustration. I wish you best luck for your creations!
~ CookieBadger
Dear YuriLavs,
the plugin (or rather its code) needs to be compiled before the Engine can understand and use it. Please refer to the documentation (step 3-5 here: https://cookiebadger.github.io/assetplacer-docs/installation.html) to see how.
Best luck for your creations!
Hey Gromnax!
That's a valid question, but don't worry. You're free to sell the game, or to make a commercial project using this plugin. The clause is mostly for reselling, because stuff like the scam Godot asset place exist
In any case, the plan is to make the license more permissive in the future.
Best,
CookieBadger
Random crashes with no scripts? I think I only ever experienced that in the alpha/beta builds, so I really hope they are fixed by now, or that remaining issues get fixed.
As to the GDScript equivalent, no plans exist right now, since I simply don't have the capacity to do so, maybe someday in the future I will though.
Hello Golden-404!
Since I don't know what you work on, I cannot tell you if you should get it, you need to know for yourself!
The AssetPlacer provides you two major advantages: it helps you organize your assets, and place them efficiently.
Organizing Assets:
Godot 4 disposes over a systems that would usually handle this: the FileSystem. You search for your assets there, organize them in folders, and drag and drop them onto the 3D viewport to place them. However, this is extremely inefficient, and that's why I decided to make this plugin! At first, the FileSystem does not allow you to filter in any way, so it always displays Scripts, Models, Scenes, Sprites, Textures, ... I think you understand the problem. Then, the way you organize your assets, depends on the location of the files. Moving files around can be extremely slow and thus you want to avoid doing this in the process of designing levels. The Asset placer allows you to create libraries (=collections) of your assets, to group them, independent of the file location. An asset can be part of any amount of collections. Then, the asset placer displays proper previews of your 3D assets. Godot only does so for .obj models (requires reimport), and for scene files (like a screenshot of the last time you saved, with gizmos and everything in the way), and both of these are usually unsatisfying.
Placing Assets:
The second large advantage of the AssetPlacer is, that you can place assets much more efficiently. It allows the use of grid snapping, which does not exist in Godot by default (only incremental snapping), which makes it very useful for modular assets. Also, you can place assets on terrain (=physics surfaces), which saves you a lot of time, precisely aligning your assets, and gives you a lot of handy shortcuts, for example for quick 90 degree rotations or axis flipping, which speeds up level design a lot.
This way, the AssetPlacer can also be seen as an improved version of Godot's GridMap, but as I explained, it is much more than that. When I tested it with several level designers (and this was in the early stages of development), they could build the level I told them to over 30% faster on average. So, as the Nr 1 reason why you should get it, I would say, if you do anything in 3D environments, this can make your life a lot easier, if you commit to using it.
All the best for your projects,
- Emil (CookieBadger)